Jubilant 1.0.0: the joyful library for integration-testing Juju charms

The Charm Tech team is proud to announce the release of Jubilant 1.0.0!

Jubilant, as we like to say, is the joyful library for writing charm integration tests. It wraps the Juju CLI, providing methods that map 1:1 to Juju CLI commands, but with a type-annotated, Pythonic interface.

You should consider switching to Jubilant if your charm’s integration tests currently use pytest-operator (and they probably do). Jubilant has an API you’ll pick up quickly, and it avoids some of the pain points of python-libjuju, such as websocket failures and having to use async. Read our design goals.

The 1.0.0 release has two minor breaking changes (see the release notes) which will only affect you if you’re using config or model_config with None values to reset keys, or if you’re using Juju.offer. The 1.x API is now considered stable, and we will try our best to avoid making breaking changes to the API after this point.

This release also adds a few small features:

We’ve put up a nice documentation website, complete with a guide for how to migrate from pytest-operator.

If you have questions, feedback, or feature suggestions, please talk to us on the “Charm Development” channel on Matrix, or open an issue.

5 Likes