Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pypi-search-caching

  • Current Version: 0.0.5a1

Search PyPI package names by regex pattern 🐍📦

Fast, cached regex search over all PyPI packages (~736k+), with optional details (version, maintainer, description).

Screenshot from 2026-02-08 15-44-00.png{width=100}

Features

  • Regex matching (e.g., ^aio.*, flask|django).
  • Access to pypi.org packages via the simple package API
    • ~23h TTL for package names (~/.cache/pypi_search/)
    • 7d LMDB caching for details
  • Color output to console

LMDB caching for details, tqdm progress, test_mode for CI.

Program Options

usage: pypi_search [-h] [--version] [-i] [-d] [--count-only] [-r] [-f] [--test_mode] pattern

positional arguments:
  pattern               Regular expression to match package names (required)

options:
  -h, --help            show this help message and exit
  --version, -V         show program's version number and exit
  -i, --ignore-case     Case-insensitive matching
  --desc, -d            Fetch and show detailed info for first 10 matches
  --count-only          Only show count of matches
  --refresh-cache, -r   Refresh the PyPI cache now. Happens before search.
  --full-desc, -f       Include full description in details (with -d)
  --test_mode           Use logger.info for progress instead of tqdm bars (for non-interactive/tests)

Installation

# Using pip
pip install pypi-search-caching

# Using uv
uv pip install pypi-search-caching
  • Installs pypi_search command to ~/.local/bin (pip) or your virtual environment's bin (uv).

Usage Examples

pypi_search "^aio"

Searches for packages starting with "aio" using cached names.

With details

pypi_search "flask|django" -d

Shows details (version, homepage, etc.) for the first 10 matches.

Refresh cache

pypi_search "pattern" -r

Refreshes the package names cache before searching.

Test mode

pypi_search "^aio" --test_mode

Uses logging for progress instead of tqdm bars, useful for CI or non-interactive environments (shows logs).

Progress bars (tqdm) appear during long fetches like details or filtering; caching (~23h TTL for names, 7d for details via LMDB). Use --test_mode for non-interactive/tests.

Filter by description

pypi_search "aio" --search "async" --count-only

Counts packages matching "aio" whose long descriptions contain "async".

Searching Descriptions (Torch Example)

pypi_search '^torch.*' -s 'image'

Searches for torch packages and filters descriptions containing 'image'. Caches long descriptions for subsequent faster searches.

pypi_search '^torch.*' -s 'image' -d -f'

Subsequently, display summary and full long description (from cache) for matching modules.

My Dev Environment:

  • Python Env: uv
  • IDE: JetBrains PyCharm
  • AI Agent Env:
    • Aider
    • Aider-Desk
    • Junie

Feedback

Licence

MIT License. Built with Requests + BeautifulSoup.

Metadata

Release files for pypi-search-caching 0.0.5a1

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

Source distribution (sdist)

Source distribution for pypi-search-caching 0.0.5a1
File Size Uploaded
pypi_search_caching-0.0.5a1.tar.gz 441.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypi-search-caching 0.0.5a1
File Interpreter ABI Platform
pypi_search_caching-0.0.5a1-py3-none-any.whl Python 3 none any Details

Total release size: 453.7 kB

Release files / pypi_search_caching-0.0.5a1.tar.gz

Download URL pypi_search_caching-0.0.5a1.tar.gz
Size 441.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fc5817448ea09e10f32b7d5801f772dbb16b9f0e184b98629f88d23b33d3a6bf
BLAKE2b-256 checksum
How to use checksums
34ae85b17e1e712174221829f971609295224242397a3516a7fa7422db17f3c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 13, 2026.

Transparency log

Release files / pypi_search_caching-0.0.5a1-py3-none-any.whl

Download URL pypi_search_caching-0.0.5a1-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
023f76e96d0ccc765671631e204331364802d8bb9ff14309fd96074ff1df5719
BLAKE2b-256 checksum
How to use checksums
47addc2cd5416d739b968763bc5a405c399d59da10677db250e66e2ee9971d06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 13, 2026.

Transparency log
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