Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add scripts/downloads.py #735

Merged
merged 10 commits into from
Jun 13, 2024
Merged

add scripts/downloads.py #735

merged 10 commits into from
Jun 13, 2024

Conversation

abrichr
Copy link
Contributor

@abrichr abrichr commented Jun 11, 2024

Adds a script at scripts/downloads.py that produces the following:

image

image

Previously:

image
(openadapt-py3.10) abrichr@MacBook-Pro-5 OpenAdapt % python scripts/downloads.py
v0.30.4 [('OpenAdapt-v0.30.4.app.zip', 3), ('OpenAdapt-v0.30.4.zip', 43)]
v0.30.3 [('OpenAdapt-v0.30.3.app.zip', 1), ('OpenAdapt-v0.30.3.zip', 0)]
v0.30.2 [('OpenAdapt-v0.30.2.app.zip', 1), ('OpenAdapt-v0.30.2.zip', 4)]
v0.30.1 [('OpenAdapt-v0.30.1.app.zip', 0), ('OpenAdapt-v0.30.1.zip', 0)]
v0.30.0 [('OpenAdapt-v0.30.0.app.zip', 1), ('OpenAdapt-v0.30.0.zip', 6)]
v0.29.0 [('OpenAdapt-v0.29.0.app.zip', 0), ('OpenAdapt-v0.29.0.zip', 3)]
v0.28.0 [('OpenAdapt-v0.28.0.app.zip', 1), ('OpenAdapt-v0.28.0.zip', 1)]
v0.27.0 [('OpenAdapt-v0.27.0.app.zip', 0), ('OpenAdapt-v0.27.0.zip', 0)]
v0.26.2 [('OpenAdapt-v0.26.2.app.zip', 7), ('OpenAdapt-v0.26.2.zip', 8)]
v0.26.1 [('OpenAdapt-v0.26.1.app.zip', 20), ('OpenAdapt-v0.26.1.zip', 16)]
v0.26.0 [('OpenAdapt-v0.26.0.app.zip', 1), ('OpenAdapt-v0.26.0.zip', 4)]
v0.25.5 [('OpenAdapt-v0.25.5.app.zip', 0), ('OpenAdapt-v0.25.5.zip', 2)]
v0.25.4 [('OpenAdapt-v0.25.4.app.zip', 6), ('OpenAdapt-v0.25.4.zip', 13)]
v0.25.3 [('OpenAdapt-v0.25.3.app.zip', 2), ('OpenAdapt-v0.25.3.zip', 3)]
v0.25.2 [('OpenAdapt-v0.25.2.app.zip', 7), ('OpenAdapt-v0.25.2.zip', 18)]
v0.25.1 [('OpenAdapt-v0.25.1.app.zip', 5), ('OpenAdapt-v0.25.1.zip', 17)]
v0.25.0 [('OpenAdapt-v0.25.0.app.zip', 17), ('OpenAdapt-v0.25.0.zip', 9)]
v0.24.1 [('OpenAdapt-v0.24.1.app.zip', 0), ('OpenAdapt-v0.24.1.zip', 0)]
v0.24.0 [('OpenAdapt-v0.24.0.app.zip', 4), ('OpenAdapt-v0.24.0.zip', 2)]
v0.23.1 [('OpenAdapt-v0.23.1.app.zip', 1), ('OpenAdapt-v0.23.1.zip', 2)]
v0.23.0 []
v0.22.0 [('OpenAdapt-v0.22.0.app.zip', 0), ('OpenAdapt-v0.22.0.zip', 0)]
v0.21.0 [('OpenAdapt-v0.21.0.app.zip', 0), ('OpenAdapt-v0.21.0.zip', 0)]
v0.20.1 [('OpenAdapt-v0.20.1.app.zip', 2), ('OpenAdapt-v0.20.1.zip', 2)]
v0.20.0 [('OpenAdapt-v0.20.0.app.zip', 1), ('OpenAdapt-v0.20.0.zip', 0)]
v0.19.0 []
v0.18.3 []
v0.18.2 []
v0.18.1 []
v0.18.0 []

c.f.

image

@abrichr
Copy link
Contributor Author

abrichr commented Jun 11, 2024

@KIRA009 any idea why the number reported by this script (151) does not match the sum on the landing page (214)?

image

@KIRA009
Copy link
Contributor

KIRA009 commented Jun 12, 2024

Think this is the same thing that we found in the website implementation. The releases contain files other than the two apps, so we have to filter them out - see https://github.com/OpenAdaptAI/OpenAdapt.web/blob/main/utils/githubStats.js

