Skip to main content

The main tool to build, upload, and develop in general the Juju charms.

Project description

What is charmcraft?

Charmcraft provides a streamlined, powerful, opinionated, and flexible tool to develop, package, and manage the lifecycle of Juju charm publication, focused particularly on charms written within the Operator Framework.

It is still in heavy, initial development and so a lot is still To Be Done. However it is already useful, and already simplifies the life of the charmer.

What can it do for me today?

It can build your charm! No need for git submodules nor pesky hook symlinks, you can concentrate on your charm being pure python code (plus the required juju metadata), and charmcraft will fill in the boring bits for you.

For example, given a charm that consists exclusively of

my-charm
├── metadata.yaml
├── requirements.txt
└── src/
    └── charm.py

(and assuming ops is in requirements.txt), then running charmcraft build will produce a charm that looks like

my-charm
├── dispatch
├── hooks
│   ├── install -> ../dispatch
│   ├── start -> ../dispatch
│   └── upgrade-charm -> ../dispatch
├── metadata.yaml
├── src/
│   └── charm.py
└── venv/
    ├── ops/
    │   ├── ...
    └── yaml/
        └── ...

which should be all you need to juju deploy the charm!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

charmcraft-0.3.0.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

charmcraft-0.3.0-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

Details for the file charmcraft-0.3.0.tar.gz.

File metadata

  • Download URL: charmcraft-0.3.0.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for charmcraft-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8ac9675664e5c50ac15ea40ccb097ef074f996a4bded903e3cdeabdd7238ab0f
MD5 17231188f4a92ca5fc8f7f5f5a1e8d52
BLAKE2b-256 38c56ee58bd97e9dd805f359ebfc0863c589517cf4d8c21b39e565c41d715aed

See more details on using hashes here.

File details

Details for the file charmcraft-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: charmcraft-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 52.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for charmcraft-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84e9c9a77651aabb50bfdeb10b8697ced7035bd3ede1d5ed35879d7e731542f8
MD5 716c82a6ac8cb9b2121828826bdf3809
BLAKE2b-256 68f95b2b8f0c66d03edd5405a348dcc2b553f87d8c2b080dc60cde9982c8a38c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page