Metadata-Version: 2.1
Name: devpi-server
Version: 6.12.1
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
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.7
License-File: LICENSE
License-File: AUTHORS

=============================================================================
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.12.1 (2024-07-24)
===================

Bug Fixes
---------

- Support Python 3.13 by depending on legacy-cgi.

- Preserve query string when proxying requests from replica to primary. This fixes force removal on non-volatile indexes and probably other bugs.

- Fix #1044: Correctly update cache expiry time when mirrored server returns 304 Not Modified.



6.12.0 (2024-06-25)
===================

Features
--------

- Added ``devpiserver_on_toxresult_store`` hook to allow blocking or skipping a toxresult upload on more specific conditions as ``acl_toxresult_upload`` would allow.

- Added ``devpiserver_on_toxresult_upload_forbidden`` hook to allow returning a custom message and result (403 or 200).



Bug Fixes
---------

- Return json data if toxresult upload is forbidden.



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.

