devpi-common
Utilities jointly used by devpi-server, devpi-client and others.
What it is and what it does
devpi-common is a utility library that centralizes shared functionality used by devpi-server, devpi-client, and related tools. It provides version comparison and normalization (including legacy version support via packaging-legacy), secure tar extraction with guards against malicious archives, and type information exports. The package depends on lazy, packaging-legacy, and requests, making it a lightweight bridge for devpi ecosystem components that need consistent version handling and file operations.
The library is production-stable and actively maintained, with recent releases addressing type hints, memory efficiency through __slots__, and security improvements in archive extraction. It supports Python 3.7 through 3.14 and PyPy, making it compatible with a wide range of Python environments.
Use it for:
- Building devpi-server or devpi-client extensions that need consistent version parsing and comparison.
- Integrating legacy Python package version handling into custom package management tools.
- Safely extracting and validating tar archives in package distribution workflows.
- Standardizing version normalization across multiple devpi ecosystem components.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides shared utility functions for devpi-server and devpi-client, including version handling, tar extraction safety, and legacy package version support.
Yes. This is a stable, actively maintained utility library with low install friction, permissive licensing, and no known vulnerabilities. Install it if you are building on the devpi ecosystem or need its specific version-handling and tar-extraction utilities; otherwise, it is primarily useful as a transitive dependency of devpi-server or devpi-client.
Install
devpi-common on PyPI
pip
pip install devpi-commonuv
uv add devpi-commonpoetry
poetry add devpi-commonInstalling devpi-common
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained as of 2026-02-09 with recent bug fixes and memory optimizations; repository shows 1214 stars and was last committed to 2026-08-10.
License in practice
MIT license (permissive) permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.
Quickstart
pip install devpi-common
from devpi_common.version import Version
v = Version('1.0.0')
print(v)
Verify before relying
- Whether the version handling and tar extraction utilities are suitable for production use outside the devpi ecosystem.
- Performance characteristics of the __slots__ optimization introduced in 4.1.0 for memory-constrained environments.
Package facts
| License | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — lazy, packaging-legacy, requests |
| Maintenance | actively maintained — 186 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,081/month — #9,188 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: devpi_common-4.1.1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
devpi-clientdevpi-client is a command-line tool for…
permissive · top 15,000 on PyPI
packaging-legacyProvides access to deprecated Python packaging…
permissive · top 15,000 on PyPI
packversProvides core utilities for Python package…
permissive · top 15,000 on PyPI
wimpyWimpy provides a collection of commonly reused…
permissive · top 15,000 on PyPI
scverse-miscProvides shared utility functions and helpers…
permissive · top 5,000 on PyPI
tarsafeTarsafe wraps Python's tarfile module to…
permissive · top 15,000 on PyPI
py-key-value-sharedProvides shared utility code and type…
permissive · top 5,000 on PyPI
ipython_genutilsProvides legacy utility functions extracted…
permissive · top 5,000 on PyPI
safetySafety CLI scans Python project dependencies…
permissive · top 5,000 on PyPI