Metadata-Version: 2.4
Name: devpi-server
Version: 6.11.0
Summary: devpi-server: reliable private and pypi.org caching server
Home-page: https://devpi.net
Maintainer: Florian Schulze
Maintainer-email: mail@pyfidelity.com
License: MIT
Project-URL: Bug Tracker, https://github.com/devpi/devpi/issues
Project-URL: Changelog, https://github.com/devpi/devpi/blob/main/server/CHANGELOG
Project-URL: Documentation, https://doc.devpi.net
Project-URL: Source Code, https://github.com/devpi/devpi
Keywords: pypi realtime cache server
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: py>=1.4.23
Requires-Dist: httpx
Requires-Dist: argon2-cffi
Requires-Dist: attrs>=21.3.0
Requires-Dist: defusedxml
Requires-Dist: devpi_common<5,>3.6.0
Requires-Dist: itsdangerous>=0.24
Requires-Dist: platformdirs
Requires-Dist: pyramid>=2
Requires-Dist: waitress>=1.0.1
Requires-Dist: repoze.lru>=0.6
Requires-Dist: passlib[argon2]
Requires-Dist: pluggy<2.0,>=0.6.0
Requires-Dist: ruamel.yaml
Requires-Dist: strictyaml
Requires-Dist: lazy
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

=============================================================================
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.


.. _devpi-client: https://pypi.org/project/devpi-client/


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``.

.. _issue tracker at Github: https://github.com/devpi/devpi/issues/
.. _devpi-dev@python.org mailing list: https://mail.python.org/mailman3/lists/devpi-dev.python.org/
.. _GitHub Discussions: https://github.com/devpi/devpi/discussions


=========
Changelog
=========



.. towncrier release notes start

6.11.0 (2024-04-20)
===================

Features
--------

- The ``devpi-fsck`` script now returns an error code when there have been missing files or checksum errors.

- Fix #983: Add plugin hook for mirror authentication header.



Bug Fixes
---------

- Preserve last modified of docs and toxresults during export/import.

- Fix #1033: Use ``int`` for ``--mirror-cache-expiry`` to fix value of ``proxy_cache_valid`` in nginx caching config.



6.10.0 (2023-12-19)
===================

Features
--------

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

- Fix #998: 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.

