--- id: python-jenkins version: "1.8.3" license: BSD license_treatment: permissive maintenance: aging --- # python-jenkins — Python bindings for the remote Jenkins API License: permissive · Maintenance: aging · Downloads: 8.7M/mo ## What it is and what it does Python-jenkins is a client library that wraps the Jenkins REST API, translating low-level HTTP calls into a more natural Python interface. It lets you programmatically create, copy, delete, and update jobs; manage nodes and views; trigger builds; and query server state—all without hand-crafting REST requests. The package depends on requests for HTTP communication, pbr for versioning, and multi-key-dict for internal data structures. It is typically used to automate Jenkins administration tasks, integrate Jenkins into larger deployment pipelines, or build custom tooling around a Jenkins instance. The aging maintenance status (376 days since last release) means the package is stable but not actively developed; it remains suitable for standard Jenkins operations on supported Python versions (3.8, 3.9, 3.10, 3.11, 3.12) but may lag behind new Jenkins features or API changes. Use it for: - Automate job creation and configuration across multiple Jenkins instances as part of infrastructure-as-code workflows. - Trigger builds and retrieve build results programmatically from CI/CD orchestration scripts. - Manage Jenkins nodes (agents) dynamically—enable, disable, or provision them in response to workload changes. - Bulk delete or archive old builds and jobs to maintain Jenkins server health and disk usage. - Query Jenkins for plugin versions, server status, and running builds to feed monitoring or alerting systems. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Python wrapper for the Jenkins REST API that provides a higher-level, pythonic interface to control Jenkins servers and automate common administration tasks. Yes, if you need to automate Jenkins administration or integrate Jenkins into Python scripts. The low install friction, permissive license, and broad Python version support make it straightforward to adopt. However, the aging maintenance status (376 days since last release) means you should verify compatibility with your specific Jenkins version and be prepared to maintain patches locally if new Jenkins API changes break functionality. ## Install pip install python-jenkins uv add python-jenkins poetry add python-jenkins ## Installing python-jenkins Before you install: Low install friction with three lightweight runtime dependencies (pbr, multi-key-dict, requests). Maintenance status is aging—last release was 376 days ago—so expect slower response to issues, though the package remains functional for its core use case. License in practice: BSD license is permissive, allowing commercial and private use with minimal restrictions; suitable for most projects. Quickstart: pip install python-jenkins import jenkins server = jenkins.Jenkins('http://jenkins-server', username='user', password='token') jobs = server.get_jobs() Requires a running Jenkins server accessible at the specified URL; authentication credentials (username and API token or password) are needed. Verify before relying: - Whether the package works reliably with recent Jenkins server versions and their API changes. - Current state of the Gerrit-based contribution workflow and whether patches are still being reviewed. - Specific Python version requirements, as requires_python is unspecified in the metadata. ## Package facts - License: BSD (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 8.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags jenkins rest api python, jenkins automation, jenkins job management, jenkins server control, jenkins ci integration, jenkins build automation, jenkins administration, ci-cd, jenkins, automation [View on SkillFed](https://skillfed.io/packages/python-jenkins) · [View on PyPI](https://pypi.org/project/python-jenkins/)