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)
| File | Size | Uploaded | |
|---|---|---|---|
| python_resolver-0.0.2.post1.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|