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.6.0 (2022-08-16)

Features

  • Fix #592: return dict from list_projects_perstage of mirrors where the values contain the un-normalized project name. This allows support in devpi-web 4.1.0 to index them correctly.

  • Check name in project list instead of fetching project page for mirrors. This improves response times and avoids leaking typos of private package names upstream.

  • Use ETag header if provided by mirror to reduce bandwidth usage and latency.

  • Prevent concurrent updates of simple links on mirrors with a short lived lock.

  • Support PEP-691 conformant fetching for mirrors, and requests with JSON result for installers. Proxy servers should add compression support for the application/vnd.pypi.simple.v1+json content type (gzip_types for nginx).

Bug Fixes

  • Fix #743: support PEP427 escaped wheels with local version, where the + is replaced by _.

  • Fix #895: store and return content of data-yanked.

  • Fix #908: include basic auth from mirror_url when fetching packages.

  • Fix #914: switch to write transaction as late as possible when streaming a file from a mirror.

6.5.1 (2022-04-25)

Bug Fixes

  • Fix traceback when trying to delete already deleted release or toxresult.

  • Preserve index config settings of plugins during import instead of aborting, even if the plugin isn’t installed during import.

6.5.0 (2022-03-18)

Features

  • Added --no-checksum option to devpi-fsck to skip checksum validation and only check for file existence.

  • Split keyfs cache into a small changelog cache and a relpath cache, this lowers overall memory usage and prevents cache trashing.

  • Lower memory usage by avoiding to read release files into memory and instead use existing file objects.

  • Switch to platformdirs from appdirs.

  • Add streaming replica protocol, which is faster and uses less memory, especially when rebuilding a replica.

  • Better logging and handling if a thread unexpectedly dies.

Bug Fixes

  • Fix #871: authentication info in mirror_url wasn’t passed on to release links anymore.

  • Open database connection after file was downloaded during replication to avoid conflicts and locking.

  • Avoid hashing data twice when writing to storage.

  • Close HTTP responses and sessions when done to free resources as early as possible instead of waiting for garbage collection.

6.4.0 (2022-01-24)

Deprecations and Removals

  • As announced with 6.0.0, support for Python 3.6 has been dropped, because it has reached its end of life.

Features

  • When an installer user agent is detected the full list of projects is returned unsorted and with less info to improve performance and reduce memory usage.

Bug Fixes

  • Use __slots__ for some classes to reduce memory usage.

  • Fix exceptions related to logging for some edge cases.

6.3.1 (2021-12-07)

Bug Fixes

  • Fix #864: enable settings from ~/.netrc and HTTP_PROXY/HTTPS_PROXY env vars for aiohttp.

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

Uploaded Source

Built Distribution

devpi_server-6.6.0-py3-none-any.whl (258.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for devpi-server-6.6.0.tar.gz
Algorithm Hash digest
SHA256 1f140cbd48d72c7904f94d86c53392f4a687f1e25e16ab640d28a1a201fadebd
MD5 cbe0b1e44774d2c11536637b97923c8a
BLAKE2b-256 23faedd98d86ea959c07cd4843ef65409b5ae80346ac6320ff64420057c3dbc7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for devpi_server-6.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13f9a3df64b5863342c36b5ee5d8e514c4867052bdffe2e2398f68d43b69c042
MD5 f1198bbcdb0ca7c08c7dfa92a29898c9
BLAKE2b-256 88e13cac4da268f271a4fe3a1e689e7ade5b0fabefafe16841020238f7ea7c49

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