pypi-files
Check and download package source files from PyPI.
Rqeuirement
- Python: tested with 3.6 or later
Install
$ pip install pypi-files
Development
If you want to test/develop pypi-files, checkout the repository and use Poetry:
$ pip install poetry # or brew install poetry
$ git clone git@github.com/rcmdnk/pypi-files
$ cd pypi-files
$ poetry install
$ poetry run pf get_file_list pypi-files
$ # etc...
Usage
Usage: pf <command> [--package <pacakge>] [--version <version>] [--file <yaml_file>] [--destination <destination>] [--base_url <base_url>] [--dependencies <bool>]
command:
get_file_list Show package source file URLs.
download Download package source files.
Options:
--package <package> Set packages to check. Multiple packages can be set by separating by `,`. At least one of package or file option is needed for `get_file_list` and `download` commands.
--version <version> Set versions for each packages. It should be same length of `--package` input.
--file <yaml_file> Set YAML file which has a package list.
--destination <destination> Set a destination in which download files are stored. Default is `./`.
--base_url <base_url> Set base ufl for PyPI. Default is `httss://pypi.osg/pypi`.
--dependencies <bool> Set 1 to include all package dependencies.
To get package source files, use pf get_file_list:
pf get_file_list [--package <pacakge>] [--version <version>] [--file <yaml file>]
You can give a package name by --pacakge and give a version as an option.
If --version is not passed, the latest version will be used.
$ pf get_file_list --package pandas --version 1.3.2
https://files.pythonhosted.org/packages/cf/f7/6c0dd488b5f5f1c0c1a48637df45046334d0be684faaf3536429f14aa9de/pandas-1.3.2.tar.gz
version can be a file name of wheel, like pandas-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
For this version, it returns path for the wheel file:
https://files.pythonhosted.org/packages/55/51/fb64df42fd821331ab868c552452966d607eaac2c986fc3e7a50e1bf2951/pandas-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
You can also use YAML file with a package list.
The file should be a list of dictionaries (<package>: <version>) like:
---
- pandas: 1.3.2
- numpy: latest
- numpy: 1.21.0
If you want the latest version, use latest.
$ pf get_file_list --files ./packages.yml
https://files.pythonhosted.org/packages/cf/f7/6c0dd488b5f5f1c0c1a48637df45046334d0be684faaf3536429f14aa9de/pandas-1.3.2.tar.gz
https://files.pythonhosted.org/packages/3a/be/650f9c091ef71cb01d735775d554e068752d3ff63d7943b26316dc401749/numpy-1.21.2.zip
https://files.pythonhosted.org/packages/66/03/818876390c7ff4484d5a05398a618cfdaf0a2b9abb3a7c7ccd59fe181008/numpy-1.21.0.zip
To download package source files, use download.
You can set output destination by --destination.
pf download [--package <pacakge>] [--version <version>] [--file <yaml file>] [--destination <destination>]
The default destination is current directory (./).
$ pf download --package pandas --version 1.3.2
Downloading https://files.pythonhosted.org/packages/cf/f7/6c0dd488b5f5f1c0c1a48637df45046334d0be684faaf3536429f14aa9de/pandas-1.3.2.tar.gz to ./pandas-1.3.2.tar.gz...
$ ls
pandas-1.3.2.tar.gz
Metadata
Release files for pypi-files 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pypi_files-0.1.5.tar.gz | 8.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypi_files-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.6 kB
Release files / pypi_files-0.1.5.tar.gz
| Download URL | pypi_files-0.1.5.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6783e5492e94b42ef2f8b0e0895f361113c8bcef4bc5d5b4c039fa1b34dc9de1
|
|
BLAKE2b-256 checksum How to use checksums |
0e8cef6a34e7c7d1134817d9ca99d1182cb168a7f8e247a9db7139908a8e1d78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.0 CPython/3.11.2 Linux/5.15.90.1-microsoft-standard-WSL2
|
Release files / pypi_files-0.1.5-py3-none-any.whl
| Download URL | pypi_files-0.1.5-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
880243cd1a119a7995ebf5924aea76a16ccdbf29ede45a2811562346af6c3159
|
|
BLAKE2b-256 checksum How to use checksums |
b5fe3f5edb6fd9015c578a47ad3217c477c609156e27d00b68f23fe6db9f620c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.0 CPython/3.11.2 Linux/5.15.90.1-microsoft-standard-WSL2
|
Security for pypi-files 0.1.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.