@abrichr
Copy link
Contributor Author

abrichr commented Jun 12, 2024

@KIRA009 I don't think that's it. I've updated the PR description to include the asset names, it only selects the relevant assets by default. In addition, the number produced by this script is lower than the number on the website, which means it's impossible for it to be over counting compared to the website.

@abrichr abrichr closed this Jun 12, 2024
@abrichr abrichr reopened this Jun 12, 2024
@KIRA009
Copy link
Contributor

KIRA009 commented Jun 12, 2024

Ah, it looks like you are only getting results from 1 page. There are three pages of releases in the api - https://api.github.com/repos/OpenAdaptAI/OpenAdapt/releases?page=3.

In the website implementation, I increment the page number after every response until I get a response with no releases

@abrichr
Copy link
Contributor Author

abrichr commented Jun 12, 2024

With pagination:

image
(openadapt-py3.10) abrichr@MacBook-Pro-5 OpenAdapt % python scripts/downloads.py          
v0.31.0 [('OpenAdapt-v0.31.0.app.zip', 1), ('OpenAdapt-v0.31.0.zip', 1)]
v0.30.4 [('OpenAdapt-v0.30.4.app.zip', 4), ('OpenAdapt-v0.30.4.zip', 44)]
v0.30.3 [('OpenAdapt-v0.30.3.app.zip', 1), ('OpenAdapt-v0.30.3.zip', 0)]
v0.30.2 [('OpenAdapt-v0.30.2.app.zip', 1), ('OpenAdapt-v0.30.2.zip', 4)]
v0.30.1 [('OpenAdapt-v0.30.1.app.zip', 0), ('OpenAdapt-v0.30.1.zip', 0)]
v0.30.0 [('OpenAdapt-v0.30.0.app.zip', 1), ('OpenAdapt-v0.30.0.zip', 6)]
v0.29.0 [('OpenAdapt-v0.29.0.app.zip', 0), ('OpenAdapt-v0.29.0.zip', 3)]
v0.28.0 [('OpenAdapt-v0.28.0.app.zip', 1), ('OpenAdapt-v0.28.0.zip', 1)]
v0.27.0 [('OpenAdapt-v0.27.0.app.zip', 0), ('OpenAdapt-v0.27.0.zip', 0)]
v0.26.2 [('OpenAdapt-v0.26.2.app.zip', 7), ('OpenAdapt-v0.26.2.zip', 8)]
v0.26.1 [('OpenAdapt-v0.26.1.app.zip', 20), ('OpenAdapt-v0.26.1.zip', 16)]
v0.26.0 [('OpenAdapt-v0.26.0.app.zip', 1), ('OpenAdapt-v0.26.0.zip', 4)]
v0.25.5 [('OpenAdapt-v0.25.5.app.zip', 0), ('OpenAdapt-v0.25.5.zip', 2)]
v0.25.4 [('OpenAdapt-v0.25.4.app.zip', 6), ('OpenAdapt-v0.25.4.zip', 13)]
v0.25.3 [('OpenAdapt-v0.25.3.app.zip', 2), ('OpenAdapt-v0.25.3.zip', 3)]
v0.25.2 [('OpenAdapt-v0.25.2.app.zip', 7), ('OpenAdapt-v0.25.2.zip', 18)]
v0.25.1 [('OpenAdapt-v0.25.1.app.zip', 5), ('OpenAdapt-v0.25.1.zip', 17)]
v0.25.0 [('OpenAdapt-v0.25.0.app.zip', 17), ('OpenAdapt-v0.25.0.zip', 9)]
v0.24.1 [('OpenAdapt-v0.24.1.app.zip', 0), ('OpenAdapt-v0.24.1.zip', 0)]
v0.24.0 [('OpenAdapt-v0.24.0.app.zip', 4), ('OpenAdapt-v0.24.0.zip', 2)]
v0.23.1 [('OpenAdapt-v0.23.1.app.zip', 1), ('OpenAdapt-v0.23.1.zip', 2)]
v0.23.0 []
v0.22.0 [('OpenAdapt-v0.22.0.app.zip', 0), ('OpenAdapt-v0.22.0.zip', 0)]
v0.21.0 [('OpenAdapt-v0.21.0.app.zip', 0), ('OpenAdapt-v0.21.0.zip', 0)]
v0.20.1 [('OpenAdapt-v0.20.1.app.zip', 2), ('OpenAdapt-v0.20.1.zip', 2)]
v0.20.0 [('OpenAdapt-v0.20.0.app.zip', 1), ('OpenAdapt-v0.20.0.zip', 0)]
v0.19.0 []
v0.18.3 []
v0.18.2 []
v0.18.1 []
v0.18.0 []
v0.17.1 []
v0.17.0 []
v0.16.2 []
v0.16.1 []
v0.16.0 []
v0.15.1 []
v0.15.0 []
v0.14.0 []
v0.13.2 []
v0.13.1 []
v0.13.0 []
v0.12.0 []
v0.11.0 []
v0.10.0 []
v0.9.0 []
v0.8.1 []
v0.8.0 []
v0.7.1 []
v0.7.0 []
v0.6.1 []
v0.6.0 []
v0.5.8 []
v0.5.7 []
v0.5.6 []
v0.5.5 []
v0.5.4 []
v0.5.3 []
v0.5.2 []
v0.5.1 [('openadapt-0.5.1-py3-none-any.whl', 2), ('openadapt-0.5.1.tar.gz', 2)]
v0.5.0 [('openadapt-0.5.0-py3-none-any.whl', 2), ('openadapt-0.5.0.tar.gz', 2)]
v0.4.0 [('openadapt-0.4.0-py3-none-any.whl', 2), ('openadapt-0.4.0.tar.gz', 2)]
v0.3.1 [('openadapt-0.3.1-py3-none-any.whl', 2), ('openadapt-0.3.1.tar.gz', 2)]
v0.3.0 [('openadapt-0.3.0-py3-none-any.whl', 2), ('openadapt-0.3.0.tar.gz', 2)]
v0.2.0 [('openadapt-0.2.0-py3-none-any.whl', 2), ('openadapt-0.2.0.tar.gz', 2)]
v0.1.0 [('openadapt-0.1.0-py3-none-any.whl', 2), ('openadapt-0.1.0.tar.gz', 2)]

