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 the #devpi IRC channel on freenode.net or the devpi-dev@python.org mailing list.

For support contracts and paid help contact merlinux.eu.

Changelog

5.4.0 (2020-01-31)

Features

  • The requires_python metadata is now included in version data on mirror indexes.

  • Downloaded files from mirrors can be included in exports with the --include-mirrored-files option.

  • On import files for mirror indexes are now imported when they were included in the dump (see --include-mirrored-files).

Bug Fixes

  • Fix --no-root-pypi option when importing devpi data.

  • Fix pushing from mirror to an index when the file was removed and mirror_use_external_urls is active.

5.3.1 (2019-12-05)

Bug Fixes

  • fix #688: on file upload existing metadata is only updated, not replaced.

5.3.0 (2019-12-03)

Features

  • fix #732: add --unix-socket-perms option to set Unix socket permissions when a Unix socket is in use, defaults to ‘600’ if not specified, ignored if --unix-socket is not used.

  • proxy requests from the replica to the master will use number of seconds from the new --proxy-timeout option as their timeout value.

Bug Fixes

  • ignore obsolete pypi_whitelist index setting when sent by devpi-client and remove it when an index config is updated.

5.2.0 (2019-10-18)

Deprecations and Removals

  • The --export option is deprecated, use the new devpi-export command instead.

  • The --gen-config option is deprecated, use the new devpi-gen-config command instead.

  • The --import option is deprecated, use the new devpi-import command instead.

  • The --init option is deprecated, use the new devpi-init command instead.

  • The --passwd option is deprecated, use the new devpi-passwd command instead.

Features

  • fix #253: add --unix-socket option to listen on a unix socket. When this is used the --host and --port options are forbidden.

  • Add new option mirror_use_external_urls for mirrors which when true redirects to the original release URL when the release isn’t locally cached yet. No new releases are stored locally from that point on. The metadata is still stored in the database.

  • Add devpi-fsck command which compares the hash of files with the hash in the database.

  • Metrics for the sqlite storage cache are exposed in the JSON output of the +status view.

  • Storage options can now be specified as a dict in yaml config files.

Bug Fixes

  • fix #403: extract auth credentials from --master-url to prevent them from leaking in logs and +status.

  • fix #545: provide proper error message when there is an exception during push to an external repository.

  • fix #686: prevent name clashes for toxresults by including the timestamp in the filename.

  • fix #722: prevent bogus “failed to check mirror whitelist” warnings.

  • Fix possible race condition when writing files.

  • Fix possible assertion error if importing multiple changes in a replica fails in the middle and fetching a single change set is tried as fallback.

  • For plugins the offline attribute of mirror stage instances now works independently of the --offline-mode command line option. This only applies to _perstage methods.

  • Files created in a transaction are written directly to temporary files instead of being kept in memory until commit.

  • Unnecessary database writes where the final value didn’t change are now prevented.

Other Changes

  • The timeout when fetching the list of remote projects for a mirror index is set to a minimum of 30s by default and to 60s when running as replica. Other fetches of mirrors still use the timeout specified via --request-timeout.

5.1.0 (2019-08-05)

Features

  • Allow stage customizer plugins to filter projects and versions.

  • Replicas will use the multiple changelog endpoint added in devpi-server 4.9.0 to reduce the number of requests necessary to synchronize state.

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-5.4.0.tar.gz (211.0 kB view details)

Uploaded Source

Built Distribution

devpi_server-5.4.0-py2.py3-none-any.whl (220.2 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for devpi-server-5.4.0.tar.gz
Algorithm Hash digest
SHA256 0feb15f6a732073e0396d1e5b1b58aa73c0bf5bdb8cf7457db9311d5de7a4c05
MD5 cea95bfa541b0b0c28a61948f9ce7a27
BLAKE2b-256 fd92c5e0210bbd642df99191f8ea04cff6b07b135a79dbfe2d74fe80b5bab42e

See more details on using hashes here.

File details

Details for the file devpi_server-5.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: devpi_server-5.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 220.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: devpi-server/5.3.2.dev0 (py3.7.3; linux)

File hashes

Hashes for devpi_server-5.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 973375f22889fd40c066b6e91e647959a49a37c73546ea90031b13c91db86153
MD5 4a1588e2dc9d82be9039b2d119096af8
BLAKE2b-256 abc76df7565a8972591c66147ee95dcada40da8490c160119171d7fc2226fc66

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