Skip to main content

devpi-server-winfix: reliable private and caching server

Project description

devpi-server-winfix: consistent cache, github-style internal indexes

* `issue tracker <>`_, `repo

* 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 ```` 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 upload and
installation workflows.

See for getting started and documentation.


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 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

- 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 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for devpi-server-winfix, version 2.5.3a0
Filename, size File type Python version Upload date Hashes
Filename, size (160.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page