# Download stats of all packages?

**URL:** <https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801>\
**Category:** ROS General\
**Created:** [August 6, 2022, 5:16pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801 "2022-08-06T17:16:25Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![peci1](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peci1/32/10145_2.png) [@peci1](https://discourse.openrobotics.org/u/peci1)\
**Post date:** [August 6, 2022, 5:16pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/1 "2022-08-06T17:16:25Z")

</div>

Hi, I’m interested whether there is a way to get APT repo download stats of all packages, not just the few top packages mentioned on [metrics.ros.org](http://metrics.ros.org). I know this has been discussed before ([Data on most popular ROS packages - ROS General - Open Robotics Discourse](http://discourse.ros.org/t/data-on-most-popular-ros-packages/13591)), but with no resolution. @DLu managed to put together the full report once, so I wonder if it’s possible to reproduce it on newer data. I know there are several mirrors out of control of Open Robotics, but even stats from the main APT repo would be interesting.

---

<div class="post-metadata">

**Author:** ![peci1](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peci1/32/10145_2.png) [@peci1](https://discourse.openrobotics.org/u/peci1)\
**Post date:** [August 6, 2022, 5:18pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/2 "2022-08-06T17:18:23Z")

</div>

I’m not sure whether e.g. crawling data like [Statistics for packages.ros.org (2022-02) - urldetail](https://awstats.osuosl.org/reports/packages.ros.org/2022/02/awstats.packages.ros.org.urldetail.html) would lead to the correct numbers. I’d expect that when a package is updated, there should be at least as many downloads as there are mirrors, but I found packages where this doesn’t hold, so I’m confused about what these numbers mean…

---

<div class="post-metadata">

**Author:** ![DLu](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dlu/32/19014_2.png) [@DLu](https://discourse.openrobotics.org/u/DLu)\
**Post date:** [August 8, 2022, 4:05am UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/3 "2022-08-08T04:05:42Z")

</div>

The full report was a result of crawling and parsing the [OSU data](https://github.com/DLu/ros_metrics/blob/main/ros_metrics/packages.py#L14). It’s by no means a perfect measure of overall usage, but I believe it to be an accurate measurement of downloads.

---

<div class="post-metadata">

**Author:** ![peci1](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peci1/32/10145_2.png) [@peci1](https://discourse.openrobotics.org/u/peci1)\
**Post date:** [August 8, 2022, 2:40pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/4 "2022-08-08T14:40:48Z")

</div>

Great, thanks! I’ve run the analysis for ROS1 packages now, and here are the results: [Number of total \*.deb package downloads of all released ROS 1 packages (Melodic + Noetic) · GitHub](https://gist.github.com/peci1/7a8825c0a57ecb849481c67880e9673e) .

Please note this metric tends to give advantage to packages with more built versions, as each download of any version of the package counts.

---

<div class="post-metadata">

**Author:** ![Timple](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/timple/32/4891_2.png) [@Timple](https://discourse.openrobotics.org/u/Timple)\
**Post date:** [August 8, 2022, 7:01pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/5 "2022-08-08T19:01:30Z")

</div>

Interesting that the [“deprecated”](http://wiki.ros.org/tf2/Migration) `tf` package has the second highest number of downloads 😄.

---

<div class="post-metadata">

**Author:** ![peci1](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peci1/32/10145_2.png) [@peci1](https://discourse.openrobotics.org/u/peci1)\
**Post date:** [August 8, 2022, 8:15pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/6 "2022-08-08T20:15:46Z")

</div>

My guess - `tf.transformations`. That’s just the easiest reachable library for working with quaternions in Python. My second guess - people often do not check `package.xml` for removals of dependencies…

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex022/uploads/ros/original/3X/b/6/b607ee3cc8e908b1b613bd74a683d749fea635a1.svg) [@system](https://discourse.openrobotics.org/u/system)\
**Post date:** [September 7, 2022, 8:15pm UTC](https://discourse.openrobotics.org/t/download-stats-of-all-packages/26801/7 "2022-09-07T20:15:53Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
