nab-index
PyPI Simple-API client and on-disk cache for nab
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; the API is under rapid experimentation, so pinning to an exact version is recommended.
- 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 · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution.
last release 2026-08-14 (0 days) · last repo commit 2026-08-14 · 24 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 425,462 downloads/mo, #6,758 on PyPI
Alternatives
Verify before relying
pip install nab-index
from nab_index import SimpleIndex
index = SimpleIndex()
# Use the index to query PyPI Simple API with caching- 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.
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 on it.
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
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.
Requires Python 3.10 or later; the API is under rapid experimentation, so pinning to an exact version is recommended.
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
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 packagesnab-providerpackagingtruststoretyping-extensionsurllib3 |
| 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 |
| Classifiers | Development Status :: 4 - BetaProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed |
Evidence: nab_index-0.0.14-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “package metadata cache”
- nab-indexA typed PyPI Simple-API client with on-disk caching and multi-index…
- diskcache-weaveDisk-backed cache library that stores key-value pairs on disk and in…
- geodatasetsGeodatasets provides a curated database of geospatial example…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also nab-python · nab-resolver · hishel · diskcache-weave · sanic-routing · async-substrate-interface · diskcache · aiohttp-client-cache · cachelib