nabiliqbal/arxiv-trends — explained in plain English
Analysis updated 2026-05-18
Compare year-over-year submission trends for a physics, math, or computer science arXiv category.
Spot seasonal patterns in when researchers submit papers to a given field.
Smooth noisy weekly submission counts with a moving average to see the underlying trend.
Cache arXiv submission data locally to avoid repeatedly hitting the API while experimenting with plots.
| nabiliqbal/arxiv-trends | 0xustaz/streamgate | a-bissell/unleash-lite | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | easy | hard | hard |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | researcher | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
A full multi-year fetch of a busy category can take 10 to 15 minutes due to arXiv's required rate limiting.
arxiv-trends is a small Python script that downloads paper submission data from the arXiv API and plots how many papers were submitted per week of the year, with one line per year, so you can compare seasonal patterns and see how a research field's output has shifted over time. By default it looks at the hep-th physics category over the last five years, but it works on any arXiv category by changing a single command line flag. The script fetches every paper in a chosen category one calendar year at a time, then saves the raw results to a local JSON cache file so that re-running the script or trying different smoothing settings does not require hitting the arXiv API again. It only counts a paper under its primary category, dropping cases where a paper is cross-listed into a second category as well. Papers are grouped by the week of their original first-version submission date, using a simple day-of-year based week count rather than the standard ISO week definition, specifically to avoid miscounting early January papers into the previous year. Because arXiv asks users to rate limit their requests, the script pauses three seconds between calls, so fetching a full five years of data for a busy category can take ten to fifteen minutes the first time. Once the data is cached, replotting is instant. To run it you need Python 3.10 or later along with the matplotlib and requests libraries, installable with either uv or plain pip. You can then run the script with different categories, year ranges, or an optional moving average smoothing window to make the underlying trend easier to see beneath weekly noise. Plots are saved as image files in a results folder, and each run's raw fetched data is stored in its own cache file named after the category and year range, so different categories do not overwrite each other's cache. The README does not mention a license, so it is not clear what usage rights apply to reusing or modifying this script beyond running it yourself.
A script that plots how many arXiv papers are submitted per week each year, for any research category.
Mainly Python. The stack also includes Python, matplotlib, requests.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
double-check against the repo, no cap.