devpi: PyPI server and packaging/testing/release tool¶
The MIT-licensed devpi system features a powerful PyPI-compatible server and a complimentary command line tool to drive packaging, testing and release activities with Python. Main features and usage scenarios:
- fast PyPI mirror: use a local self-updating pypi.python.org
caching mirror which works with
easy_install. After an initial cache-fill it can work off-line and will re-synchronize when you get online again.
- uploading, testing and staging: upload Python archives and documentation to private indexes. Trigger testing of your uploaded release files with tox and record them with each release file. When ready push your successfully tested release files and documentation to another index (staging). You can also push a release to an external index such as https://pypi.python.org .
- index inheritance: Each index can inherit packages from another
index, including the pypi cache
root/pypi. This allows to have development indexes that also contain all releases from a production index. All privately uploaded packages will by default inhibit lookups from pypi, allowing to stay safe from an attacker who could otherwise upload malicious release files to the public PyPI index.
- web interface and search: (New with 2.0) By installing the Web interface and search plugin package you can navigate indexes and search through release metadata and documentation.
- replication: (new with 2.0) Keep one or more real-time replica to speed up access, keep a failover server and to distribute the devpi system across your organisation. (new with 2.1) json status information about master/replica sites.
- importing/exporting: To upgrade to a newer version, devpi-server supports exporting server state from an old version and importing that from a new devpi-server version.
- Jenkins integration: You can set a per-index Jenkins trigger for automatically tox-testing any uploaded release file and query releases for their test results.
To learn more, checkout our quickstart and other docs.
Tutorials and Documentation¶
- Quickstart: running a pypi mirror on your laptop
- Quickstart: uploading, testing, pushing releases
- Quickstart: permanent install on server/laptop
- Web interface and search
- devpi-server replication
- devpi-server plugin hooks (experimental)
- devpi-web plugin hooks (experimental)
- Project status, roadmap and contact
- devpi user manual
- release announcements
- Developers’ guide to devpi