Skip to main content

Search PyPI package names by regex pattern, with caching and optional details.

Project description

pypi-search-caching (pypi_search command)

  • Current Version: v0.0.4b1

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 cache (~/.cache/pip-search/)
  • Color output to console

Program Options

 uv run python src/pypi_search.py -h
usage: pypi_search.py [-h] [--version] [-i] [--desc] [--count-only] [--refresh-cache] [--full-desc] pattern

Search PyPI packages by regex

positional arguments:
  pattern              Regular expression to match package names

options:
  -h, --help           show this help message and exit
  --version, -V        show program`s version number and exit
  -i, --ignore-case    Case-insensitive matching (default: on)
  --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)

Installation

# Standard pip install
pip install pypi-search-caching

# uv environment install
uv pip install pypi-search-caching
  • Installs pypi_search to ~/.local/bin

Usage

pypi_search "pattern"

pypi_search --version

Details for first 10: pypi_search "flask|django" --desc

Count only: pypi_search "pattern" --count-only

pypi_search "^aio" -d 

Examples

Input argument is anchored between '^' start of line and '$' end of line. So if there are not regular expression character, it searches for a specific module...

  ./pypi_search aiohttp 
Using cached package list (age < 23h)
Found 1 matching packages:

aiohttp

Total matches: 1

Search for a module that begins with...

  pypi_search "^aio" | less

Found 2,159 matching packages:

AIO-CodeCheck
AIOAladdinConnect
AIOConductor
AIOPayeerAPI
AIOPools
...
aiozmq-heartbeat
aiozoneinfo
aiozoom
aiozyre

Total matches: 2,159

Search for a string in the middle of a package name:

  ./pypi_search '.*aio.*'  | less
Found 3,094 matching packages:

AIO-CodeCheck
AIOAladdinConnect
AIOConductor
AIOPayeerAPI
AIOPools
...
traio
trakt_aiohttp
transitions-aio
trio-aiohttp
twm-aiokafka
txaio
txaioetcd
types-aioboto3
types-aioboto3-lite
types-aiob[lib](.venv/lib)otocore
...
xmaios-bot
ya-aioclient
yandex-aiobot-py
yclients-aio-client
youtubeaio
youtubeaio-extended
z21aio

Total matches: 3,094

Search for a module that ends with...

  ./pypi_search '.*http$'  | less

Found 413 matching packages:

BasicHttp 
CANedge-HTTP 
CodernityDB-HTTP 
CydraGitHTTP 
Flask-Shell2HTTP 
...
zerohttp 
zhttp 
zhujiaying-boss-mcp-weather-http 
zimran-http 
zipr-http 
zope.app.http 

Total matches: 413

My Dev Environment:

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

Feedback

Licence

MIT License. Built with Requests + BeautifulSoup.

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

pypi_search_caching-0.0.4b1.tar.gz (360.0 kB view details)

Uploaded Source

Built Distribution

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

pypi_search_caching-0.0.4b1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file pypi_search_caching-0.0.4b1.tar.gz.

File metadata

  • Download URL: pypi_search_caching-0.0.4b1.tar.gz
  • Upload date:
  • Size: 360.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pypi_search_caching-0.0.4b1.tar.gz
Algorithm Hash digest
SHA256 1ed39121c755f55b50e7885687870fe491e131717d23b7005a76b0ce225c53c0
MD5 dbae7723cd78ba0680bd2c3a67869266
BLAKE2b-256 e9ab4c11a5253df1c501380177232b3759811300d312dbf8436bcbf8c14d6eb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypi_search_caching-0.0.4b1.tar.gz:

Publisher: python-publish.yml on dsidlo/pypi_search

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

File details

Details for the file pypi_search_caching-0.0.4b1-py3-none-any.whl.

File metadata

File hashes

Hashes for pypi_search_caching-0.0.4b1-py3-none-any.whl
Algorithm Hash digest
SHA256 d75498ce9bb9c1a42f121c28d92cad4a546bbadfaaa3e71c366299d23ecfb852
MD5 2c51ad5dca3d9fe7c1f11028be96c873
BLAKE2b-256 67352da03f2385b7dff83944899962dad80c73f7dcafdbd6de6b06cf44f7e811

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypi_search_caching-0.0.4b1-py3-none-any.whl:

Publisher: python-publish.yml on dsidlo/pypi_search

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