Skip to main content

devpi-server: reliable private and pypi.python.org caching server

Project description

devpi-server: consistent pypi.python.org cache, github-style internal indexes

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.3 (2015-11-23)

  • fix a bug that resulted from accessing a non-existing project on root/pypi where upstream does not contain the X-PYPI-LAST-SERIAL header usually. Thanks Matthias Bach.

2.5.2 (2015-11-20)

  • recognize “pex” for redirections of user/index/NAME to user/index/+simple/NAME just like we do with pip/setuptools.

  • fix py2 incompatibility introduced with 2.5.1 where we used a unicode header and pyramid only likes str-headers.

2.5.1 (2015-11-20)

  • fix issue289: fix simple page serving on replicas

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.

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

devpi-server-2.5.3.tar.gz (132.0 kB view details)

Uploaded Source

Built Distribution

devpi_server-2.5.3-py2.py3-none-any.whl (141.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file devpi-server-2.5.3.tar.gz.

File metadata

File hashes

Hashes for devpi-server-2.5.3.tar.gz
Algorithm Hash digest
SHA256 0a97457b567b8b0be4ebe3e572f192962337d5996cb28f5d36f1fc4a83af272a
MD5 840ad147c4daaea4104c8ba91e1f7d7f
BLAKE2b-256 cd716bf465238a30f5e8357779b1c7fb96ffda3d6c4089a5c200c0c449ddae84

See more details on using hashes here.

File details

Details for the file devpi_server-2.5.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for devpi_server-2.5.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 56befa466903986626286f3a29d058275e97aab5b993f16b364e83e22f830be3
MD5 696ceb1253548bd2e72f8f070b91e93b
BLAKE2b-256 508eabc45458e6587eb83a3070e6969977d148f2a6f90091038cb2f31baecc7b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page