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 -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/