uv/scripts/popular_packages/pypi_10k_most_dependents.ipynb
2025-01-09 10:47:25 -05:00

86 lines
2.1 KiB
Text

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "initial_id",
"metadata": {},
"outputs": [],
"source": [
"\"\"\"To update `pypi_10k_most_dependents.txt`, enter your `api_key` from https://libraries.io/account.\n",
"\n",
"The latest version is available at: https://gist.github.com/charliermarsh/07afd9f543dfea68408a4a42cede4be4.\n",
"\"\"\"\n",
"\n",
"from pathlib import Path\n",
"\n",
"import httpx\n",
"\n",
"api_key = \"\"\n",
"responses = {}"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d2532bf8c426af5",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"for i in range(100): # 100 pages with 100 per page -> 10k\n",
" print(i)\n",
" if i not in responses:\n",
" # https://libraries.io/api#project-search\n",
" sort = \"dependents_count\"\n",
" url = f\"https://libraries.io/api/search?platforms=Pypi&per_page=100&page={i + 1}&sort{sort}&api_key={api_key}\"\n",
" responses[i] = httpx.get(url, timeout=30.0).json()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7bc80702b6f8ebc3",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"flat_list = []\n",
"for response in responses.values():\n",
" for entry in response:\n",
" flat_list.append(entry[\"name\"])\n",
"print(flat_list)\n",
"Path().parent.joinpath(\"pypi_10k_most_dependents.txt\").write_text(\"\\n\".join(flat_list))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}