Compare:
image

@abrichr
Copy link
Contributor Author

abrichr commented Jun 13, 2024

156+82-175 = 63
image
image

(openadapt-py3.10) abrichr@MacBook-Pro-5 OpenAdapt % python scripts/downloads.py
v0.31.0 [('OpenAdapt-v0.31.0.app.zip', 1), ('OpenAdapt-v0.31.0.zip', 2)]
v0.30.4 [('OpenAdapt-v0.30.4.app.zip', 4), ('OpenAdapt-v0.30.4.zip', 44)]
v0.30.3 [('OpenAdapt-v0.30.3.app.zip', 1), ('OpenAdapt-v0.30.3.zip', 0)]
v0.30.2 [('OpenAdapt-v0.30.2.app.zip', 1), ('OpenAdapt-v0.30.2.zip', 4)]
v0.30.1 [('OpenAdapt-v0.30.1.app.zip', 0), ('OpenAdapt-v0.30.1.zip', 0)]
v0.30.0 [('OpenAdapt-v0.30.0.app.zip', 1), ('OpenAdapt-v0.30.0.zip', 6)]
v0.29.0 [('OpenAdapt-v0.29.0.app.zip', 0), ('OpenAdapt-v0.29.0.zip', 3)]
v0.28.0 [('OpenAdapt-v0.28.0.app.zip', 1), ('OpenAdapt-v0.28.0.zip', 1)]
v0.27.0 [('OpenAdapt-v0.27.0.app.zip', 0), ('OpenAdapt-v0.27.0.zip', 0)]
v0.26.2 [('OpenAdapt-v0.26.2.app.zip', 7), ('OpenAdapt-v0.26.2.zip', 8)]
v0.26.1 [('OpenAdapt-v0.26.1.app.zip', 20), ('OpenAdapt-v0.26.1.zip', 16)]
v0.26.0 [('OpenAdapt-v0.26.0.app.zip', 1), ('OpenAdapt-v0.26.0.zip', 4)]
v0.25.5 [('OpenAdapt-v0.25.5.app.zip', 0), ('OpenAdapt-v0.25.5.zip', 2)]
v0.25.4 [('OpenAdapt-v0.25.4.app.zip', 6), ('OpenAdapt-v0.25.4.zip', 13)]
v0.25.3 [('OpenAdapt-v0.25.3.app.zip', 2), ('OpenAdapt-v0.25.3.zip', 3)]
v0.25.2 [('OpenAdapt-v0.25.2.app.zip', 7), ('OpenAdapt-v0.25.2.zip', 18)]
v0.25.1 [('OpenAdapt-v0.25.1.app.zip', 5), ('OpenAdapt-v0.25.1.zip', 17)]
v0.25.0 [('OpenAdapt-v0.25.0.app.zip', 17), ('OpenAdapt-v0.25.0.zip', 9)]
v0.24.1 [('OpenAdapt-v0.24.1.app.zip', 0), ('OpenAdapt-v0.24.1.zip', 0)]
v0.24.0 [('OpenAdapt-v0.24.0.app.zip', 4), ('OpenAdapt-v0.24.0.zip', 2)]
v0.23.1 [('OpenAdapt-v0.23.1.app.zip', 1), ('OpenAdapt-v0.23.1.zip', 2)]
v0.23.0 []
v0.22.0 [('OpenAdapt-v0.22.0.app.zip', 0), ('OpenAdapt-v0.22.0.zip', 0)]
v0.21.0 [('OpenAdapt-v0.21.0.app.zip', 0), ('OpenAdapt-v0.21.0.zip', 0)]
v0.20.1 [('OpenAdapt-v0.20.1.app.zip', 2), ('OpenAdapt-v0.20.1.zip', 2)]
v0.20.0 [('OpenAdapt-v0.20.0.app.zip', 1), ('OpenAdapt-v0.20.0.zip', 0)]
v0.19.0 []
v0.18.3 []
v0.18.2 []
v0.18.1 []
v0.18.0 []
v0.17.1 []
v0.17.0 []
v0.16.2 []
v0.16.1 []
v0.16.0 []
v0.15.1 []
v0.15.0 []
v0.14.0 []
v0.13.2 []
v0.13.1 []
v0.13.0 []
v0.12.0 []
v0.11.0 []
v0.10.0 []
v0.9.0 []
v0.8.1 []
v0.8.0 []
v0.7.1 []
v0.7.0 []
v0.6.1 []
v0.6.0 []
v0.5.8 []
v0.5.7 []
v0.5.6 []
v0.5.5 []
v0.5.4 []
v0.5.3 []
v0.5.2 []
v0.5.1 [('openadapt-0.5.1-py3-none-any.whl', 2), ('openadapt-0.5.1.tar.gz', 2)]
v0.5.0 [('openadapt-0.5.0-py3-none-any.whl', 2), ('openadapt-0.5.0.tar.gz', 2)]
v0.4.0 [('openadapt-0.4.0-py3-none-any.whl', 2), ('openadapt-0.4.0.tar.gz', 2)]
v0.3.1 [('openadapt-0.3.1-py3-none-any.whl', 2), ('openadapt-0.3.1.tar.gz', 2)]
v0.3.0 [('openadapt-0.3.0-py3-none-any.whl', 2), ('openadapt-0.3.0.tar.gz', 2)]
v0.2.0 [('openadapt-0.2.0-py3-none-any.whl', 2), ('openadapt-0.2.0.tar.gz', 2)]
v0.1.0 [('openadapt-0.1.0-py3-none-any.whl', 2), ('openadapt-0.1.0.tar.gz', 2)]
ignored_names=
{'openadapt-0.1.0-py3-none-any.whl',
 'openadapt-0.1.0.tar.gz',
 'openadapt-0.2.0-py3-none-any.whl',
 'openadapt-0.2.0.tar.gz',
 'openadapt-0.3.0-py3-none-any.whl',
 'openadapt-0.3.0.tar.gz',
 'openadapt-0.3.1-py3-none-any.whl',
 'openadapt-0.3.1.tar.gz',
 'openadapt-0.4.0-py3-none-any.whl',
 'openadapt-0.4.0.tar.gz',
 'openadapt-0.5.0-py3-none-any.whl',
 'openadapt-0.5.0.tar.gz',
 'openadapt-0.5.1-py3-none-any.whl',
 'openadapt-0.5.1.tar.gz'}

@abrichr
Copy link
Contributor Author

abrichr commented Jun 13, 2024

250 - 187 = 63
image
image

scripts/downloads.py Outdated Show resolved Hide resolved
@abrichr
Copy link
Contributor Author

abrichr commented Jun 13, 2024

Thank you @KIRA009 ! 🙏

image image

@abrichr abrichr merged commit 3c20298 into main Jun 13, 2024
1 check passed
@abrichr abrichr deleted the feat/download-script branch June 13, 2024 18:15
R-ohit-B-isht pushed a commit to R-ohit-B-isht/OpenAdapt that referenced this pull request Jun 21, 2024
* add scripts/downloads.py

* add total cumulative downloads to title

* add module docstring

* pagination

* add datetime

* accumulate by release_date

* black/flake8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants