packaging

Core Python utilities for versions, specifiers, markers, requirements, and metadata

Library
PyPI
v26.3
745stars
Apache-2.0 OR BSD-2-Clause

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
85/100Excellent
Development Activity96
Maintenance72
Community84
Maturity60
Momentum28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
86/100Excellent
Architecture88
Code Quality92
Innovation85
Learning Curve80

packaging is the reference implementation of Python’s packaging interoperability specifications, maintained by the PyPA. It provides battle-tested building blocks for handling PEP 440 versions, version specifiers, environment markers, requirements, wheel tags, and core metadata.

Used under the hood by pip, build, and much of the modern Python packaging ecosystem, packaging turns fuzzy string handling — like parsing “pytest>=6.2.0; python_version<‘3.11’” or comparing “2.0.0rc1” against “2.0” — into correct, spec-compliant behavior so you never have to reimplement it yourself.

What You Get

  • PEP 440 compliant Version parsing, normalization, and comparison
  • SpecifierSet handling for version constraints like >=1.0,<2.0
  • Environment marker evaluation (e.g. python_version, sys_platform)
  • Requirement parsing for PEP 508 dependency strings
  • Wheel compatibility tags and manylinux/musllinux platform detection
  • Core metadata and pylock (PEP 751) parsing plus SPDX license helpers

Common Use Cases

  • Comparing and sorting release versions in build or CI tooling
  • Validating whether an installed version satisfies a dependency constraint
  • Parsing dependency requirement strings and evaluating their markers
  • Selecting compatible wheels for the current interpreter and platform

Under The Hood

Architecture — packaging is organized as a set of independent, single-responsibility modules under src/packaging/: version.py (PEP 440 Version and comparison keys), specifiers.py (SpecifierSet), markers.py and a hand-written _tokenizer.py/_parser.py pair that drive PEP 508 requirement and marker parsing, requirements.py, tags.py with _manylinux.py/_musllinux.py and _elffile.py for platform detection, plus metadata.py, pylock.py, and a licenses/ package backed by a generated _spdx.py table. Each module can be imported in isolation; there is no central runtime or app lifecycle, only pure functions and value objects.

Tech Stack — It is pure Python targeting 3.9+ (including free-threaded builds and PyPy) with zero runtime dependencies, built with the flit_core backend and calendar versioning (YY.N). Development tooling includes nox for task orchestration, pytest with hypothesis property tests and coverage, pre-commit hooks, ASV benchmarks, and Sphinx (furo) docs published to Read the Docs.

Code Quality — The codebase is fully type-annotated with a shipped py.typed marker and makes deliberate use of modern typing (TypedDict, NamedTuple, Literal, Self). Testing is extensive: 19 dedicated test modules plus property-based and platform-specific suites (manylinux, musllinux, pylock, metadata) exercising the interoperability specs. Naming is precise and consistent, and version-conditional shims (e.g. a fallback deprecated decorator before Python 3.13) are handled cleanly.

API Design — The public API is deliberately minimal and ergonomic: high-level entry points like parse(), Version, SpecifierSet, Requirement, and Marker do the right thing with a single call, hiding the tokenizer/parser machinery behind private underscore modules. Behavior follows the published PyPA specifications, so the library is largely self-documenting for anyone familiar with PEP 440/508, and the hosted documentation covers every module.

Used by 38 apps in this directory

Python
100%
Apache 2.0

Agno

Devops · AI Development · Automation

41,774

Build, run, and manage agent platforms with a full production stack — SDK, runtime, and control plane included.

View details
93
Repo Health
87
Technical
67
Dependency
Built with
Python100%
Updated today
Python
90%
Apache 2.0

Apache Airflow

Data Engineering

46,530

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
66
Dependency
Built with
Python90%
Updated today
Python
76%
MIT

ArchiveBox

Bookmarks Archiving

28,138

Self-hosted web archiving that saves HTML, PDFs, screenshots, media, and code in open formats you own forever

View details
88
Repo Health
84
Technical
70
Dependency
Built with
Python76%
HTML12%
Updated today
Python
59%
Apache 2.0

argilla

AI Development · Data Engineering

5,081

Collaborate on high-quality AI training data with a self-hosted annotation platform built for LLMs, NLP, and multimodal models.

View details
65
Repo Health
81
Technical
63
Dependency
Built with
Python59%
Jupyter Notebook21%
Updated 2 days ago
Python
54%
Other

authentik

Authentication · Security

24,980

The self-hosted Identity Provider that replaces Okta, Auth0, and Entra ID with a unified SSO platform supporting SAML, OAuth2/OIDC, LDAP, RADIUS, and WebAuthn.

View details
92
Repo Health
81
Technical
68
Dependency
Built with
Python54%
TypeScript33%
Updated today
C++
69%
Apache 2.0

ClickHouse

Databases · Analytics · Data Engineering

49,325

Open-source column-oriented database that delivers real-time analytical queries on petabyte-scale data with millisecond latency.

View details
95
Repo Health
90
Technical
68
Dependency
Built with
C++69%
Python13%
Updated today
Go
32%
Apache 2.0

CubeSandbox

Developer Tools · Security · AI Agents

11,247

Instant, concurrent, hardware-isolated MicroVM sandboxes for AI agents — E2B-API compatible, sub-60ms cold starts, and a built-in zero-trust egress proxy, all self-hostable at scale.

View details
83
Repo Health
88
Technical
63
Dependency
Built with
Go32%
Rust31%
C21%
Updated today
Python
99%
MIT

deepagents

AI Agents · AI Development

27,919

The batteries-included Python agent harness — planning, sub-agents, filesystem, shell, memory, and skills bundled in, built on LangGraph.

View details
88
Repo Health
83
Technical
74
Dependency
Built with
Python99%
Updated today
JavaScript
35%
MPL 2.0

Zen Browser

Browser

43,977

A Firefox-based browser that puts focus, privacy, and workflow front-and-centre without sacrificing compatibility

View details
88
Repo Health
81
Technical
80
Dependency
Built with
JavaScript35%
Fluent28%
C++24%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search