Package: devpi-server
devpi-server: server for private package indexes and PyPI cachingPyPI cacheYou can pointpip or easy_installto theroot/pypi/+simple/index, serving as a transparent cache for pypi-hosted packages.User specific indexesEach user (which can represent a person, project or team) can have
multiple indexes and upload packages and docs via standardtwineorsetup.pyinvocations.  Users and indexes can be manipulated throughdevpi-clientand a RESTful HTTP API.Index inheritanceEach 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 usingroot/pypias a parent is a good place to test out a
release candidate before you push it to PyPI.Good defaults and easy deploymentGet started easily and create a permanent devpi-server deployment
including pre-configured templates fornginxand process managers.Separate tool for Packaging/Testing activitiesThe complementarydevpi-clienttool
helps to manage users, indexes, logins and typical setup.py-based upload and
installation workflows.Seehttps://doc.devpi.neton how to get started and further documentation.SupportIf you find a bug, use theissue tracker at Github.For general questions useGitHub Discussionsor thedevpi-dev@python.org mailing list.For support contracts and paid help contactmail at pyfidelity.com.Changelog6.10.0 (2023-12-19)FeaturesUseAuthorizationheader 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 FixesFix #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 #10066.9.2 (2023-08-06)Bug FixesPrevent duplicates when adding values to lists in index configuration with+=operator.6.9.1 (2023-07-02)Bug FixesPrevent 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)FeaturesSupport export directory layout for--replica-file-search-pathoption.Fix #931: Addmirror_no_project_listsetting 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 FixesKeep a reference to async tasks to avoid their removal mid execution.Support changed default ofenforce_content_lengthin 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)FeaturesFix #929: Cache normalized project names per transaction on mirror index instances.Bug FixesFix #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.