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

6.3.1 (2021-12-04)

Bug Fixes

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

6.3.0 (2021-11-19)

Features

  • Use aiohttp (asyncio) for fetching release links from mirrors to return stale links immediately in case of a timeout, but update the database in the background for the next request.

Bug Fixes

  • fix #853: prevent duplicate mirror indexes in sro method when there are multiple inheritance chains to the same mirror

  • fix #860: don’t check for existing files and validate them during mirror links update, the operation is way to expensive and there is a low possibility for errors.

  • Add missing lazy package dependency. Previously this was only a transitive dependency coming from the devpi-common package.

6.2.0 (2021-08-12)

Bug Fixes

  • Optimized some database access patterns. A new index is added to the database on first startup. For large databases that can take a while.

  • Improved performance of loads from database.

  • Optimized memory and cache use for database access.

  • Use frozenset for project name cache of mirror indexes. This mitigates memory fragmentation on some Linux distributions.

6.1.0 (2021-07-11)

Deprecations and Removals

  • Renamed ‘pypi_submit’ permission to ‘upload’. The old permission still works, but will be removed in a later major release.

Features

  • Allow patching index with same json layout as the output of fetching json for an index.

  • Allow user and index URLs to work with a trailing slash.

Bug Fixes

  • fix #631: race condition in fetching project links from mirrors.

6.0.1 (2021-06-23)

Bug Fixes

  • fix #843: add explicit ruamel.yaml dependency declaration after strictyaml vendored it.

Project details


Release history Release notifications | RSS feed

This version

6.3.1

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.3.1.tar.gz (233.3 kB view hashes)

Uploaded Source

Built Distribution

devpi_server-6.3.1-py3-none-any.whl (241.2 kB view hashes)

Uploaded Python 3

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