--- id: juju version: "3.6.1.3" license: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) license_treatment: permissive maintenance: abandoned --- # juju — Python library for Juju License: permissive · Maintenance: abandoned · Downloads: 233.2K/mo ## What it is and what it does Juju is a Python library that wraps the Juju orchestration platform's WebSocket API, allowing you to programmatically control application deployment, scaling, and lifecycle management. It uses asyncio for non-blocking I/O and provides an object-oriented layer over the underlying WebSocket bindings, exposing familiar operations like Model.deploy(), Application.add_unit(), and model status queries. The library is designed to work with Juju controllers and charms—pre-packaged application definitions—and supports Python 3.8 through 3.13. The package depends on 13 runtime libraries including websockets for communication, paramiko for SSH, kubernetes for Kubernetes integration, hvac for HashiCorp Vault, and several utility packages for YAML parsing, type inspection, and cryptography. It is intended for developers building automation, CI/CD pipelines, or infrastructure-as-code tooling on top of Juju. The library's WebSocket bindings are generated from Juju's Go codebase to ensure full API coverage. Use it for: - Automate application deployment to Juju models from Python scripts or CI/CD pipelines. - Build infrastructure-as-code tools that programmatically manage charm deployments and scaling. - Monitor and query the status of deployed applications and units in a Juju model. - Integrate Juju orchestration into larger Python automation frameworks. - Develop custom operators or controllers that react to model state changes asynchronously. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. A Python library providing asynchronous bindings to the Juju orchestration platform, enabling programmatic deployment and management of applications and infrastructure through an object-oriented API. Yes-with-conditions. The package is permissively licensed, has low install friction, and provides a complete async Python interface to Juju. However, the repository is archived and abandoned, with no commits since 2026-07-22 and no releases in 399 days. Install only if you are committed to maintaining a fork or if your Juju version and use case are stable and unlikely to require upstream fixes. Not recommended for new projects expecting ongoing upstream support. ## Install pip install juju uv add juju poetry add juju ## Installing juju Before you install: Low install friction with a pure-Python wheel. However, the repository is archived and marked abandoned as of the fact sheet date, with the last commit on 2026-07-22. The package requires an already-bootstrapped Juju controller to function, which is a runtime prerequisite rather than an install-time one. License in practice: Licensed under Apache License 2.0 (permissive). You may use, modify, and distribute the package freely provided you include license notices and state changes; no restrictions on commercial use. Quickstart: pip install juju import asyncio from juju.model import Model async def deploy(): model = Model() await model.connect() app = await model.deploy('ubuntu', application_name='my-ubuntu') await model.disconnect() asyncio.run(deploy()) Requires an already-bootstrapped Juju controller to connect to; uses asyncio, so code must run in an async context. Verify before relying: - Whether the archived repository status means the package will receive security updates or bug fixes going forward. - Compatibility with Juju versions beyond 3.6 and Python versions beyond 3.13. - Whether the 399 days since last release indicates active maintenance or if the package is truly end-of-life. ## Package facts - License: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) - Python support: supports_current - Install friction: low - Maintenance: abandoned - Downloads: 233.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags juju orchestration python, juju model deployment api, async juju client library, charm deployment automation, juju controller management, infrastructure as code juju, application lifecycle management, orchestration, async-first, infrastructure-automation [View on SkillFed](https://skillfed.io/packages/juju) · [View on PyPI](https://pypi.org/project/juju/)