Skip to main content

devpi-server: reliable private and pypi.org caching server

Project description

devpi-server: server for private package indexes and PyPI caching

PyPI cache

You can point pip or easy_install to the root/pypi/+simple/ index, serving as a transparent cache for pypi-hosted packages.

User specific indexes

Each user (which can represent a person, project or team) can have multiple indexes and upload packages and docs via standard twine or setup.py invocations. Users and indexes can be manipulated through devpi-client and 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 process managers.

Separate tool for Packaging/Testing activities

The complementary devpi-client tool helps to manage users, indexes, logins and typical setup.py-based upload and installation workflows.

See https://doc.devpi.net on how to get started and further documentation.

Support

If you find a bug, use the issue tracker at Github.

For general questions use GitHub Discussions or the devpi-dev@python.org mailing list.

For support contracts and paid help contact mail at pyfidelity.com.

Changelog

6.14.0 (2024-10-16)

Features

  • Allow pushing of versions which only have documentation and no releases.

  • Allow pushing of release files only with no documentation. Requires devpi-client 7.2.0.

  • Allow pushing of documentation only with no release files. Requires devpi-client 7.2.0.

Bug Fixes

  • No longer automatically “register” a project when pushing releases to PyPI. The reply changed from HTTP status 410 to 400 breaking the upload. With devpi-client 7.2.0 there is a --register-project option if it is still required for some other package registry.

6.13.0 (2024-09-19)

Deprecations and Removals

  • Remove/Deprecate “master” related terminology in favor of “primary”. Usage related changes are the switch to --primary-url instead of --master-url and --role=primary instead of --role=master. Using the old terms will now output warnings. The +status API has additional fields and the role field content will change with 7.0.0.

Features

  • Enable logging command line options for all commands.

  • Added support uv pip as an installer.

Bug Fixes

  • Don’t report on lagging event processing while replicating.

  • Report primary serial correctly with streaming replication.

  • Don’t store file data in memory when fetching a release while pushing from a mirror.

  • Only warn about replica not being in sync instead of fatal status while still replicating.

6.12.1 (2024-07-24)

Bug Fixes

  • Support Python 3.13 by depending on legacy-cgi.

  • Preserve query string when proxying requests from replica to primary. This fixes force removal on non-volatile indexes and probably other bugs.

  • Fix #1044: Correctly update cache expiry time when mirrored server returns 304 Not Modified.

6.12.0 (2024-06-25)

Features

  • Added devpiserver_on_toxresult_store hook to allow blocking or skipping a toxresult upload on more specific conditions as acl_toxresult_upload would allow.

  • Added devpiserver_on_toxresult_upload_forbidden hook to allow returning a custom message and result (403 or 200).

Bug Fixes

  • Return json data if toxresult upload is forbidden.

6.11.0 (2024-04-20)

Features

  • The devpi-fsck script now returns an error code when there have been missing files or checksum errors.

  • Fix #983: Add plugin hook for mirror authentication header.

Bug Fixes

  • Preserve last modified of docs and toxresults during export/import.

  • Fix #1033: Use int for --mirror-cache-expiry to fix value of proxy_cache_valid in nginx caching config.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

devpi-server-6.14.0.tar.gz (270.3 kB view details)

Uploaded Source

Built Distribution

devpi_server-6.14.0-py3-none-any.whl (285.0 kB view details)

Uploaded Python 3

File details

Details for the file devpi-server-6.14.0.tar.gz.

File metadata

  • Download URL: devpi-server-6.14.0.tar.gz
  • Upload date:
  • Size: 270.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: devpi-server/6.14.0.dev0 (py3.8.11; linux)

File hashes

Hashes for devpi-server-6.14.0.tar.gz
Algorithm Hash digest
SHA256 b932e478a7dfee4829223b8c0f989ef631d955aaf8bf42ae4346e26da1745523
MD5 9e6292c5dd82eb658890fdb86f0546fa
BLAKE2b-256 c8baf155a925ca5a87f59921e5fc3c2644eb3326bc9e7dd8031ca5d59650f12b

See more details on using hashes here.

File details

Details for the file devpi_server-6.14.0-py3-none-any.whl.

File metadata

  • Download URL: devpi_server-6.14.0-py3-none-any.whl
  • Upload date:
  • Size: 285.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: devpi-server/6.14.0.dev0 (py3.8.11; linux)

File hashes

Hashes for devpi_server-6.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 000256b9af7e79e7926b92c011d76f64673059f58a40b37a95129261961d3ae1
MD5 cb373259cd4c72022a84b70a5fddc0dd
BLAKE2b-256 996fae54315f7e41ad58aa1fa3bbc9af0c2e8d8097968c53d0b8332f4b7a42be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page