nab-index
PyPI Simple-API client and on-disk cache for nab
What it is and what it does
nab-index is a low-level PyPI Simple-API client library designed for tools that need typed, cached access to package metadata. It wraps the PyPI Simple API with an async transport layer (defaulting to urllib3, with optional httpx support), a disk cache for project listings and file metadata, and a multi-index router that can apply per-package index overrides using PEP 508 markers. It also includes a small VCS clone helper for higher-level VCS policy integration.
The package is primarily used internally by nab and nab-project; most end users should use nab instead. It targets developers building package management tools or dependency resolvers who need direct control over index queries and caching behavior. The API is explicitly marked as experimental and under rapid change, so adopters should pin to exact versions rather than using flexible version constraints.
Use it for:
- Building custom package management tools that need direct PyPI Simple-API access with on-disk caching.
- Implementing multi-index package resolution with per-package index overrides using PEP 508 markers.
- Integrating VCS-based package sources alongside PyPI indexes in a dependency resolver.
- Creating offline-capable package metadata queries by leveraging the disk cache layer.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A typed PyPI Simple-API client with on-disk caching and multi-index routing, used internally by nab and nab-project to fetch and cache package metadata.
Yes, if you are building a package management tool or dependency resolver that needs typed PyPI Simple-API access with caching and multi-index routing. No, if you are an end user looking for package management—use nab instead. Condition: pin to an exact version because the API is under rapid experimentation. The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license.
Install
nab-index on PyPI
pip
pip install nab-indexuv
uv add nab-indexpoetry
poetry add nab-indexInstalling nab-index
Before you install
Low friction: pure Python wheel with five runtime dependencies (nab-provider, packaging, truststore, typing-extensions, urllib3). Active maintenance with a release on 2026-08-14 and last commit the same day.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution.
Quickstart
pip install nab-index
from nab_index import SimpleIndex
index = SimpleIndex()
# Use the index to query PyPI Simple API with caching
Requires Python 3.10 or later; the API is under rapid experimentation, so pinning to an exact version is recommended.
Verify before relying
- Whether the experimental API surface has stabilized enough for production use despite the beta status and recommendation to pin exact versions.
- Performance characteristics of the on-disk cache under high-volume or concurrent access patterns.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — nab-provider, packaging, truststore, typing-extensions, urllib3 |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 425,462/month — #6,758 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nab_index-0.0.14-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
nab-pythonProvides Python package index integration for…
permissive · top 15,000 on PyPI
nab-resolverA generic PubGrub-style dependency resolver…
permissive · top 15,000 on PyPI
hishelHishel is an HTTP caching library for Python…
permissive · top 5,000 on PyPI
diskcache-weaveDisk-backed cache library that stores key-value…
permissive · top 15,000 on PyPI
sanic-routingSanic-routing is a low-level AST-style router…
permissive · top 5,000 on PyPI
async-substrate-interfaceProvides asynchronous and synchronous…
permissive · top 15,000 on PyPI
diskcacheDiskCache provides a pure-Python disk-backed…
permissive · top 1,000 on PyPI
aiohttp-client-cacheAdds transparent request caching to…
permissive · top 15,000 on PyPI
cachelibCacheLib provides a unified API for interacting…
permissive · top 5,000 on PyPI