This release is a pre-release and may not be stable for production use.
pypi-search-caching
Adds the command: pypi_search
- 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).
{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
- ~23h TTL for package names (
- 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_searchcommand to~/.local/bin(pip) or your virtual environment's bin (uv).
Usage Examples
Basic search
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
- 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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pypi_search_caching-0.0.5a1.tar.gz | 441.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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