[Distutils] devpi-2.0.0: web/search UI, replication, fixes
holger krekel
holger at merlinux.eu
Tue Jul 15 15:12:19 CEST 2014
devpi-2.0.0: web, search, replication for PyPI indexes
==========================================================
The devpi system in version 2.0 brings tons of fixes
and new features for the private github-style pypi caching server,
most notably:
- a new web interface featuring search of metadata and documentation
as well as easier navigation and showing of test results per release
file.
- a new transactional storage system (based on sqlite) supporting
real-time replication over http.
- a new (experimental) hook system for extending server-side
functionality.
- ported to a solid web framework and wsgi-server: pyramid
and waitress.
Upgrade note: devpi-server-2.0 requires to ``--export`` your 1.2
server state and then using ``--import`` with the new version
before you can serve your private packages through devpi-server-2.0.0.
Also, please checkout the web plugin if you want to have a web interface::
http://doc.devpi.net/2.0/web.html
Here is a Quickstart tutorial for efficient pypi-mirroring
on your laptop::
http://doc.devpi.net/2.0/quickstart-pypimirror.html
And if you want to manage your releases or implement staging
as an individual or within an organisation::
http://doc.devpi.net/2.0/quickstart-releaseprocess.html
If you want to host a devpi-server installation with nginx/supervisor
and access it from clients from different hosts::
http://doc.devpi.net/2.0/quickstart-server.html
More documentation here::
http://doc.devpi.net/2.0/
many many thanks to Florian Schulze who implemented the new ``devpi-web``
package and helped with many other improvements.
have fun,
Holger Krekel, merlinux GmbH
2.0.0
--------------
devpi-server:
- major revamp of the internal core of devpi to support
replication (both master and server code), a plugin architecture
with the new devpi-web plugin providing a new web interface.
Mostly done by Florian Schulze and Holger Krekel.
- moved all html views except for files and the simple index to new
devpi-web package. Thanks to Florian Schulze for the PR.
- implement issue103: By default if you register a package in an index,
no lookup on pypi is made for that package anymore. You have to add the
package to the pypi_whitelist of the index to let pypi releases be mixed in.
This is to prevent malicious uploads on pypi to overwrite private packages.
- change json api to get rid of the different meaning of URLs with and
without a trailing slash. "/{user}/" is now the same as "/user" and always
lists indices. "/{user}/{index}" and "/{user}/{index}/ now always
lists the index config and the contained per-stage projects
(not inherited ones).
- switch the wsgi app to use Pyramid and waitress for WSGI serving.
- don't refresh releaselinks from the mirroring thread but rather
rely on the next access to do it.
- fix issue98: deleting a project config or a project version now accepts
names which map to the canonical name of a project.
- fix issue82 and fix issue81: root/pypi now provides the same
attributes as normal indexes and results in a 409 MethodNotAllowed
http code when trying to change the config.
- fix issue91: make serverport available as well. Thanks David Bonner.
- fix issue100: support large file uploads. As we switched away from
bottle to pyramid, the body-size limit is gone.
- fix issue99: make "devpi-server --start" etc work when devpi-server
is not itself on PATH (by using sys.argv[0] for finding the binary)
- fix issue84: uploading of wheels where the registered package name
has an underscore works despite a wheel's metadata carrying
hyphens instead. At submit-file time we now lookup the registered
name and use that instead of assuming the one coming with the wheel
is the correct one.
- add refresh button on root/pypi project simple index pages which clears the
internal cache to force a refetch from PyPI.
- implement issue75: We use the custom X-Devpi-Auth header for authentication
now, instead of overwriting the Authentication header.
- added experimental support for using client certificates when running as a
replica of a server running behind a proxy
devpi-client:
- Compatibility with devpi-server >= 2.0.0
- introduce "patchjson PATH JSONFILE" command which allows to send
a request containing a json data structure to a specified path
- fix issue85: "devpi list -v" now shows package names with latest
versions.
- implement issue75: We use the custom X-Devpi-Auth header for authentication
now, instead of overwriting the Authentication header.
- added experimental support for basic authentication by parsing user and
password from the url given to the "devpi use" command.
- issue74: added experimental support for client side certificates via
"devpi use --client-cert"
devpi-web:
- initial release
More information about the Distutils-SIG
mailing list