Skip to main content

Investigate Python package metadata, dependencies, and known vulnerabilities. Built for developers and AI agents.

Project description

peeq

PyPI Python License

Investigate Python package metadata, dependencies, files, versions, and vulnerability data from published artifacts on PyPI and private registries — without installing packages.

Provides structured, token-efficient output for AI agents alongside rich terminal output for human users.

[!NOTE] Transparency note: This project is developed with heavy use of AI coding agents.
Although most code is AI-generated, architecture and design are human-guided and reviewed, and all changes are tested.

Features

  • 🔍 Inspect without installing — query metadata, dependencies, and files from published artifacts — no install required.
  • 🌳 Dependency analysis — resolve dependency trees, detect conflicts, and compare versions.
  • 📄 Read package files — inspect pyproject.toml, LICENSE, and other files directly from a published distribution.
  • 🛡️ Vulnerability scanning — check packages against the OSV database for known security vulnerabilities.
  • 🤖 Built for AI agents — built-in agent skill for tool discovery and --format agent for structured, token-efficient output.
  • 🔒 Private registry support — works with any PEP 503-compatible package index via --index-url.
  • Persistent caching — avoid redundant network requests with an SQLite-backed local cache.

peeq vs pip / uv

Task pip / uv peeq
View package metadata Install, then pip show / uv pip show peeq info <pkg>
View dependencies Download artifact, extract, parse metadata peeq deps <pkg>
Compare deps across versions Custom scripts peeq deps <pkg> --version X --diff Y
Read a file from a package Download, extract, navigate to file peeq cat <pkg> pyproject.toml
Check for vulnerabilities Separate vulnerability scanner peeq vulns <pkg>
Resolve dependency tree Trial install in isolated environment peeq resolve "pkg>=1.0"
Check for conflicts Custom scripts or trial-and-error installs peeq conflicts "pkgA" "pkgB"
Trace why a package is needed Manual dependency graph tracing peeq why "requests>=2.31" -d urllib3

Installation

Requires Python 3.10+.

# Install globally with uv (recommended)
uv tool install peeq

# Install with pip
pip install peeq

Zero-install with uvx

If you have uv installed, you can also run peeq directly without installing it.
For example:

uvx peeq info requests

[!IMPORTANT] uv is the recommended installation method.
Additionally, commands like resolve, conflicts, and why utilize uv and require it to be installed. See the installation docs for details.

Commands

Command Description
info Show package metadata with optional sections
versions List available versions with filtering
deps Show dependencies with diff and wheel tag support
artifacts List distribution artifacts (wheels, sdists) for a version
cat Print a file from inside a package archive
ls List paths inside a package archive
download Download a package archive
vulns Check for known vulnerabilities (OSV)
resolve Resolve full dependency tree
conflicts Check if packages can coexist
why Trace why a package is in the dependency tree
cache Cache management (info, clear, check, dump)
config Configuration management (file path)
skill Show agent skill instructions

Full documentation

Agent Skill

peeq includes a built-in Agent Skill — structured instructions that teach AI agents how to use peeq for package research.

Install

Download SKILL.md and place it in a peeq/ directory within your agent platform's skill directory.

See the skill documentation for integration options.

[!TIP] Agents can also load peeq's skill by running peeq skill show directly.

Contributing

See CONTRIBUTING.md for development setup, coding standards, and testing guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peeq-0.1.0.tar.gz (128.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peeq-0.1.0-py3-none-any.whl (148.9 kB view details)

Uploaded Python 3

File details

Details for the file peeq-0.1.0.tar.gz.

File metadata

  • Download URL: peeq-0.1.0.tar.gz
  • Upload date:
  • Size: 128.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for peeq-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0e33652a8e7afe707b33a6bf616b05479e02009619f9133c1ba103c9ad109781
MD5 3f93e51294d6bc2cc176ad55f60815f7
BLAKE2b-256 fa219a99e8cdb5cf6824f4388cfbd95c203bfe84621591542da13db255d458c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for peeq-0.1.0.tar.gz:

Publisher: release.yml on MichaelYochpaz/peeq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peeq-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: peeq-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 148.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for peeq-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35792afd86488c140516baa26d885df38e804c948dc6f8d5e5bec9fcc7064122
MD5 64bbf28c7d3e480c57875b2bc6a069c8
BLAKE2b-256 8fee676a7181724f10117b98374eafc7b6085fb48f3c964856b3481a466adf6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for peeq-0.1.0-py3-none-any.whl:

Publisher: release.yml on MichaelYochpaz/peeq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page