Back to Explore

pypa/packaging

GitHub
2 updates · last 90 days2 watchersOpen source

Last release: 1 month ago

packaging (pypa/packaging) is a Python library of reusable core utilities for Python package interoperability. It provides shared implementations for common packaging standards, including version handling, specifiers, markers, requirements, tags, metadata, lockfiles, and direct URL helpers. Useful for developers who need consistent behavior when parsing and working with Python package metadata and versioning.

Project status

  • Actively maintained: The repo has recent activity (last upstream push 2026-05-15) and continues to ship versioned updates (25.0 in 2025-04, then 26.0 to 26.2 in early to mid 2026).
  • Evolving update cadence: After 24.2 (2024-11), updates arrived roughly every 4 to 10 months (24.1 in 2024-06, 25.0 in 2025-04). In 2026 the cadence tightened, with 26.0 (2026-01-21), 26.1 (2026-04-14), and 26.2 (2026-04-24).

AI summary generated 2 weeks ago

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 26.2

    1 month ago

    Release 26.2 focuses on fixing packaging metadata and improving pickle compatibility. The largest change is adding stable pickle formats for multiple public classes so pickles created in 25.0 to 26.1 can be loaded reliably in future releases.

  • 26.1

    1 month ago

    Release 26.1 adds new top-level modules for PEP-related functionality, including packaging.direct_url and packaging.dependency_groups (plus packaging.errors as shared error utilities). It also includes multiple behavior refinements in version/specifier handling and a performance-focused internal rework of parsing and comparison paths.

    BreakingFeatures
  • 26.0

    4 months ago

    Release 26.0 ships the finalized set of packaging features and changes described in the 26.0 release notes, with a strong focus on performance improvements and updated PEP support. The diff between 26.0rc3 and 26.0 is small (5 files) and mainly contains a canonicalization performance rewrite plus reintroducing a deprecated compat shim for the private Version._version API.

    Features
  • 26.0rc3

    4 months ago

    packaging 26.0rc3 focuses on compatibility with specific affected interpreter versions (CPython 3.11.0-3.11.4, older PyPy3.11) and includes a performance tweak related to version “zero stripping”. It also updates CI to test the first public releases of newer CPython versions and adjusts the publishing workflow.

  • 26.0rc2

    4 months ago

    Release 26.0rc2 contains a small set of fixes focused on Version._key behavior for the (private) packaging_legacy integration, plus minor performance and typing cleanups. It also updates CI/publishing automation to improve tagging and workflow reliability.

  • 26.0rc1

    4 months ago

    Release 26.0rc1 adds support for several packaging PEPs (notably pylock, import name metadata, and Version enhancements), along with many behavior refinements and performance work around Version/specifier and marker handling. It also updates license handling and internal parsing/tokenization behavior, with a number of speedups and correctness fixes.

    Features
  • 25.0

    4/19/2025

    Release 25.0 adds support for PEP 738 Android platform tags and extends environment marker parsing/evaluation to handle PEP 751 constructs for `extras` and `dependency_groups`. It also upgrades ruff to 0.9.1 and includes a small test adjustment related to Unicode filename parsing.

    Features
  • 24.2

    11/8/2024

    Packaging 24.2 includes PEP 639 support for license expressions and license files, plus a set of refactors and bug fixes across version/specifier handling. The release notes also mention tooling updates (ruff formatting and rule application), documentation fixes, and CI dependency bumps.

    BreakingFeatures
  • 24.1

    6/9/2024

    Release 24.1 updates the project tooling and modernizes type annotations across the codebase. It also adds support for Python 3.13 and removes support for Python 3.7. Internally, several modules were touched primarily for annotation syntax upgrades (PEP 604, PEP 585, and use of postponed evaluation).

    BreakingFeatures
  • 24.0

    3/10/2024

    Release 24.0 updates packaging to better handle PEP 703 (disable-GIL) tagging, improves version/specifier parsing edge cases, and adjusts metadata normalization so optional metadata fields default to None. It also includes CI and project automation changes (CodeQL, dependabot configuration, action version pinning) and expands manylinux support to include riscv64.

    Features