devpi-server: reliable private and pypi.org caching server
Project description
devpi-server: pypi server for caching and private indexes
IRC: #devpi on freenode, mailing list
compatibility: {win,unix}-py{27,34,35,36,py}
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.
user specific indexes
Each user (which can represent a person or a project, team) can have multiple indexes and upload packages and docs via standard setup.py invocations command. Users and indexes can be manipulated 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 complementary devpi-client tool helps to manage users, indexes, logins and typical setup.py-based upload and installation workflows.
See https://doc.devpi.net for getting started and documentation.
Changelog
4.7.1 (2018-09-10)
Bug Fixes
Fix missing releases in simple pages for data from previous devpi-server versions.
Fixed key error ‘requires_python’ for data from previous devpi-server versions.
4.7.0 (2018-09-08)
Deprecations and Removals
Deprecated DEVPI_SERVERDIR environment variable in favor of DEVPISERVER_SERVERDIR to be consistent with the other option overwrites.
Features
fix #502: add support for YAML config files.
environment variables can now be used for configuration. The option name needs to be changed to uppercase, prefixed with DEVPISERVER_ and dashes replaced by underscores. For example --restrict-modify becomes DEVPISERVER_RESTRICT_MODIFY.
fix #511: support PEP508 requires-python attribute on links. Thanks to Sergey Kolosov for the parsing parts.
Allow deletion of mirrored package releases.
Allow deletion of mirrored projects and their releases.
Allow deletion of specific package versions on a mirror. Only the downloaded files will be removed. The file will be fetched again from the mirror source on request.
Better handling of 404s in mirror indexes. Every project not found would create an entry in the database which would grow it unnecessarily.
Bug Fixes
Allow deleting releases even if the file was removed from the filesystem outside of devpi.
fix #491: when a file was previously fetched in a mirror index, but is now missing and needs to be fetched again then skip writing an empty changeset with new serial.
When deleting a mirror, delete all it’s data as well. Previously deleting a mirror and recreating it would result in old entries showing up.
In offline mode the full project list returns all projects with locally stored releases.
In offline mode no bogus 503 responses show up in the log anymore.
when a file was missing on a replica and has to be fetched from master, it is now written to disk, so it doesn’t have to be fetched again.
Only projects with locally stored releases show up in the full project list of mirrors if upstream can’t be reached.
4.6.0 (2018-07-13)
Features
implement #448: allow deletion of single release files.
implement #530: set caching headers for release files to expire far in the future.
implement #535: Generate absolute URLs on project simple index pages when --absolute-urls option is used or X-DEVPI-ABSOLUTE-URLS header is set.
add –max-request-body-size option to control maximum upload size
add –request-timeout option to provide adjustable request timeout
Bug Fixes
fix #549: reduce timeout for requests to PyPI etc from 30 to 5 seconds. This can be changed with the --request-timeout option.
fix raising of UpstreamError by using correct status_code attribute of response instead of not existing status.
Fix cumulating log tags for request numbers by wrapping the responsible code in a try/finally block to always remove the tag, even when there was an exception.
4.5.0 (2018-05-04)
Features
add devpiserver_on_remove_file hook to handle removal of files in plugins. Thanks to Dr Colin Kong for the PR.
Use pypi.org as new default for root/pypi mirror index.
Bug Fixes
adjust minimum version of pyramid to 1.8 (related to #430)
fix #494: PEP 503 compliance, html and redirect fixes.
fix #510: catch another possible error when trying to open sqlite db with uri keyword.
4.4.0 (2018-01-17)
Features
fix issue469: Add acl_toxresult_upload to index configuration.
Bug Fixes
fix issue477: importing with –no-root-pypi failed.
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-4.7.1.tar.gz
.
File metadata
- Download URL: devpi-server-4.7.1.tar.gz
- Upload date:
- Size: 179.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: devpi-server/4.7.0 (py2.7.13; linux2)
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47d4e1610809ed36b024221f1d8d27844e2ae39b4b4b551ec6579392d3737c87 |
|
MD5 | caa8c4ddc745efea50a8c6087a055215 |
|
BLAKE2b-256 | 8cf5d117c11aaab61862ba345d085a22b7574da607d3f4c29be7d9d07f906921 |
File details
Details for the file devpi_server-4.7.1-py2.py3-none-any.whl
.
File metadata
- Download URL: devpi_server-4.7.1-py2.py3-none-any.whl
- Upload date:
- Size: 183.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: devpi-server/4.7.0 (py2.7.13; linux2)
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71805c3628fb9c24a799cc9fdc20b61fe3abc5a71762948e57e63a9a3c956b9e |
|
MD5 | 6fd3474f1912a9b90afd90dc594d5a5c |
|
BLAKE2b-256 | df050d237785a4374d01f2ad06ba51793ef5f72ce2bb6a22b3e681b0cae8bbfd |