Search PyPI package names by regex pattern, with caching and optional details.
Project description
pypi_search
- Current Version: v0.0.2-Beta
Search PyPI package names by regex pattern 🐍📦
Fast, cached regex search over all PyPI packages (~736k+), with optional details (version, maintainer, description).
{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/)
- 23h cache (
- Color output to console
Program Options
package_name | <regex pattern>- first parameter
--cache-refresh | -r- to refresh cache on demand
--desc | -d- Optional details for top 10 matches.
--full-desc | -f- for full description
--count-only | -c- just test counts of matches
Installation
# Standard pip install
pip install pypi_search_cached
# uv environment install
uv pip install pypi_search_cached
- Installs pypi_search to ~/.local/bin
Usage
pypi_search "pattern"
Details for first 10 pypi_search "flask|django" --desc 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
- Let me know what you think. Please post bug, suggestions, and wins from using pypi_search. I'd really appreciate it.
- Links
Licence
MIT License. Built with Requests + BeautifulSoup.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypi_search_caching-0.0.2b0.tar.gz.
File metadata
- Download URL: pypi_search_caching-0.0.2b0.tar.gz
- Upload date:
- Size: 326.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28545a866ef32d715ee029ce743e5f40e2a22309d1b53a782cc6d62e3e5e585f
|
|
| MD5 |
685f3a664c22144b900c9fe877b0d28a
|
|
| BLAKE2b-256 |
61d79e2f6d86b919b2106e146e8a735c269d61d5f81e8572e3a0e32bb464b3a5
|
Provenance
The following attestation bundles were made for pypi_search_caching-0.0.2b0.tar.gz:
Publisher:
python-publish.yml on dsidlo/pypi_search
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypi_search_caching-0.0.2b0.tar.gz -
Subject digest:
28545a866ef32d715ee029ce743e5f40e2a22309d1b53a782cc6d62e3e5e585f - Sigstore transparency entry: 937061346
- Sigstore integration time:
-
Permalink:
dsidlo/pypi_search@9b69b8d6612c01cb78f0174f06e6984c6b655e28 -
Branch / Tag:
refs/tags/v0.0.2-Beta - Owner: https://github.com/dsidlo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@9b69b8d6612c01cb78f0174f06e6984c6b655e28 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pypi_search_caching-0.0.2b0-py3-none-any.whl.
File metadata
- Download URL: pypi_search_caching-0.0.2b0-py3-none-any.whl
- Upload date:
- Size: 2.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4616cd18c2ab819e02b03dd37891f6269d1c43ac53f759c64665d3777e7e2ff5
|
|
| MD5 |
5302ec991315a49e1cfd08a7d7655709
|
|
| BLAKE2b-256 |
ec5c108bae3981f250df804fc8b8667acf29eb6e6f2eb1582fa32eac8593a56c
|
Provenance
The following attestation bundles were made for pypi_search_caching-0.0.2b0-py3-none-any.whl:
Publisher:
python-publish.yml on dsidlo/pypi_search
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypi_search_caching-0.0.2b0-py3-none-any.whl -
Subject digest:
4616cd18c2ab819e02b03dd37891f6269d1c43ac53f759c64665d3777e7e2ff5 - Sigstore transparency entry: 937061363
- Sigstore integration time:
-
Permalink:
dsidlo/pypi_search@9b69b8d6612c01cb78f0174f06e6984c6b655e28 -
Branch / Tag:
refs/tags/v0.0.2-Beta - Owner: https://github.com/dsidlo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@9b69b8d6612c01cb78f0174f06e6984c6b655e28 -
Trigger Event:
release
-
Statement type: