haskell / haskell/hackage-server

Downloads and statistics API

Open
#458 8 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Haskell
Stars
467
Forks
225
PR merge metrics
No merged PRs in 30d

Description

Building-up from ["Proposed Statistics features"](https://github.com/haskell/hackage-server/wiki/Proposed-Statistics-features) I'd like to have an issue about exposing an API for download stats over time.

Depending on how that task went, someone (or myself) could take more work.

I'd like to be assigned to expose that, along with #332. Not all the statistics proposed, but an API for downloads over time, per package, per version.

To be honest, I don't understand why `/packages/downloads` requires admin access.

I briefly discussed this on `#hackage` but not as deeply as I'd like. So if this comes as nonsensical, feel free to close and ignore. In my mind, I'd like to have JSON resources for:
- `/packages/:package_name` (with a `downloads` and `downloads_this_month` count)
- `/packages/:package_name/downloads` (with a "query-able" count over time)

I'm not sure if I follow what goes with the `/packages/top` resource. What is the criteria for a package to be considered a "top" package? Nº of downloads, I guess, but I mean how many?

I've started scrapping data from that resource on [hackage-downloads](https://github.com/haskellbr/hackage-downloads). The next step would be to add a web-service for serving counts over time and just hitting the resource every day or so.

But it'd be nice to have this on the Hackage API. [I think NPM has an interesting implementation of this; it's very ad-hoc, like this repository linked above.](https://github.com/npm/download-counts)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.