nab-resolver 0.0.18


pip install nab-resolver

  Latest version

Released: Sep 20, 2026


Meta
Author: Damian Shaw
Requires Python: >=3.10

Classifiers

Development Status
  • 4 - Beta

Programming Language
  • Python :: 3
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14

Typing
  • Typed

nab-resolver

Generic PubGrub dependency resolver, parameterised over a ResolverProvider protocol. No Python-specific knowledge: this package is a SAT-style solver core. The Python provider lives in nab-provider and the user-facing CLI in nab.

It has no runtime dependencies: the standard library is all it needs.

When to use it

Use nab-resolver when you are building some kind of package resolver, Python or otherwise. There is a worked example in the docs: https://nab.readthedocs.io/en/stable/how-to/embed-the-resolver.html

The public API

The supported API is the module paths below. They will not move without a major version bump. Everything else in the package is internal and may be renamed or relocated in any release.

nab_resolver.errors     ResolutionError
nab_resolver.ranges     Range
nab_resolver.resolver   BaseProvider, DEFAULT_MAX_ITERATIONS, Resolver,
                        ResolverObserver, ResolverProvider, Solution
nab_resolver.root       ROOT
nab_resolver.types      Incompatibility, IncompatibilityCause,
                        RangeProtocol, RootRequirement, Term

The package root binds no names, so importing nab_resolver pulls in no submodules and a caller loads only what it imports.

Wheel compatibility matrix

Platform Python 3
any

Files in release

No dependencies