Metadata-Version: 2.5
Name: nab-provider
Version: 0.0.20
Summary: IO-free resolution core for nab
Project-URL: Homepage, https://github.com/notatallshaw/nab
Project-URL: Documentation, https://nab.readthedocs.io/
Project-URL: Issues, https://github.com/notatallshaw/nab/issues
Project-URL: Source, https://github.com/notatallshaw/nab
Project-URL: Changelog, https://github.com/notatallshaw/nab/releases
Author-email: Damian Shaw <damian.peter.shaw@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: nab-markersets==0.0.20
Requires-Dist: nab-resolver==0.0.20
Requires-Dist: typing-extensions>=4.6
Description-Content-Type: text/markdown

# nab-provider

Apply Python packaging rules during dependency resolution. This package supplies candidate versions
and their dependency constraints to [`nab-resolver`](https://pypi.org/project/nab-resolver/),
including environment markers and build, distribution, and VCS policies.

It performs no networking, file access, or subprocess calls.

Package listings and metadata arrive through `nab_provider.fetch_port.FetchPort`, an interface
implemented by the application using the provider. That application is called the host;
`nab-project` supplies it for the nab CLI. `nab_provider.testing` supplies an in-memory
implementation for tests.

## When to use it

Use `nab-provider` to embed nab's resolution in a host that already owns its networking and caching,
keeping [`nab-index`](https://pypi.org/project/nab-index/) out of the import graph. Most users want
[`nab`](https://pypi.org/project/nab/) instead.

The API is currently under rapid experimentation, if you use it pin to an exact version.
