用于获取和下载Python包的实用工具
项目描述
unearth
用于获取和下载Python包的实用工具
为什么有这个项目?
本项目存在作为包管理器最后一部分的解决方案。其他部分包括
- resolvelib - 从一组(抽象)需求中解决具体依赖。
- unearth (本项目) - 寻找并下载给定需求的最佳匹配项。
- build - 从源代码构建wheel。
- installer - 从wheel安装包。
它们提供了解决和安装包所需的所有底层功能。
为什么不使用pip?
核心功能基本上是从pip中提取的。然而,pip并不是设计为库来使用的,因此API不是很稳定。Unearth充当pip的PackageFinder
API的稳定替代品。它将遵循语义版本控制的约定,以便下游项目可以使用它来开发自己的包查找和下载。
需求
unearth需要Python >=3.8
安装
$ python -m pip install --upgrade unearth
快速入门
获取需求的最匹配候选者
>>> from unearth import PackageFinder
>>> finder = PackageFinder(index_urls=["https://pypi.ac.cn/simple/"])
>>> result = finder.find_best_match("flask>=2")
>>> result.best
Package(name='flask', version='2.1.2')
使用CLI
$ unearth "flask>=2"
{
"name": "flask",
"version": "3.0.0",
"link": {
"url": "https://files.pythonhosted.org/packages/36/42/015c23096649b908c809c69388a805a571a3bea44362fe87e33fc3afa01f/flask-3.0.0-py3-none-any.whl",
"comes_from": "https://pypi.ac.cn/simple/flask/",
"yank_reason": null,
"requires_python": ">=3.8",
"metadata": "https://files.pythonhosted.org/packages/36/42/015c23096649b908c809c69388a805a571a3bea44362fe87e33fc3afa01f/flask-3.0.0-py3-none-any.whl.metadata"
}
}
文档
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定该选择哪一个,请了解有关安装包的更多信息。
源分布
unearth-0.17.2.tar.gz (284.4 kB 查看哈希值)
构建分布
unearth-0.17.2-py3-none-any.whl (47.4 kB 查看哈希值)