python-jenkins
Python bindings for the remote Jenkins API
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 on this page — 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
python-jenkins on PyPI
pip
pip install python-jenkinsuv
uv add python-jenkinspoetry
poetry add python-jenkinsInstalling 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 | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pbr, multi-key-dict, requests |
| Maintenance | aging — 376 days since the last release |
| First released | |
| Downloads | 8,732,372/month — #1,598 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_jenkins-1.8.3-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
jenkinsapiProvides a Python wrapper around Jenkins' REST…
permissive · top 5,000 on PyPI
api4jenkinsA Python client library for the Jenkins REST…
permissive · top 15,000 on PyPI
PaverPaver is a Python-based task automation and…
permissive · top 15,000 on PyPI
checkmk-dev-toolsProvides CLI tools for Checkmk developers to…
unclear · top 15,000 on PyPI
apache-airflow-providers-jenkinsIntegrates Jenkins CI/CD systems into Apache…
permissive · top 15,000 on PyPI
python-novaclientPython bindings to the OpenStack Compute API,…
permissive · top 15,000 on PyPI
ppftppft executes Python functions in parallel…
permissive · top 5,000 on PyPI
APSchedulerAPScheduler lets you schedule Python code to…
permissive · top 1,000 on PyPI
databricksapiA Python wrapper for the Databricks REST API…
permissive · top 15,000 on PyPI
scheduleSchedule provides a human-friendly API for…
permissive · top 5,000 on PyPI