import requests
crate_name = "hashbrown"
d = requests.get(f"https://crates.io/api/v1/crates/{crate_name}/versions").json()
version_by_id = {}
for c in d["versions"]:
version_by_id[c["id"]] = c["num"]
d = requests.get(f"https://crates.io/api/v1/crates/{crate_name}/downloads").json()
dl_by_id = {}
for dl in d["version_downloads"]:
if not dl["version"] in dl_by_id:
dl_by_id[dl["version"]] = []
dl_by_id[dl["version"]].append((dl["date"], float(dl.get("downloads", 0))))
for k, v in dl_by_id.items():
sorted(v, key=lambda x: x[0])
print(f"\n\n{crate_name} version {version_by_id[k]}\ndownloads: {', '.join([str(x[1]) for x in v])}")