如何下载整个 pypi Python 包索引
How do I download the entire pypi Python Package Index
我正在尝试找到一种方法来下载整个 PyPi 索引——并且只有索引——没有代码文件。我想分析许可类型,以便能够排除许可类型过于严格的库。我已经在网上查看并浏览了用户指南,但如果答案就在那里,我也不知道。
好吧,您可以使用 PyPi's Simple Index 来获得一个简单的软件包列表,而无需额外开销。然后向
发送GET请求
https://pypi.python.org/pypi/<package-name>/json
这将 return 一个 JSON 响应,其中包含有关包的所有元数据信息(包括许可证)。
您可以在 google 云
中使用数据集 bigquery-public-data.pypi
例如
-- preview some licenses
SELECT substring(t.license, 0, 100) as license_start
FROM `bigquery-public-data.pypi.distribution_metadata` as t
group by t.license
order by length(t.license)
LIMIT 1000
OFFSET 0
-- get pypi packages with permissive licenses
SELECT t.name as package_name,
substring(t.license, 0, 50) as license_start
FROM `bigquery-public-data.pypi.distribution_metadata` as t
where t.license like '%MIT%'
or t.license like '%BSD%'
or t.license like '%ISC%'
or t.license like '%public domain%'
or t.license like '%cc0%'
or t.license like '%cc-0%'
or t.license like '%unlicense%'
LIMIT 100000
OFFSET 0
题外话:
select 热门 python 包,按每月下载量排名
-- get popular versions of pypi packages
SELECT count(*) as dl_per_month, t.project, t.file.version
FROM `bigquery-public-data.pypi.file_downloads` as t
WHERE "2022-02-01" <= DATE(timestamp)
and DATE(timestamp) < "2022-03-01"
group by t.project, t.file.version
order by dl_per_month desc
LIMIT 150000
OFFSET 0
相关:mach-nix
中使用了 pypi 的部分内容
- nix-pypi-fetcher 有文件名和校验和
- pypi-deps-db 有依赖项
我正在尝试找到一种方法来下载整个 PyPi 索引——并且只有索引——没有代码文件。我想分析许可类型,以便能够排除许可类型过于严格的库。我已经在网上查看并浏览了用户指南,但如果答案就在那里,我也不知道。
好吧,您可以使用 PyPi's Simple Index 来获得一个简单的软件包列表,而无需额外开销。然后向
发送GET请求https://pypi.python.org/pypi/<package-name>/json
这将 return 一个 JSON 响应,其中包含有关包的所有元数据信息(包括许可证)。
您可以在 google 云
中使用数据集 bigquery-public-data.pypi例如
-- preview some licenses
SELECT substring(t.license, 0, 100) as license_start
FROM `bigquery-public-data.pypi.distribution_metadata` as t
group by t.license
order by length(t.license)
LIMIT 1000
OFFSET 0
-- get pypi packages with permissive licenses
SELECT t.name as package_name,
substring(t.license, 0, 50) as license_start
FROM `bigquery-public-data.pypi.distribution_metadata` as t
where t.license like '%MIT%'
or t.license like '%BSD%'
or t.license like '%ISC%'
or t.license like '%public domain%'
or t.license like '%cc0%'
or t.license like '%cc-0%'
or t.license like '%unlicense%'
LIMIT 100000
OFFSET 0
题外话:
select 热门 python 包,按每月下载量排名
-- get popular versions of pypi packages
SELECT count(*) as dl_per_month, t.project, t.file.version
FROM `bigquery-public-data.pypi.file_downloads` as t
WHERE "2022-02-01" <= DATE(timestamp)
and DATE(timestamp) < "2022-03-01"
group by t.project, t.file.version
order by dl_per_month desc
LIMIT 150000
OFFSET 0
相关:mach-nix
中使用了 pypi 的部分内容- nix-pypi-fetcher 有文件名和校验和
- pypi-deps-db 有依赖项