Skip to main content

python-resolver

A Python dependency resolver.

Issues

  • Only supports wheels (no sdists!)

Usage

Python library

import packaging.requirements
import resolvelib
import resolver


resolver = resolvelib.Resolver(
    resolver.Provider(),
    resolvelib.BaseReporter(),
)
resolver.resolve({
    packaging.requirements.Requirement('trampolim==0.0.2'),
})

Resolver CLI

$ python -m resolver build
--- Pinned Candidates ---
build: build 0.3.1.post1
pep517: pep517 0.10.0
toml: toml 0.10.2
packaging: packaging 20.9
pyparsing: pyparsing 2.4.7

--- Dependency Graph ---
pep517 -> toml
(root) -> build
build -> pep517, toml, packaging
pyparsing ->
toml ->
packaging -> pyparsing

mindeps CLI

resolver.mindeps will resolve the dependency tree for the minimum supported version. This is useful when you want to for eg. test your software against the minimum version of the dependencies that it claims to support.

It can work on projects directly, or on requirement strings, like the normal CLI. If no argument is provided, it will try to resolve the dependencies for the current project. If arguments are provided, it will treat them as requirement strings and resolve them instead, like the normal CLI. Unlike the normal CLI, the output will be a list of requirement strings that pins the dependency versions.

For resolving the current project, the python-resolver[mindeps] extra needs to be installed.

$ python -m resolver.mindeps
resolvelib==0.7.0
importlib-metadata==3.2.0
mousebender==2.0.0
zipp==0.5.0
attrs==19.3.0
packaging==20.3
pyparsing==2.0.3
six==1.5.0
$ python -m resolver.mindeps build==0.3.0
build==0.3.0
pep517==0.9.1
toml==0.9.6
packaging==14.0

Release files for python-resolver 0.0.2.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-resolver 0.0.2.post1
File Size Uploaded
python_resolver-0.0.2.post1.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-resolver 0.0.2.post1
File Interpreter ABI Platform
python_resolver-0.0.2.post1-py3-none-any.whl Python 3 none any Details

Total release size:19.3 kB

Release files / python_resolver-0.0.2.post1.tar.gz

Download URL python_resolver-0.0.2.post1.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7f8987e423c9d10b8fbbf49fb77fef34eed7ab6f4ef65fe33909b8ecf6be5a1f
BLAKE2b-256 checksum
How to use checksums
8e48bcd33ae02ed31173561fdf48e4c85967680f687a0edd99dde46bc8d06e2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

Release files / python_resolver-0.0.2.post1-py3-none-any.whl

Download URL python_resolver-0.0.2.post1-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7e76eca078e2e856a1fa785f6c5954445b7b7621bf17e5b76d7958c7ac83089
BLAKE2b-256 checksum
How to use checksums
be48a9352ce2c8cd3bc46eeeef8f5631545d3379ee83cb97640b36c38bcb14d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

Release history Release notifications | RSS feed

This release

0.0.2.post1 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page