skillfed

nab-python

Index-backed provider, lockfile emitter, and downloader for nab

nab-python v0.0.13 425.2K downloads/30d#6,760 on PyPI24
Permissive license MIT Active released

What it is and what it does

nab-python is a Python package index provider that powers the nab resolver, handling all the mechanics of interaction with standards-based Python package indexes. It is designed for developers who want to embed package resolution and lockfile generation into their own tools without using the CLI. The package implements build and distribution policies that let you control how the resolver and installer behave.

The package is actively maintained and currently in beta. It depends on build, installer, nab-index, nab-resolver, pyproject-hooks, tomli-w, tomli, and typing-extensions. The maintainers explicitly warn that the API is under rapid experimentation, so you should pin to exact versions rather than ranges.

Use it for:

  • Embed Python package resolution in a custom build or deployment tool
  • Generate lockfiles programmatically for reproducible environments
  • Build a package manager or dependency analysis tool on top of nab
  • Integrate index-backed resolution into a CI/CD or infrastructure tool
  • Control resolver behavior through custom build and distribution policies

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python package index integration for the nab resolver, handling package discovery, resolution, and lockfile generation without requiring the CLI.

Yes, if you need to embed package resolution in a tool and are willing to pin exact versions due to the API's experimental status. The active maintenance, low install friction, MIT license, and zero known vulnerabilities support adoption. Not suitable if you need a stable, long-term API guarantee.

Install

nab-python on PyPI

pip

pip install nab-python

uv

uv add nab-python

poetry

poetry add nab-python

Installing nab-python

Before you install

Active maintenance with a release 3 days old. Low install friction from a pure-wheel distribution. Eight runtime dependencies including build, installer, and resolver components suggest a moderately complex dependency tree, though all are standard tooling packages.

License in practice

MIT license permits commercial and private use with minimal restrictions, making it suitable for embedding in other tools.

Quickstart

pip install nab-python

from nab_python import <provider_or_resolver_class>
# Embed resolver in your tool without CLI

Requires Python 3.10 or later; API is under rapid experimentation, so exact version pinning is recommended.

Verify before relying

  • Specific API surface and stability guarantees beyond 'under rapid experimentation'
  • Whether the eight runtime dependencies are all required or some are optional
  • Performance characteristics for large dependency graphs or index queries

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 8 — build, installer, nab-index, nab-resolver, pyproject-hooks, tomli-w, tomli, typing-extensions
Maintenance actively maintained — 3 days since the last release
Last repo commit
First released
Downloads 425,217/month — #6,760 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nab_python-0.0.13-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

python package resolution libraryembed package resolver in toolspython index provider apilockfile generation for packagesprogrammatic dependency resolutionnab resolver integrationpackage index abstractionbuild and distribution policies
package-resolutionlockfile-generationprogrammatic-api

More Build Tools packages