devpi-server 6.20.1


pip install devpi-server

  Latest version

Released: May 11, 2026


Meta
Maintainer: Florian Schulze
Requires Python: >=3.9

Classifiers

Development Status
  • 5 - Production/Stable

Environment
  • Web Environment

Intended Audience
  • Developers
  • System Administrators

Programming Language
  • Python
  • Python :: 3 :: Only
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Python :: Implementation :: PyPy

Topic
  • Internet :: WWW/HTTP :: WSGI :: Application
  • Internet :: WWW/HTTP

devpi-server: backend for hosting private package indexes and PyPI on-demand mirrors

PyPI on-demand package mirror

You can point uv, pip or another Python package installer to the root/pypi/+simple/ index, serving as a transparent on-demand mirror for PyPI-hosted packages.

User specific indexes

Each user (which can represent a person, project or team) can have multiple indexes, and can upload packages and documents to these indexes 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.

Sensible defaults for a low friction deployment

Get started easily and deploy a devpi-server instance with 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 package 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.20.1 (2026-05-11)

Bug Fixes

  • Pass through request headers when streaming .metadata from mirror. Refs #1018

6.20.0 (2026-04-30)

Features

Bug Fixes

  • Update replica status when the replica is waiting for new serials using the streaming changelog endpoint.

6.19.3 (2026-04-13)

Bug Fixes

  • Fix #1112: Parse simple JSON reply even with wrong content-type in reply if the body seems to contain JSON.

  • Return stale project list for mirrors when the lock can’t be acquired within the timeout.

  • Fix importing of toxresults from devpi-server 6.5.0 to 6.9.0 where the wrong hash was stored.

6.19.2 (2026-03-17)

Bug Fixes

  • Preserve log for documentation uploads in export.

  • Any missing file on mirrors will be ignored during event processing as is already the case in other places.

  • Use short timeout when project list is requested for has_project call on mirrors instead of the long one used for list_projects. This prevents installers from timing out and retrying several times.

  • Fix error handling for proxy requests from replica to primary.

Other Changes

  • Removed limit of reported missing files for devpi-fsck.

6.19.1 (2026-02-09)

Bug Fixes

  • Pin setuptools as pyramid still requires pkg_resources.

  • Always allow replicas to access deleted releases to get the proper 410 Gone instead of 403 Forbidden when devpi-lockdown is in use.

6.20.1 May 11, 2026
6.20.0 Apr 30, 2026
6.19.3 Apr 13, 2026
6.19.2 Mar 17, 2026
6.19.1 Feb 09, 2026
6.19.0 Feb 06, 2026
6.18.0 Jan 27, 2026
6.17.0 Aug 27, 2025
6.16.0 Jun 25, 2025
6.15.0 May 18, 2025
6.14.0 Oct 16, 2024
6.13.0 Sep 19, 2024
6.12.1 Jul 24, 2024
6.12.0 Jun 25, 2024
6.11.0 Apr 20, 2024
6.10.0 Dec 19, 2023
6.9.2 Aug 06, 2023
6.9.1 Jul 02, 2023
6.9.0 May 23, 2023
6.8.0 Dec 05, 2022
6.7.0 Sep 28, 2022
6.6.1 Sep 12, 2022
6.6.0 Aug 16, 2022
6.5.1 Apr 25, 2022
6.5.0 Mar 18, 2022
6.4.0 Jan 24, 2022
6.3.1 Dec 07, 2021
6.3.0 Nov 23, 2021
6.2.0 Aug 12, 2021
6.1.0 Jul 11, 2021
6.0.1 Jun 23, 2021
6.0.0 May 16, 2021
5.5.1 Mar 01, 2021
5.5.0 May 07, 2020
5.4.1 Mar 26, 2020
5.4.0 Jan 31, 2020
5.3.1 Dec 05, 2019
5.3.0 Dec 03, 2019
5.2.0 Oct 18, 2019
5.1.0 Aug 05, 2019
5.0.0 Jun 28, 2019
4.9.0 Apr 26, 2019
4.8.1 Mar 14, 2019
4.8.0 Nov 16, 2018
4.7.1 Sep 10, 2018
4.7.0 Sep 08, 2018
4.6.0 Jul 13, 2018
4.5.0 May 04, 2018
4.4.0 Jan 17, 2018
4.3.2 Dec 19, 2017
4.3.1 Nov 23, 2017
4.3.1rc1 Sep 08, 2017
4.3.0 Apr 23, 2017
4.2.1 Dec 23, 2016
4.2.0 Dec 15, 2016
4.1.1 Oct 14, 2016
4.1.0 Jul 15, 2016
4.0.0 May 13, 2016
3.1.2 May 13, 2016
3.1.1 May 11, 2016
3.1.0 Apr 22, 2016
3.0.2 Mar 03, 2016
3.0.1 Feb 12, 2016
3.0.0 Feb 12, 2016
2.6.1 Mar 03, 2016
2.6.0 Jan 29, 2016
2.5.3 Nov 23, 2015
2.5.2 Nov 20, 2015
2.5.1 Nov 20, 2015
2.5.0 Nov 19, 2015
2.4.0 Nov 11, 2015
2.3.1 Sep 14, 2015
2.3.0 Sep 10, 2015
2.2.2 Jul 09, 2015
2.2.1 May 20, 2015
2.2.0 May 13, 2015
2.1.5 Mar 16, 2015
2.1.4 Feb 24, 2015
2.1.3 Nov 27, 2014
2.1.2 Oct 24, 2014
2.1.1 Oct 15, 2014
2.1.0 Sep 22, 2014
2.0.7 Sep 19, 2014
2.0.6 Sep 08, 2014
2.0.5 Sep 04, 2014
2.0.4 Sep 01, 2014
2.0.3 Aug 08, 2014
2.0.2 Aug 06, 2014
2.0.1 Jul 16, 2014
2.0.0 Jul 15, 2014
1.2.2 Mar 29, 2014
1.2.1 Nov 18, 2013
1.2 Oct 30, 2013
1.1 Sep 25, 2013
1.0 Aug 15, 2013
0.9.4 Jul 17, 2013
0.9.3 Jul 16, 2013
0.9.2 Jun 21, 2013
0.9.1 Jun 14, 2013
0.9.0 Jun 10, 2013
0.8.5 May 14, 2013
0.8.4 May 07, 2013
0.8.3 May 07, 2013
0.8.2 May 06, 2013
0.8.1 May 04, 2013
0.8 May 03, 2013
0.7 Apr 30, 2013

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras: None
Dependencies:
argon2-cffi
attrs (>=22.2.0)
defusedxml
devpi_common (<5,>3.6.0)
httpx (<1)
itsdangerous (>=0.24)
lazy
legacy-cgi
passlib[argon2]
platformdirs
pluggy (<2.0,>=0.6.0)
py (>=1.4.23)
pyramid (>=2)
repoze.lru (>=0.6)
requests (>=2.3.0)
setuptools (<=81)
strenum
strictyaml
waitress (>=1.0.1)
ruamel.yaml