scripts/popular_packages/pypi_10k_most_dependents.ipynb
"""To update `pypi_10k_most_dependents.txt`, enter your `api_key` from https://libraries.io/account.
The latest version is available at: https://gist.github.com/charliermarsh/07afd9f543dfea68408a4a42cede4be4.
"""
from pathlib import Path
import httpx
api_key = ""
responses = {}
for i in range(100): # 100 pages with 100 per page -> 10k
print(i)
if i not in responses:
# https://libraries.io/api#project-search
sort = "dependents_count"
url = f"https://libraries.io/api/search?platforms=Pypi&per_page=100&page={i + 1}&sort{sort}&api_key={api_key}"
responses[i] = httpx.get(url, timeout=30.0).json()
flat_list = []
for response in responses.values():
for entry in response:
flat_list.append(entry["name"])
print(flat_list)
Path().parent.joinpath("pypi_10k_most_dependents.txt").write_text("\n".join(flat_list))