Juju CLI wrapper for charm integration testing
Project description
Jubilant, the joyful library for integration-testing Juju charms
Jubilant is a Python library that wraps the Juju CLI for use in charm integration tests. It provides methods that map 1:1 to Juju CLI commands, but with a type-annotated, Pythonic interface.
It was written to supersede the use of pytest-operator and python-libjuju for charm integration tests. Python-libjuju in particular has a complex and confusing API, and its use of async is unnecessary for testing.
NOTE: Jubilant is in very early stages of development. This is pre-alpha code. Our intention is to release a 1.0.0 version early to mid 2025.
Design goals
- Match the Juju CLI. We try to ensure methods, argument names, and response field names match the Juju CLI and its responses, with minor exceptions (such as "application" being shortened to "app" in
Statusfields). - Simple API. Higher-level operations will be in helpers and fixtures, not the main
Jujuclass. - No
async. This was a "feature" of python-libjuju that isn't desired for integration tests. - Support Juju 3 and 4. The Juju team is guaranteeing CLI arguments and
--format=jsonresponses won't change between Juju 3.x and 4.x. When Juju 5.x arrives and changes the CLI, we'll keep the Jubilant API simple and 1:1 with the 5.x CLI, but will consider adding ajubilant.compatlayer to avoid tests have to manually work around differences between 4.x and 5.x.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jubilant-1.0.0b1.tar.gz.
File metadata
- Download URL: jubilant-1.0.0b1.tar.gz
- Upload date:
- Size: 68.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1e68c0583ca4e421ae95c7408c2f5a71d348c29360cc89412c83973d4535445
|
|
| MD5 |
42a7a8c3d57edc4c4fa0f8bb90b8caca
|
|
| BLAKE2b-256 |
587309d3a27de8ac609e0530355499852cebdd8fe460af5b5f45e52585db3680
|
File details
Details for the file jubilant-1.0.0b1-py3-none-any.whl.
File metadata
- Download URL: jubilant-1.0.0b1-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
674bed08b7435cf6498d0bd97d35b4e950bc52bdd64f9f33d45b8d2898ba0dd1
|
|
| MD5 |
82ab66db489344ed30e133833256cbd2
|
|
| BLAKE2b-256 |
05f3f62f10a06611e3abb7486618de954ad04651c942b24ec295c0ee20cffe27
|