packaging
Core utilities for Python packages
Decision gist · record as of 2026-08-14
Yes. packaging is a foundational, actively maintained library at the core of the Python packaging ecosystem with no dependencies, permissive licensing, and zero known vulnerabilities. Install it whenever you need to parse, validate, or reason about Python versions, dependencies, or package metadata in a standards-compliant way.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction installation with no runtime dependencies.
- Actively maintained with a release 10 days ago and continuous commits; the project is at position 2 in top PyPI packages by downloads.
License · maintenance · safety
Apache-2.0 OR BSD-2-Clause (permissive) — Dual-licensed under Apache-2.0 OR BSD-2-Clause, both permissive licenses allowing commercial and private use with minimal restrictions.
last release 2026-08-04 (10 days) · last repo commit 2026-08-13 · 746 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,198,449,167 downloads/mo, #2 on PyPI
Alternatives
Verify before relying
pip install packaging
from packaging.version import Version
from packaging.specifiers import SpecifierSet
v = Version("26.3")
spec = SpecifierSet(">=26.0")
print(v in spec)What it is and what it does
packaging is a foundational utility library that implements the core specifications for Python packaging interoperability. It provides a single, shared implementation of behaviors defined in standards like PEP 440 (version identification) and PEP 425 (compatibility tags), eliminating the need for each tool to reimplement these standards independently. The library handles version parsing and comparison, dependency specifiers, environment markers, requirement strings, platform tags, and package metadata extraction.
Developers use packaging when they need to parse, validate, or compare Python versions; understand dependency constraints; extract metadata from distributions; or work with any of the standardized formats in the Python packaging ecosystem. It has no runtime dependencies and supports Python 3.9 and later, including recent versions through 3.15 and PyPy, making it suitable for both end-user tools and infrastructure components.
Use it for
- Parse and compare version strings according to PEP 440 in build tools or dependency resolvers.
- Evaluate version specifiers and environment markers to determine if a package applies to a given environment.
- Extract and validate package metadata from distributions or requirement strings.
- Implement platform tag matching for wheel selection and compatibility checking.
- Build package managers or CI/CD systems that need standardized packaging logic.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
packaging is a foundational, actively maintained library at the core of the Python packaging ecosystem with no dependencies, permissive licensing, and zero known vulnerabilities. Install it whenever you need to parse, validate, or reason about Python versions, dependencies, or package metadata in a standards-compliant way.
Install
packaging on PyPI
Before you install
Low friction installation with no runtime dependencies. Actively maintained with a release 10 days ago and continuous commits; the project is at position 2 in top PyPI packages by downloads.
License in practice
Dual-licensed under Apache-2.0 OR BSD-2-Clause, both permissive licenses allowing commercial and private use with minimal restrictions.
Quickstart
pip install packaging
from packaging.version import Version
from packaging.specifiers import SpecifierSet
v = Version("26.3")
spec = SpecifierSet(">=26.0")
print(v in spec)
Package facts
| License | Apache-2.0 OR BSD-2-Clause permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,198,449,167 / month, #2 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: 3.9Programming Language :: Python :: Free Threading :: 4 - ResilientProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTyping :: Typed |
Evidence: packaging-26.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pep 440 version handling”
- packagingProvides reusable utilities for Python packaging interoperability,…
- packversProvides core utilities for Python package version handling,…
- parverparver parses and manipulates PEP 440 version numbers, allowing you…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
poetry-core is a PEP 517 build backend that enables build frontends like pip to construct and install Poetry-managed projects without requiring Poetry itself or its dependencies.
See also dep-logic · packvers · distlib · verspec · verlib2 · pip-api · packaging-legacy · looseversion · requirementslib