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.10.0 (2023-12-19)

Features

  • Use Authorization header instead of adding username/password to URL when fetching from mirror.

  • Fix #993: Use the pure Python httpx library instead of aiohttp to prevent delays in supporting newest Python releases.

Bug Fixes

  • Fix #996: support hashes other than sha256 in application/vnd.pypi.simple.v1+json responses.

  • Only compare hostname instead of full URL prefix when parsing mirror packages to fix mirrors with basic authentication and absolute URLs. See #1006

6.9.2 (2023-08-06)

Bug Fixes

  • Prevent duplicates when adding values to lists in index configuration with += operator.

6.9.1 (2023-07-02)

Bug Fixes

  • Prevent error in find_pre_existing_file in case of incomplete metadata.

  • Fix #980: Remove long deprecated backward compatibility for old pluggy versions to fix error with pluggy 1.1.0.

6.9.0 (2023-05-23)

Features

  • Support export directory layout for --replica-file-search-path option.

  • Fix #931: Add mirror_no_project_list setting for mirror indexes that have no full project list like google cloud artifacts or if you want to prevent downloading the full list for huge indexes like PyPI.

Bug Fixes

  • Keep a reference to async tasks to avoid their removal mid execution.

  • Support changed default of enforce_content_length in urllib3 >= 2.

  • Fix #934: Properly set PATH_INFO when outside URL is used with sub-path.

  • Fix #945: Adapt FatalError to be usable as an async HTTP response when updating a project on a mirror.

  • Fix wrong hash metadata introduced in 6.5.0 for toxresults which prevents replication. The metadata can be fixed by an export/import cycle.

6.8.0 (2022-12-05)

Features

  • Fix #929: Cache normalized project names per transaction on mirror index instances.

Bug Fixes

  • Fix #914: add locking to list_projects_perstage of mirror indexes to prevent multiple slow concurrent updates of the full project name list.

  • Catch exceptions in async_httpget analog to httpget.

  • Add locking to mirror name cache to prevent race condition on updates.

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

Uploaded Source

Built Distribution

devpi_server-6.10.0-py3-none-any.whl (275.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for devpi-server-6.10.0.tar.gz
Algorithm Hash digest
SHA256 81f0940f9a3a0524e41a7ef45632305f56a4daf41f0f1a336ac7352b8e35a5c9
MD5 a755c8a55195787141b99349eda3dfc6
BLAKE2b-256 1e8cf7910b42d79069a6913c2d6c064934b34d2cc316462a876eaa8be46937b7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for devpi_server-6.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd65682a6172b8cf4dab2841857e7c9d848bd52adf066c3df6cef6ecc57cd278
MD5 2185cf1776220ac43acd41ea491ef18b
BLAKE2b-256 6c94b7f825c24875327d6d1385068652a6f645ecd51d35f1cef7537736827c95

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