# Install charmcraft with Homebrew

Tool to build charms and publish them on Charmhub. Version 4.3.0 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:charmcraft
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install charmcraft
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:charmcraft
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/charmcraft>
- **Version:** 4.3.0
- **Source summary:** Tool to build charms and publish them on Charmhub
- **Homepage:** <https://charmhub.io>
- **Repository:** <https://github.com/canonical/charmcraft>
- **Upstream docs:** <https://documentation.ubuntu.com/charmcraft/stable>
- **License:** Apache-2.0
- **Source archive:** <https://files.pythonhosted.org/packages/5f/42/70ca3f5a4337f80b555de3355876de64869c84f8fcd927d78431b9252f20/charmcraft-4.3.0.tar.gz>
- **Last updated:** 2026-06-25T15:45:55Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- charmcraft (cli)
- charmcraft (alias)

## Dependencies

- certifi
- cryptography
- libsodium
- libyaml
- pydantic
- pygit2
- python@3.14
- rpds-py

## Uses from macOS

- libxml2
- libxslt

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.3.0
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://charmhub.io
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Charmcraft is Canonical's command-line tool for creating, packaging, and publishing charms, the operator packages used by Juju. In package-manager terms it is the build-and-release client for the Charmhub/Juju ecosystem rather than a general-purpose language package manager.

### Project history

The upstream GitHub repository was created in April 2020, and its README describes Charmcraft as the tool for initializing charm projects, packing charms, registering names, uploading revisions, and releasing them through Charmhub. GitHub release metadata shows the first public release, 0.1.0, published in May 2020; current releases are in the 4.x line.

### Adoption history

Charmcraft adoption follows Juju and Charmhub adoption: developers who build charmed operators use it to turn operator source trees into distributable charm artifacts. The README says the recommended Linux installation is the Snap package, while the input package-manager facts show a Homebrew formula for macOS users.

### How it is used

Typical use starts with `charmcraft init`, then `charmcraft pack` to build, `charmcraft register` to reserve a Charmhub name, and `charmcraft upload` to publish revisions. The documented `charmcraft.yaml` file declares project metadata consumed by Charmcraft.

### Why package nerds care

Charmcraft matters to package nerds because it is an ecosystem-specific packaging frontend: it bridges source trees, declared package metadata, build isolation, and a central registry for Juju operators. It is also a Canonical example of packaging tooling aligned with Snap distribution and Ubuntu documentation.

### Timeline

- 2020-04: Upstream GitHub repository created.
- 2020-05: First public GitHub release, 0.1.0.
- 2026-06: Upstream GitHub release metadata lists Charmcraft 4.3.0.

### Related projects

- Juju is the orchestration system whose operators are packaged as charms.
- Charmhub is the publishing and discovery service targeted by Charmcraft commands.
- Snapcraft is adjacent Canonical packaging tooling; Charmcraft's README recommends the Snap package on Linux.

### Sources

- <https://github.com/canonical/charmcraft>
- <https://api.github.com/repos/canonical/charmcraft>
- <https://api.github.com/repos/canonical/charmcraft/releases>
- <https://documentation.ubuntu.com/charmcraft/stable/reference/files/charmcraft-yaml-file/>


## Security Notes

No matching local secret-handling manifest was found for charmcraft. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./charmcraft.yaml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** charmcraft
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Package publisher tools](https://www.automicvault.com/pkg/package-publishers/) - Belongs to a package publishing or registry command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [charm](https://www.automicvault.com/pkg/brew/charm/) - Shares av.db curated category or tags: charms, cli, developer-tools, juju.
- [charm-tools](https://www.automicvault.com/pkg/brew/charm-tools/) - Shares av.db curated category or tags: charms, cli, developer-tools, juju.
- [abi3audit](https://www.automicvault.com/pkg/brew/abi3audit/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [cargo-bundle](https://www.automicvault.com/pkg/brew/cargo-bundle/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [create-dmg](https://www.automicvault.com/pkg/brew/create-dmg/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [flit](https://www.automicvault.com/pkg/brew/flit/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [hpack](https://www.automicvault.com/pkg/brew/hpack/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [makepkg](https://www.automicvault.com/pkg/brew/makepkg/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [snapcraft](https://www.automicvault.com/pkg/brew/snapcraft/) - Both packages touch the same language runtime or ecosystem. Shared terms: build, certifi, cli, cryptography, developer.
- [fastmcp](https://www.automicvault.com/pkg/brew/fastmcp/) - Both packages touch the same language runtime or ecosystem. Shared terms: build, certifi, cli, cryptography, developer.

## Combined YAML source

View the package source record on GitHub. [combined/charmcraft.yml](https://github.com/automic-vault/db/blob/main/combined/charmcraft.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
