Any way to know the download statistics of packages?

Hi, I’d like to know the download statistics of my packages hosted on GitHub. Before Julia 1.0, the traffic page was a good place to estimate the number of downloads because it shows the number of git clones of the repository. However, after Julia 1.0, the package manager does not clone the whole repository and thus the traffic page is no longer helpful to estimate the number of downloads. I quickly skimmed the APIs offered by GitHub (see Releases - GitHub Docs), but I couldn’t find the way. Is there any way to know the download statistics of a Julia repository?

Unfortunately not since we’re stuck with whatever GitHub tells us. We’re probably going to switch to using our own servers to serve packages in the future, for a variety of reasons including giving package developers better insight into who is using their packages and how.

7 Likes

You can use the Github API get the statistics of downloads for each release under the repository endpoint.

How many people download packages by manually downloading the release tarball? Note that the package manager doesn’t download that tarball either.

Oh, I didn’t know that. From where do we download package tarballs?

GitHub API using the tree hash as the input.

Thank you. I hope we have a rich download stats as Rust’s crates.io offers (e.g. https://crates.io/crates/rand).

An op-in solution could be a package similar to Debian’s popcon, scanning the package directory (and perhaps file access times) at startup. But this, of course, would give a biased sample.

The API also tracks clones. Would have to check what exactly captures that from the Pkg.

There is a way now with Julia 1.5, right? Does anyone know how to access them?

telemetry has been taken out of 1.5 - Pkg.jl telemetry should be opt-in - #374 by StefanKarpinski

2 Likes

Is there a place to get package download statistics?

1 Like

Package download stats are now available: Announcing: package download stats!

4 Likes