Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

PyPI JSON API (pypi-json)

PyPI JSON API: Tools for querying Python package metadata, release information, and statistics from the Python Package Index

Version: v0.2.2 Install: /plugin install pypi-json@mearman

Skills

PyPI Package Information

Retrieve comprehensive metadata for Python packages from the Python Package Index (PyPI).

Usage

npx tsx scripts/info.ts <package-name> [options]

Arguments

Argument Required Description
package-name Yes The exact package name (case-insensitive)

Options

Option Description
--no-cache Bypass cache and fetch fresh data from PyPI
--releases Show detailed release history and file information
--files Show distribution files for the latest release

Output

django
==================================================
Latest Version: 5.0.1
License: BSD
Author: Django Software Foundation

Summary:
A high-level Python web framework that encourages rapid development and clean,
pragmatic design.

Project URLs:
  Documentation: https://docs.djangoproject.com/
  Repository: https://github.com/django/django
  Bug Tracker: https://code.djangoproject.com/

Python Requirement: >=3.10

Dependencies (latest):
  - asgiref >=3.6.0,<4
  - sqlparse >=0.2.2

Run from the pypi-json plugin directory: ~/.claude/plugins/cache/pypi-json/

API Query

Request Format

GET https://pypi.org/pypi/{package}/json

Parameters

Parameter Required Description
package Yes The exact package name (case-insensitive on PyPI)
format No Always use json for structured data

Response Codes

Status Meaning
200 OK Package found and metadata returned
404 Not Found Package does not exist on PyPI

Package Metadata

The API returns comprehensive package information structured in these main sections:

Core Package Information

  • info - Package metadata object
    • name - Package name
    • version - Latest version number
    • summary - Short description
    • description - Full description
    • license - License identifier
    • author - Package author name
    • author_email - Author contact email
    • maintainer - Current maintainer
    • maintainer_email - Maintainer email
    • home_page - Project homepage URL
    • project_urls - Dictionary of project-related URLs (documentation, repository, bug tracker, etc.)
    • keywords - Space-separated keywords
    • classifiers - List of PyPI classifiers (topic, audience, license, etc.)
    • requires_python - Required Python version(s) as version specifier

Release Information

  • releases - Object mapping version strings to arrays of distribution files
    • Each release contains file info: filename, URL, MD5, SHA256, size, file type
    • Includes both wheel (.whl) and source (.tar.gz) distributions
    • File type indicators: bdist_wheel, sdist

Latest Release Details

  • urls - Array of distribution files for the latest version
    • filename - Distribution file name
    • url - Direct download URL
    • hashes - Dict of hash algorithms and values
    • requires_python - Python version requirement
    • yanked - Whether this release is yanked (deprecated)
    • upload_time_iso_8601 - Publication timestamp

Output Format

django
==================================================
Latest Version: 5.0.1
License: BSD
Author: Django Software Foundation

Summary:
A high-level Python web framework that encourages rapid development and clean,
pragmatic design.

Project URLs:
  Documentation: https://docs.djangoproject.com/
  Repository: https://github.com/django/django
  Bug Tracker: https://code.djangoproject.com/

Python Requirement: >=3.10
Classifiers:
  - Development Status :: 5 - Production/Stable
  - Environment :: Web Environment
  - Framework :: Django :: 5.0
  ... (and more)

Latest Release Files (with --files flag):
  Django-5.0.1-py3-none-any.whl [wheel] - 8.2 MB
  Django-5.0.1.tar.gz [source (tar.gz)] - 9.1 MB

Examples

Get package metadata:

https://pypi.org/pypi/requests/json

Get specific version:

https://pypi.org/pypi/requests/2.31.0/json

Common Uses

  • Package Discovery: Find package descriptions, authors, and project URLs
  • Dependency Analysis: Check Python version requirements and release history
  • Version Information: Identify stable releases vs pre-release versions
  • License Verification: Determine package licensing and compliance
  • Availability Check: Verify if a package exists on PyPI

Caching

Package metadata is cached for 6 hours. Use the --no-cache flag to bypass the cache.

Related APIs

For more information, see:

Error Handling

Package not found: If the package doesn't exist on PyPI, the API returns a 404 status code.

Network errors: Connection timeouts or unreachable hosts. Use --no-cache to retry from PyPI.

Invalid package name: PyPI is case-insensitive for package names. The API normalizes names by:

  • Converting to lowercase
  • Treating hyphens (-), underscores (_), and dots (.) as equivalent
  • Examples: my-package, my_package, my.package all refer to the same package