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 GitHub Discussions or the devpi-dev@python.org mailing list.
For support contracts and paid help contact mail at pyfidelity.com.
Changelog
6.5.0 (2022-03-18)
Features
Added --no-checksum option to devpi-fsck to skip checksum validation and only check for file existence.
Split keyfs cache into a small changelog cache and a relpath cache, this lowers overall memory usage and prevents cache trashing.
Lower memory usage by avoiding to read release files into memory and instead use existing file objects.
Switch to platformdirs from appdirs.
Add streaming replica protocol, which is faster and uses less memory, especially when rebuilding a replica.
Better logging and handling if a thread unexpectedly dies.
Bug Fixes
Fix #871: authentication info in mirror_url wasn’t passed on to release links anymore.
Open database connection after file was downloaded during replication to avoid conflicts and locking.
Avoid hashing data twice when writing to storage.
Close HTTP responses and sessions when done to free resources as early as possible instead of waiting for garbage collection.
6.4.0 (2022-01-24)
Deprecations and Removals
As announced with 6.0.0, support for Python 3.6 has been dropped, because it has reached its end of life.
Features
When an installer user agent is detected the full list of projects is returned unsorted and with less info to improve performance and reduce memory usage.
Bug Fixes
Use __slots__ for some classes to reduce memory usage.
Fix exceptions related to logging for some edge cases.
6.3.1 (2021-12-07)
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file devpi-server-6.5.0.tar.gz
.
File metadata
- Download URL: devpi-server-6.5.0.tar.gz
- Upload date:
- Size: 243.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: devpi-server/6.5.0.dev7 (py3.8.11; linux)
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 536007dea2e16d3572fa007c9c12aa75164ab6582782dc5a56721fa4ec3957b7 |
|
MD5 | 5c3c7c14248b65799050dcb610c991b6 |
|
BLAKE2b-256 | 1ad38b564e5b263b1205da6a86cf0a1d4a9b48bd3a0e599d3f02bf77e84220ff |
File details
Details for the file devpi_server-6.5.0-py3-none-any.whl
.
File metadata
- Download URL: devpi_server-6.5.0-py3-none-any.whl
- Upload date:
- Size: 251.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: devpi-server/6.5.0.dev7 (py3.8.11; linux)
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e723ca9191abc5d61cae7b156eebebaafd40a3935534247962bc6980594a6d8d |
|
MD5 | 804a35854f39a5cc091bdee05c5564e7 |
|
BLAKE2b-256 | 19b39364c697ec4843c61c64a5f136946cb2c50d69d5ae5f31c48116b83c136f |