1234567891011121314151617181920212223242526 |
- import requests
- import argparse
- from pathlib import Path
- def get_package_wheel_hashes(package, version, os):
- url = f"https://pypi.org/pypi/{package}/{version}/json"
- data = requests.get(url).json()
- print(f" {package}:")
- print(f" version: \"{version}\"")
- print(f" hashes:")
- for url in data["urls"]:
- if os is None or os in url["filename"]:
- print(f" - sha256:{url['digests']['sha256']}")
- if __name__ == "__main__":
- parser = argparse.ArgumentParser(
- description="Display the hashes of the wheel files to be inserted in pip_requirements")
- parser.add_argument("package", type=Path, help="Name of the target package")
- parser.add_argument("version", type=Path, help="Version of the target package")
- parser.add_argument('--os', type=str, help='Specific package OS', choices=['win', 'macosx', 'manylinux', 'musllinux'])
- args = parser.parse_args()
- get_package_wheel_hashes(args.package, args.version, args.os)
|