pkg-about
Unified access to Python package metadata at runtime.
What it is and what it does
pkg_about provides a single interface to read Python package metadata at runtime, abstracting away differences between build systems and project layouts. It exposes three main functions: about(package_name) to query any installed package, about() to query the current package, and about_from_setup() to read metadata directly from pyproject.toml or setup.cfg. The package depends on typing-extensions, packaging, and build to handle the complexity of modern Python packaging standards.
This is useful when your code needs to inspect package versions, authors, URLs, or other metadata without hardcoding values or duplicating information already stored in project configuration. It works across CPython, PyPy, and GraalPy on Python 3.11 through 3.15, and has been in production use since 2021.
Use it for:
- Embed the current package's version or author info in CLI help text or error messages without duplicating setup.cfg or pyproject.toml.
- Query installed dependencies' metadata (license, homepage, version) for compliance audits or dependency reports.
- Build introspection tools that need to read package metadata uniformly regardless of how the package was built or installed.
- Populate __version__ or __about__ module attributes from canonical package metadata at import time.
- Generate dynamic documentation or changelogs that reference package metadata retrieved at runtime.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Retrieves Python package metadata at runtime in a uniform way, regardless of build backend or project structure, with functions to query any installed package or the current package's metadata.
Yes. Low install friction, active maintenance, permissive license, no known vulnerabilities, and a clear use case for any project that needs to read package metadata at runtime without reimplementing the logic. Install it if you're building tools, CLIs, or libraries that need to introspect package information.
Install
pkg-about on PyPI
pip
pip install pkg-aboutuv
uv add pkg-aboutpoetry
poetry add pkg-aboutInstalling pkg-about
Before you install
Low install friction with a pure-Python wheel and only three runtime dependencies (typing-extensions, packaging, build). Active maintenance with a recent release 74 days ago; requires Python 3.11 or higher.
License in practice
Licensed under Zlib (permissive), which allows commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install pkg-about
import pkg_about
metadata = pkg_about.about("pip")
print(metadata.__uri__)
Requires Python 3.11 or higher.
Verify before relying
- Whether the metadata retrieval works consistently across all modern build backends (setuptools, poetry, hatch, etc.)
- Performance characteristics when querying metadata for packages with large or complex metadata
- Whether about() without arguments reliably detects the calling package in all contexts (e.g., installed vs. editable installs)
Package facts
| License | Zlib (permissive) |
| Python support | supports the current Python release (<4.0.0,>=3.11.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — typing-extensions, packaging, build |
| Maintenance | actively maintained — 74 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 290,997/month — #7,979 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pkg_about-2.4.3-py3-none-any.whl
Keywords: pkg_about, __about__, packaging
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyproject-apiProvides a programmatic API to read and…
permissive · top 5,000 on PyPI
pyproject-parserParses and extracts metadata from…
permissive · top 15,000 on PyPI
dist-metaParse and create Python distribution metadata…
permissive · top 15,000 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
flitFlit is a Python packaging tool that simplifies…
permissive · top 5,000 on PyPI
oldest-supported-numpyProvides the oldest version of NumPy compatible…
permissive · top 5,000 on PyPI
sampleprojectA minimal reference implementation…
permissive · top 15,000 on PyPI
pyc-wheelCompiles all Python source files (.py) in a…
permissive · top 15,000 on PyPI
whoolwhool is a PEP 517 and PEP 660 compliant build…
permissive · top 15,000 on PyPI