devpi-1.0 brings an improved PyPI caching and internal index server as well as a new abilities for tox-testing and staging your Python release packages. For a (long) list of changes, see the below CHANGELOG.
Documentation got revamped and extended and now contains three quickstart scenarios. First the Quickstart tutorial for pypi-mirroring on your laptop::
And if you want to manage your releases or implement staging as an individual or within an organisation::
If you want to permanently install devpi-server and potentially access it from many clients::
More documentation and the beginning of an exhaustive user manual::
Note that devpi-1.0 is not data-compatible to the previous 0.9.4 release: You need to start with a fresh devpi-1.0 installation and upload your packages again. Future releases of devpi should support data migration more directly.
best and have fun,
rename "--datadir" to "--serverdir" to better match the also picked up DEVPI_SERVERDIR environment variable.
fix a strange effect in that sometimes tools ask to receive a package url with a "#md5=..." arriving at the server side. We now strip that part out before trying to serve the file.
on startup don't create any initial indexes other than the "root/pypi" pypi caching mirror.
controling a background devpi-server run. (these commands
previously were implemented with the devpi-client and the "server"
fix issue27: provide full list of pypi names in root/pypi's simple view (and simple pages from inheriting indices)
default to "eventlet" server when creating deployment with --gendeploy
fix issue25: return 403 Forbidden when trying to delete the root user.
fix name mangling issue for pypi-cache: "project_name*" is now matched correctly when a lookup for "project-name" happens.
fix issue22: don't bypass CDN by default, rather provide an "--bypass-cdn" option to do it (in case you have cache-invalidation troubles)
fix issue20 and fix issue23: normalize index specs internally ("/root/dev" -> "root/dev") and check if base indices exist.
add Jenkins build job triggering for running the tests for a package through tox.
inheritance cleanup: inherited versions for a project are now shadowed and not shown anymore with getreleaselinks() or in +simple pages if the "basename" is exactly shadowed.
fix issue16: enrich projectconfig json with a "+shadow" file which lists shadowed "versions"
initial wheel support: accept "whl" uploads and support caching of whl files from pypi.python.org
implemented internal push operation between devpi indexes
show "docs" link if documentation has been uploaded
pushing releases to pypi.python.org will now correctly report the filetype/pyversion in the metadata.
add setting of acl_upload for indexes. Only the owning user and acl_upload users may upload releases, files or documentation to an index.
add --passwd USER option for setting a user's password server-side
don't require email setting for creating users
server subcommand and options for controling background
processes to become options of
fix issue14: lookup "python" from PATH for upload/packaging activities instead of using "sys.executable" which comes from the interpreter executing the "devpi" script. This allows to alias "devpi" to come from a virtualenv which is separate from the one used to perform packaging.
fix issue35: "devpi index" cleanly errors out if no index is specified or in use.
remember authentication on a per-root basis and cleanup "devpi use" interactions. This makes switching between multiple devpi instances more seemless.
fix issue17: better reporting when "devpi use" does not operate on valid URL
test result upload and access:
add "uploadtrigger_jenkins" configuration option through "devpi index".
fix issue19: devpi use now memorizes --venv setting properly. Thanks Laurent.
fix issue16: show files from shadowed versions
initial wheel support: "devpi upload --format=bdist_wheel" now uploads a wheel format file to the index. (XXX "devpi install" will trigger pip commands with option "--use-wheels".)
fix issue15: docs will now be built via "setup.py build_sphinx" using a internal build dir so that the upload succeeds if conf.py would otherwise specify a non-standard location.
implement and refine "devpi push" command. It now accepts two forms "user/name" for specifying an internal devpi index and "pypi:REPONAME" for specifying a repository which must be defined in a .pypirc file.
remove spurious pdb.set_trace() in devpi install command when no pip can be found.
show and allow to set "acl_upload" for uploading priviliges
add longer descriptions to each sub command, shown with "devpi COMMAND -h".
removed pytestplugin support for now (pytest reporting directly to devpi-server)