Statistics for Atom packages and themes!


#1

Hello everyone!
I recently started working on a small project that might be of interest for Atom users and developers. Here are some details I want to share with you. I apologise if the post does not belong here, but this community is quite active and I always get great ideas from its members.

Rationale

Atom package developers don’t have access to package statistics, beside the overall downloads and stargazers. Such statistics are available, let’s say, for npm packages, so I thought it could be helpful to start collecting some data and make them available through a web application.

State of the art

The project is not yet open source. I’m still making my mind over a few things, but a stub version of the app can be found here:

https://atom-stats.herokuapp.com/

I will host it on GitHub very soon.

In the meantime, you can take a look at the application if you like. Just type the name of the package you’re interested in, then click on the Search button. Alternatively, just write the package name in the url, like /packages/package-name.

What is scraped

The application in its embryo stage collects what follows:

  • daily downloads for package version
  • daily stargazers for package version
  • general package information (versions, collaborators, keywords, dependencies, description…)

What will be available

A package page will show all the general information about that package:

  • author
  • collaborators (if any)
  • description (if any)
  • keywords (if any)
  • engines
  • dependencies (if any)
  • repository
  • license (if any)
  • current version and number of previous versions

The statistics for the package will be organised as follows:

  • total downloads
  • average daily downloads
  • total stargazers
  • average daily stargazers
  • a table with the last 7 days statistics
  • an interactive graph with the overall downloads/stargazers organised per package version (it will probably be a line chart with different colours)

APIs

Raw data will be available for download through REST APIs. Right now, you can go to /api/packages/package-name to get the JSON version of the raw observations.

What else?

The next bit thing I’d like to introduce are badges, à la shields.io. Of course, graphs are not yet in place, but that’s a work already in progress.

Thank you!

Every feedback will be highly available! Of course, this post will fade as soon as I open the project on GitHub, but at this stage it would be great to hear from you guys. Feel free to honestly give me your opinion about the project (whether you think it’s useless, or how you would improve it, anything that comes in your mind).

Cheers!


#2

Looks exciting.


#3

Thanks.
The demo application is quite lame, it takes a while to go up. I’m considering upgrading to a dyno, it should keep it more responsive as daily statistics grow.


#4

The application keeps growing at a slow but steady pace. I added graphs for total downloads and total stars using this library. Still open to suggestions about visualisation and plotting.

Of course, the daily downloads/stars need to be plotted down, that’s gonna be the next step.


#5

It is now possible to get 2 different graph sets, one for the daily statistics and another for the overall statistics.
When displaying a couple of graphs, they are linked, so the cursor will show punctual values for both. Next step is to add markers for version changes.


#6

Although I don’t think a lot of people know about it, there is already this:
http://atom.shortcircuits.io


#7

I didn’t know about this website, it looks nice!
It seems to be shaped over the npm website, the pages look quite similar, so the way of formatting the data.
I didn’t get the time to look into it in more details, but maybe there are some issues, as some packages are not found (I guess the new packages are not scraped).

Anyway, it seems to be like a cool project, I’ll keep an eye on it!


#8

It looks pretty awesome but I cannot run it with my package(sourcefetch).