通过命令行查询PyPI
项目描述
qypi 是一个用于查询 Python包索引 中的Python包信息和输出JSON(对输出数据结构进行了一些小的有见地的更改;请参见下面的示例)的命令行客户端。
安装
qypi 需要 Python 3.6 或更高版本。只需使用 Python 3 的 6.0 或更高版本的 pip 来安装 qypi 及其依赖项
python3 -m pip install qypi
用法
qypi [-i|--index-url <URL>] <command> [<options>] [<arguments>]
全局选项
- -i URL, --index-url URL
查询给定URL上的Python包服务器,该服务器必须支持XML-RPC和JSON API。默认情况下,qypi查询位于https://pypi.ac.cn/pypi的PyPI (Warehouse)。
列出包
list
qypi list
以API返回的顺序列出PyPI上注册的所有包,每个包一行。list和readme是唯一不输出JSON的子命令。
search
qypi search [--and|--or] [--packages|--releases] <term> ...
在PyPI中搜索与给定搜索词匹配的包或包版本。搜索词由一个字段名和一个冒号分隔的值组成;不带冒号的词搜索description字段。如文档此处所述,支持的可搜索字段包括
name
version
author
author_email
maintainer
maintainer_email
home_page(别名:homepage和url)
license
summary
description(别名:long_description和readme)
keywords(别名:keyword)
platform
download_url
所有其他字段都将被忽略。
指向同一字段的多个搜索词使用逻辑OR组合。不同字段的搜索词根据命令行上的--and或--or进行组合;默认行为是--and。
默认情况下,search列出每个包的每个匹配版本,即使同一个包有多个匹配版本。要为每个包列出不超过一个版本(特别是,最高版本的版本),请在命令行上指定-p/--packages选项。-r/--releases恢复默认行为。
browse
qypi browse [-f|--file <file>] [--packages|--releases] <classifier> ...
列出带有给定trove分类器的包或包版本。由于trove分类器不是最适用于命令行的东西,它们可以可选地从文件中读取,每行一个分类器。命令行上列出的任何其他分类器都将添加到文件的列表中。
默认情况下,browse列出每个包的每个匹配版本,即使同一个包有多个匹配版本。要为每个包列出不超过一个版本(特别是,最高版本的版本),请在命令行上指定-p/--packages选项。-r/--releases恢复默认行为。
owned
qypi owned <user> ...
列出由给定PyPI用户拥有的或维护的包
包信息
releases
qypi releases <package> ...
按照PEP 440顺序列出给定包的已发布版本
示例
$ qypi releases qypi { "qypi": [ { "is_prerelease": false, "release_date": "2017-04-02T03:07:42", "release_url": "https://pypi.ac.cn/project/qypi/0.1.0", "version": "0.1.0" }, { "is_prerelease": false, "release_date": "2017-04-02T03:32:44", "release_url": "https://pypi.ac.cn/project/qypi/0.1.0.post1", "version": "0.1.0.post1" } ] }
一个版本的发布日期是其第一个文件上传的时间。如果没有与版本关联的文件,其发布日期将为null。
owner
qypi owner <package> ...
列出拥有和/或维护给定包的PyPI用户
示例
$ qypi owner requests { "requests": [ { "role": "Owner", "user": "graffatcolmingov" }, { "role": "Owner", "user": "kennethreitz" }, { "role": "Owner", "user": "Lukasa" }, { "role": "Maintainer", "user": "graffatcolmingov" }, { "role": "Maintainer", "user": "Lukasa" }, { "role": "Maintainer", "user": "nateprewitt" } ] }
发布信息
这些子命令显示有关单个包发布/版本的详细信息,并具有相同的命令行选项和参数语法。
形式为package==version(例如,qypi info qypi==0.1.0)的参数始终指明给定包的给定版本。
仅指代包名的参数默认表示(最高编号的)非预发布版本。可以通过以下选项进行更改:
- -A,--all-versions
显示每个包的所有版本信息(按照PEP 440顺序,除非指定--pre,否则排除预发布版本)
- --latest-version
仅显示每个包的最新版本信息;这是默认设置
- --newest
将“最新版本”定义为最近发布的版本。发布日期基于文件上传时间;因此,没有文件上传的发布会被忽略。
- --highest
将“最新版本”定义为最高编号的版本;这是默认设置。
- --pre
包括预发布版本和开发版本
- --no-pre
不包含预发布版本和开发版本;这是默认设置。
info
qypi info [<options>] [--description] [--trust-downloads] <package[==version]> ...
显示给定包发布的(基本)信息。
默认情况下,(长)描述被省略,因为它们可以非常长,建议您使用readme子命令来查看它们;使用--description选项也可以包含它们。
默认情况下,下载次数被省略,因为该功能目前是损坏的和不可靠的;如果您仍然想查看值,请使用--trust-downloads选项。
示例
$ qypi info qypi [ { "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Software Distribution" ], "docs_url": null, "download_url": null, "keywords": "pypi warehouse search packages pip", "license": "MIT", "name": "qypi", "people": [ { "email": "qypi@varonathe.org", "name": "John Thorvald Wodder II", "role": "author" } ], "platform": null, "project_url": "https://pypi.ac.cn/project/qypi/", "release_date": "2017-04-02T03:32:44", "release_url": "https://pypi.ac.cn/project/qypi/0.1.0.post1/", "requires_python": "~=3.4", "summary": "Query PyPI from the command line", "url": "https://github.com/jwodder/qypi", "version": "0.1.0.post1" } ]
readme
qypi readme [<options>] <package[==version]> ...
逐个显示给定包发布的(长)描述。只有list和readme是唯一不输出JSON的子命令。
files
qypi files [<options>] [--trust-downloads] <package[==version]> ...
列出可用于下载的给定包发布文件。由于该功能目前是损坏的和不可靠的,下载次数被省略;如果您仍然想查看值,请使用--trust-downloads选项。
示例
$ qypi files qypi [ { "files": [ { "comment_text": "", "digests": { "md5": "58863d77e19bf4aa1ae85026cc1ff0f6", "sha256": "5946a4557550479af90278e5418cd2c32a2626936075078a4c7096be52d43078" }, "filename": "qypi-0.1.0.post1-py3-none-any.whl", "has_sig": true, "md5_digest": "58863d77e19bf4aa1ae85026cc1ff0f6", "packagetype": "bdist_wheel", "python_version": "py3", "size": 13590, "upload_time": "2017-04-02T03:32:44", "url": "https://files.pythonhosted.org/packages/f9/3f/6b184713e79da15cd451f0dab91864633175242f4d321df0cacdd2dc8300/qypi-0.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd357b3df2c2f1cbb6d23ff7c61fbb9", "sha256": "c99eea315455cf9fde722599ab67eeefdff5c184bb3861a7fd82f8a9387c252d" }, "filename": "qypi-0.1.0.post1.tar.gz", "has_sig": true, "md5_digest": "bfd357b3df2c2f1cbb6d23ff7c61fbb9", "packagetype": "sdist", "python_version": "source", "size": 8975, "upload_time": "2017-04-02T03:32:46", "url": "https://files.pythonhosted.org/packages/0e/49/3056ee68b44c8eab4d4698b52ae4d18c0db92c80abc312894c02c4722621/qypi-0.1.0.post1.tar.gz" } ], "name": "qypi", "version": "0.1.0.post1" } ]
项目详情
下载文件
下载适用于您平台文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
qypi-0.6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4791e38b59c73c99d5ddfdb256930035e03162d03b31d18efda8c7c8a8b88fa5 |
|
MD5 | 59d08b0a8b4ebb9a7aeaa1337ce5bbda |
|
BLAKE2b-256 | 2a9ba70a9be7586f47fbd6acb8f45b94ddee266947b499385da77164c8866237 |
qypi-0.6.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 42404406e389b398687d81deae903739fef0e9d00aa0d6dd8a8cd8a26622079b |
|
MD5 | b518c9f9a672a6143f16b03770ba1549 |
|
BLAKE2b-256 | 03f56559e186889912f2ee64f075e51e50cd92fb4d78255f41517193fa8cc175 |