[Distutils] devpi-server-2.4.0 and friends: speedup, fixes, profiling

holger krekel holger at merlinux.eu
Wed Nov 11 10:46:33 EST 2015

We just pushed devpi-{server,web,client,common} release files out to pypi.
Most notably, the private pypi package server allows much faster installs
due to much improved simple-page serving speed.  See the changelog
below for a host of other changes and fixes as well as for compatibility

Docs about the devpi system are to be found here:


Many thanks to my co-maintainer Florian Schulze and particularly
to Stephan Erb and Chad Wagner for their contributions.


about me:    http://holgerkrekel.net/about-me/
contracting: http://merlinux.eu

devpi-server 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 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.

devpi-client-2.3.2 (2015-11-11)

- fix git submodules for devpi upload. ``.git`` is a file not a folder for
  submodules. Before this fix the repository which contains the submodule was
  found instead, which caused a failure, because the files aren't tracked there.

- new option "devpi upload --setupdir-only" which will only
  vcs-export the directory containing setup.py. You can also
  set "setupdirs-only = 1" in the "[devpi:upload]" section
  of setup.cfg for the same effect.  Thanks Chad Wagner for the PR.

devpi-web 2.4.2 (2015-11-11)

- log exceptions during search index updates.

- adapted tests/code to work with devpi-server-2.4

devpi-common 2.0.8 (2015-11-11)

- fix URL.joinpath to not add double slashes

More information about the Distutils-SIG mailing list