Validated use: per-package counts¶
How often each R, Python and Stata package is loaded by the code deposited with published papers, at journals whose data-and-code policy the Social Science Data Editors record as actively verified.
3,223 packages · 8,349 deposits with analyzable code · 8,685 deposits collected · built 2026-08-16
A count here is the number of deposits whose code loads the package. Adding one to it takes a paper published at a journal that checks its authors’ code, which is what makes these counts harder to inflate than download counts. The project page makes that case; this file documents what is in the tables and how to read them.
Scope¶
The deposits come from two repositories that hold different disciplines. Zenodo’s verified collections are economics, and Harvard Dataverse’s journal collections are mostly political science.
repository |
deposits |
with analyzable code |
|---|---|---|
Zenodo (economics) |
1,454 |
1,272 |
Harvard Dataverse (political science) |
7,231 |
7,077 |
total |
8,685 |
8,349 |
Counts pool the two. usage_by_package.csv also carries the split, in
n_deposits_zenodo and n_deposits_dataverse_legacy, because the two are
very different sizes and a pooled figure alone would hide that.
The Dataverse deposits come from a January 2024 scrape that kept .do, .r
and .py files and nothing else, so a package used mainly inside a notebook
or a knitr document is under-counted on that side. The release checks this
by recomputing the whole ranking on those three extensions alone and fails if
the order moves. The two collections are also two years apart, which
first_year and last_year will show.
Files¶
file |
rows |
contents |
|---|---|---|
|
3,223 |
per-package deposit and call counts, pooled and split |
|
9,738 |
the same by deposit year |
|
13,880 |
the same per journal or community |
|
10,962 |
package → function, where the source names one |
|
7,686 |
names called in code that resolve to no registry |
|
15 |
deposits containing each language, per repository |
|
7,060,338 |
every mention: package, function, file, line, snippet |
|
217,573 |
the provenance spine every mention joins to |
|
5,104 |
what manifests declare: shipped, locked or asked for |
|
6,029 |
R, Python and Stata versions, and the OS, where a file says |
|
deposits stating each signal, over deposits that could |
|
|
corpus counts the tables are shares of |
mentions.parquet is the record every count above is a sum of, and it is
here so a reader who disagrees with a decision made upstream can recount
without re-parsing 200,000 files. It is 94 MB; the CSVs are 150 KB.
declared_dependencies.parquet and environment_signals.parquet are sparse
and answer a different question: not what the code loads but what version of
it the deposit shipped, and what ran it. Most deposits say nothing at all, so
read these next to environment_coverage.json, which gives per signal the
deposits that said something over the deposits that were in a position to.
usage_by_package.csv¶
package,language,ecosystem: the resolved package and its registryn_deposits: deposits loading it, counted once per depositn_files,n_mentions: files, and raw callsn_deposits_at_risk: the denominator forshare_of_deposits, meaning deposits that hold an analyzable file in that language, or that yielded a reference in it. The second clause is what covers literate documents, where the file is a notebook and the code inside it is Python. It differs by language, so a Stata share and an R share are not shares of the same thingshare_of_deposits:n_depositsdivided byn_deposits_at_risk
unknown_names.csv¶
Names that appear in the code and resolve to no registry, unfiltered. Some
are false positives: str is a Stata type, and some are programs a deposit
defines for itself. The list also holds real and heavily used software that
no registry indexes, grc1leg being the clearest case at 1,224
calls. Pruning the list by hand would put a judgement call inside a file
whose value is that you can check every row of it.
Licence¶
CC0.
Regenerating¶
uv run python scripts_build_tally.py # needs the collected corpus
uv run python scripts_release_tally.py
Produced by softverse.