Skip to main content

peta

CI Coverage Documentation Status PyPI - Version PyPI - Python Version License - MIT GitHub Stars Latest Commit

Checked with mypy linting - Ruff OpenSSF Scorecard GitHub Tag

Downloads Downloads/Month Downloads/Week

Human-friendly Python package metadata viewer. Think cargo info for Python.

peta shows detailed metadata for a Python package — from your local environment or from PyPI — with clean, Rich-formatted terminal output.

Features

  • Local + remote — inspect installed packages or any package on PyPI
  • Rich output — readable tables, panels, and trees
  • Dependency listing — see a package's declared dependencies
  • File listing — list files installed by a local package
  • Version listing — browse published versions from PyPI
  • Release artifacts — wheels, sdists, digests, compatibility, and provenance
  • Structured output — Rich, plain text, versioned JSON, or Markdown

Installation

peta is an end-user CLI tool; install it into an isolated environment:

# Run without installing
uvx peta requests

# Install as a tool
uv tool install peta
pipx install peta

On macOS/Linux via Homebrew:

brew install hasansezertasan/tap/peta

On Windows via Scoop:

scoop bucket add hasansezertasan https://github.com/hasansezertasan/scoop-bucket
scoop install peta

Requires: Python 3.11+ (3.11 through 3.14 are tested; see supported Python versions)

Usage

Inspect another Python environment

info, compare, deps, files, and origin normally inspect the environment running peta. Pass --python PATH to inspect an explicit interpreter, or repeat --path to search explicit metadata directories:

peta info django --local --python .venv/bin/python
peta deps django --local --path .venv/lib/python3.14/site-packages
peta files django --python .venv/bin/python
peta origin django --python .venv/bin/python --verify
peta compare django flask --local --python .venv/bin/python

--path selects the metadata search directories. --python selects both the interpreter's search path and its marker environment; when both are supplied, the paths come from --path and markers come from --python. With only --path, markers come from the running interpreter. Peta never guesses a nearby .venv; human output and JSON identify the target and marker values.

peta requests                 # info (local first, falls back to PyPI)
peta info requests            # explicit info
peta info requests==2.31.0    # a specific version from PyPI
peta deps flask               # declared metadata tree
peta deps flask --why certifi # why is certifi pulled in?
peta files rich               # files installed locally
peta origin rich              # how it was installed, and do its files match?
peta versions httpx           # published versions on PyPI
peta artifacts cryptography   # what the latest release ships
peta artifacts numpy==2.3.0 --files --python 3.12
peta compare requests httpx   # side-by-side comparison plus semantic changes
peta compare django==5.2 django==6.0 --changes-only  # what an upgrade changes
peta requests --format json   # versioned machine-readable output
peta requests --json          # compatibility alias for --format json

Flags

Flag Applies to Meaning
--format <format> all rich, text, json, or markdown (default rich)
--json all compatibility alias for --format json
--local / -l info, compare, deps force local lookup
--remote / -r info, compare, deps force PyPI lookup
--limit / -n versions max versions to show (default 20)
--python <path> info, compare, deps, files, origin interpreter whose search path and markers to inspect
--path <dir> info, compare, deps, files, origin metadata search directory; repeatable
--python <x.y> artifacts target Python version for compatibility (default: running)
--files artifacts list every distribution file
--provenance artifacts fetch PEP 740 provenance for publisher identity
--why <target> deps show why <target> is a dependency
--depth <n> deps max recursion depth (default 10)
--extra <name> deps activate optional extra dependencies on root; repeatable
--python-version <ver> deps target Python version (e.g. 3.12)
--platform <plat> deps target platform (e.g. win32, linux, darwin)
--no-osv info, compare skip OSV vulnerability lookup
--no-stats info, compare skip download/dependent count lookups
--verify origin hash every installed file against RECORD
--changes-only compare show only the grouped semantic changes
--artifacts compare also compare release dates, artifacts, and provenance
--no-color (root) disable colored output (also via NO_COLOR)
--version / -V (root) print version and exit

License

MIT

Metadata

Release files for peta 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peta 0.3.0
File Size Uploaded Provenance
peta-0.3.0.tar.gz 261.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for peta 0.3.0
File Interpreter ABI Platform
peta-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 426.6 kB

Release files / peta-0.3.0.tar.gz

Download URL peta-0.3.0.tar.gz
Size 261.0 kB
Tags Source
SHA-256 checksum
How to use checksums
082ffe1778e658e3261904c557041e6118935e8798a8e92a7fcd844600e398d9
BLAKE2b-256 checksum
How to use checksums
92155089ac4339d1b17aad0a5531ee0b1038f0d55934f7affa7f5d57e3fd2a5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / peta-0.3.0-py3-none-any.whl

Download URL peta-0.3.0-py3-none-any.whl
Size 165.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0491841204ab30f5f38891c139e1db04400dccd5f6ae25d341b6d207be2dbb16
BLAKE2b-256 checksum
How to use checksums
022aceb26e4e03712e08ad1f711ebb12fe227306e6904a637fe0e558d50ee755
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for peta 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for peta-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page