skillfed

nab-index

PyPI Simple-API client and on-disk cache for nab

nab-index v0.0.14 425.5K downloads/30d#6,758 on PyPI24
Permissive license MIT Active released

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-index

uv

uv add nab-index

poetry

poetry add nab-index

Installing 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

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

Tags

pypi simple api clientpackage metadata cacheasync pypi indexon-disk cache pypimulti-index package router
pypi-clientpackage-metadatacaching

More WWW/HTTP packages