A utility to fetch and download python packages
Project description
unearth
A utility to fetch and download python packages
Why this project?
This project exists as the last piece to complete the puzzle of a package manager. The other pieces are:
- resolvelib - Resolves concrete dependencies from a set of (abstract) requirements.
- unearth (This project) - Finds and downloads the best match(es) for a given requirement.
- build - Builds wheels from the source code.
- installer - Installs packages from wheels.
They provide all the low-level functionalities that are needed to resolve and install packages.
Requirements
unearth requires Python >=3.7
Installation
$ python -m pip install --upgrade unearth
Quickstart
Get the best matching candidate for a requirement:
>>> from unearth import PackageFinder
>>> finder = PackageFinder(index_urls=['https://pypi.org/simple/'])
>>> result = finder.find_best_match("flask>=2")
>>> result.best_candidate
Package(name='flask', version='2.1.2', link=<Link https://files.pythonhosted.org/packages/ba/76/e9580e494eaf6f09710b0f3b9000c9c0363e44af5390be32bb0394165853/Flask-2.1.2-py3-none-any.whl#sha256=fad5b446feb0d6db6aec0c3184d16a8c1f6c3e464b511649c8918a9be100b4fe (from https://pypi.org/simple/flask)>)
Using the CLI:
$ unearth "flask>=2"
{
"name": "flask",
"version": "2.1.2",
"link": {
"url": "https://files.pythonhosted.org/packages/ba/76/e9580e494eaf6f09710b0f3b9000c9c0363e44af5390be32bb0394165853/Flask-2.1.2-py3-none-any.whl#sha256=fad5b446feb0d6db6aec0c3184d16a8c1f6c3e464b511649c8918a9be100b4fe",
"comes_from": "https://pypi.org/simple/flask",
"yank_reason": null,
"requires_python": ">=3.7"
}
}
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
unearth-0.1.0.tar.gz
(254.3 kB
view details)
Built Distribution
unearth-0.1.0-py3-none-any.whl
(22.5 kB
view details)
File details
Details for the file unearth-0.1.0.tar.gz
.
File metadata
- Download URL: unearth-0.1.0.tar.gz
- Upload date:
- Size: 254.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0b20c5d16449b785c7a0468d29ee8fb9a9866715e0c1f5b30be1abda499c8ef |
|
MD5 | 2ad93c7c48e05dc3a7ce9242a1413963 |
|
BLAKE2b-256 | 8d26569dd4e534ceae99bd16e4810a3751d578eb69c6f2abf310456a021485f1 |
File details
Details for the file unearth-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: unearth-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99f0706ffae05801d10d465e034268f625b82e9f861c740c3ae0c7efb5aa6888 |
|
MD5 | 65fcd266d345b4ef44d9115c7b3b9644 |
|
BLAKE2b-256 | 6265486216565b38ea6305d7b2360246b2f663a90e27b2fd4893417b500135f6 |