devpi-server: reliable private and pypi.python.org caching server
Project description
devpi-server: consistent pypi.python.org cache, github-style internal indexes
IRC: #devpi on freenode, mailing list
compatibility: {win,unix}-py{26,27,34}
consistent robust pypi-cache
You can point pip or easy_install to the root/pypi/+simple/ index, serving as a self-updating transparent cache for pypi-hosted and external packages. Cache-invalidation uses the latest and greatest PyPI protocols. The cache index continues to serve when offline and will resume cache-updates once network is available.
github-style indexes
Each user can have multiple indexes and upload packages and docs via standard setup.py invocations. Users, indexes (and soon projects and releases) are manipulaed through a RESTful HTTP API.
index inheritance
Each index can be configured to merge in other indexes so that it serves both its uploads and all releases from other index(es). For example, an index using root/pypi as a parent is a good place to test out a release candidate before you push it to PyPI.
good defaults and easy deployment
Get started easily and create a permanent devpi-server deployment including pre-configured templates for nginx and cron.
separate tool for Packaging/Testing activities
The complimentary devpi-client tool helps to manage users, indexes, logins and typical setup.py-based upload and installation workflows.
See http://doc.devpi.net for getting started and documentation.
Changelog
2.5.0 (2015-11-19)
fix a regression of 2.3.0 which would cause many write-transactions for mirrored simple-page entries that didn’t change. Previous to the fix, accesses to mirrored simple pages will result in a new write-transaction every 30 minutes if the page is accessed which is likely on a somewhat busy site. If you running with replicas it is recommended to do an an export/import cycle to remove all the unneccessary writes that were produced since devpi-server-2.3.0. They delay the setup of new replicas considerably.
add info about pypi_whitelist on simple page when root/pypi is blocked for a project.
replica simple-page serving will not unneccessarily wait for new simple-page entries to arrive at the replication side if the master does not return any changes in the initial simple-page request. Previously a replica would wait for the replication-thread to catch up even if no links changed.
fix setup.py to work on py34 and with LANG=”C” environments. Thanks Jason R. Coombs.
fix issue284: allow users who are listed in acl_upload to delete packages
2.4.0 (2015-11-11)
NOTE: devpi-server-2.4 is compatible to data from devpi-server-2.3 but not the other way round. Once you run devpi-server-2.4 you can not go back. It’s always a good idea to make a backup before trying a new version :)
NOTE: if you use --logger-cfg with .yaml files you will need to install pyyaml yourself as devpi-server-2.4 dropped it as a direct dependency as it does not install for win32/python3.5 and is not needed for devpi-server operations except for logging configuration. Specifying a *.json file always works.
add timeout to replica requests
fix issue275: improve error message when a serverdir exists but has no version
improve testing mechanics and name normalization related to storing doczips
refine keyfs to provide lazy deep readonly-views for dict/set/list/tuple types by default. This introduces safety because users (including plugins) of keyfs-values can only write/modify a value by explicitly getting it with readonly=False (thereby deep copying it) and setting it with the transaction. It also allows to avoid unnecessary copy-operations when just reading values.
fix issue283: pypi cache didn’t work for replicas.
performance improvements for simple pages with lots of releases. this also changed the db layout of the caching from pypi.python.org mirrors but will seamlessly work on older data, see NOTE at top.
add “–profile-requests=NUM” option which turns on per-request profiling and will print out after NUM requests are executed and then restart profiling.
fix tests for pypy. We officially support pypy now.
2.3.1 (2015-09-14)
fix issue272: require devpi-common >= 2.0.6
recognize newly registered PyPI projects, now that we don’t watch the PyPI changelog anymore
2.3.0 (2015-09-10)
switched to semantic versioning. Only major revisions will ever require an export/import cycle.
fix issue260: Log identical upload message on level “info”
Log upload trigger message on level “warn”
The PyPI changelog isn’t watched for changes anymore. Instead we cache release data for 30 minutes, this can be adjusted with the --mirror-cache-expiry option.
fix issue251: Require and validate the “X-DEVPI-SERIAL” from master in replica thread
fix issue258: fix FileReplicationError representation for proper logging
fix issue256: if a project removes all releases from pypi or the project is deleted on pypi, we get a 404 back. In that case we now return an empty list of releases instead of returning an UpstreamError.
Change nginx template to serve HEAD in addition to GET requests of files directly instead of proxying to devpi-server
make keyfs cache size configurable via “–keyfs-cache-size” option and increase the default size to improve performance for installations with many writes
2.2.2 (2015-07-09)
make replica thread more robust by catching more exceptions
Remove duplicates in plugin version info
track timestamps for event processing and replication and expose in /+status
implement devpiweb_get_status_info hook for devpi-web >= 2.4.0 status messages
UPGRADE NOTE: if devpi-web is installed, you have to request application/json for /+status, or you might get a html page.
address issue246: refuse uploading release files if they do not contain the version that was transferred with the metadata of the upload request.
fix issue248: prevent change of index type after creation
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
File details
Details for the file devpi-server-2.5.0.tar.gz
.
File metadata
- Download URL: devpi-server-2.5.0.tar.gz
- Upload date:
- Size: 131.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 156ecdf54e37f7f18b74a899405c1fe6fabbd089f1dfd61ea2783ae005eacc31 |
|
MD5 | 80deb10d73a0bd8d9b27267a82765c80 |
|
BLAKE2b-256 | a8859fa5ba930126e29097c0f3e57a870cd9d64b1b716c63e2013f563c5d862c |
File details
Details for the file devpi_server-2.5.0-py2.py3-none-any.whl
.
File metadata
- Download URL: devpi_server-2.5.0-py2.py3-none-any.whl
- Upload date:
- Size: 142.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da6e588c8322ac69e2aae59a60b344e3c755ae5784e096fc7a455a024312827c |
|
MD5 | fba77f89f59989952928347697afd222 |
|
BLAKE2b-256 | c65e92cf827d33bcf243c29e7a226fa961b0679ef79ee4119d495969b69c849c |