Jubilant

Jubilant is a Python library that wraps the Juju CLI, primarily for use in charm integration tests.

When writing charm integration tests, use Jubilant with pytest-jubilant. See How to write integration tests for a charm in the Ops documentation. Ops also has several demo charms that you can experiment with. The demo charms use Jubilant in their integration tests.

Jubilant’s methods map 1:1 to Juju CLI commands and have a type-annotated, Pythonic interface:

You should switch to Jubilant if your integration tests currently use pytest-operator. Jubilant avoids some of the pain points of python-libjuju, such as websocket failures and having to use async.

In this documentation

This documentation uses the Diátaxis documentation structure.

Releases

Jubilant releases are tracked on GitHub, and use semantic versioning. To get notified when there’s a new release, watch the Jubilant repository.

Project and community

Jubilant is a member of the Ubuntu family. It’s an open source project (Apache license) that warmly welcomes community contributions, suggestions, fixes and constructive feedback.

For support, join Charm Development on Matrix. You’ll be able to chat with the maintainers of Jubilant (the Canonical Charm Tech team) and a friendly community of charm developers!

To follow along with updates and tips about charm development, join our Discourse forum.