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

Metrics for community partnership landing pages to track health #226

Open
lwasser opened this issue Jul 5, 2023 · 6 comments
Open

Metrics for community partnership landing pages to track health #226

lwasser opened this issue Jul 5, 2023 · 6 comments
Assignees
Labels
enhancement New feature or request question Further information is requested reviews-welcome

Comments

@lwasser
Copy link
Member

lwasser commented Jul 5, 2023

website PR with the actual website updates for the screenshots below are here. but please leave comments here about metrics!

Astropy and other affiliated packages partnerships -

Landing page with community partner buttons

First - the landing page with new community specific buttons at the top leading to a community partner page
Screen Shot 2023-07-05 at 12 18 41 PM

Search feature to find astropy affiliated packages on our main python-packages landing page.

Then we have the landing page where someone might search for astropy to find related packages.
Screen Shot 2023-07-05 at 12 18 31 PM

Community landing page

I envision something like this (styles can be fixed) that listed only the affiliated packages. A few notes

  1. i created a placeholder graphic at the top for astropy - we can change it it's just a mockup.
  2. We should discuss in more detail what metrics we want to track here. I was thinking it would be nice to be able to sort packages by varying metrics.
  3. Based upon what we decide above, we then could create a xml feed that shared data associated with a select group of packages to populate another website. we'd need to agree on what items would be most useful to share in that feed.
Screen Shot 2023-07-05 at 12 27 20 PM

What metrics would be most useful for us to collect?

A starting list includes:

  • pony factor (calculated in the scientific python devstats)
  • of contributors (over time??)

  • last commit date
  • last release date and value
  • published on conda-forge: boolean
  • something like average pr's merged a year?
  • monthly pr's opened?

repo level metrics that pyos wishes to track

  • build system / tool used (repo review?)
  • using pyproject toml
  • others
@rebeccaringuette
Copy link

Suggest adding date of last package install/download as a measure of how often the community is using the package.

@pllim
Copy link
Contributor

pllim commented Jul 10, 2023

"last package/install download" is also affected by automated CI, so it depends on if you count "CI" as community or not.

@rebeccaringuette
Copy link

Isn't automated CI triggered by a person or action, such as a user-generated PR? If there is a way to separate automated installations/downloads from others, then both could be used separately. Otherwise, the behavior of the metric over time would be a good indicator of activeness/usefulness, even if the package isn't being updated.

@lwasser
Copy link
Member Author

lwasser commented Jul 12, 2023

thank you both for this. i was thinking that looking at average downloads a month might be a good representation of ongoing use. it would be easy to track conda-forge and pip and that way we could view overall volume of downloads over time (knowing that some of these are CI related). Snyk does this with weekly downlaods.

@pllim
Copy link
Contributor

pllim commented Jul 28, 2023

Back to the original post, I am not sure if I find one button per health category useful. I was envisioning an at-a-glance table where you see all the metrics for multiple packages all at once; something like http://www.astropy.org/astropy-dashboard/status.html but not the same metrics.

But then again, perhaps there would be too many things to fit in a single table. So, the most important ones for users would be in table, but if you click on "more" for a package, it would give you everything?

For example, if I am browsing as a user, I want to know what is the latest release and when, and where to find the package and doc. And maybe if CI is passing. The pony factors and number of contributors would be secondary, but these details would be useful for, say, reviewers.

Everything in "devstats" (e.g., https://devstats.scientific-python.org/_generated/astropy/index.html) is secondary.

Everything in "repo-stats" (e.g., https://scientific-python.github.io/repo-review/?repo=astropy%2Fastropy&branch=main) is also secondary.

The primary stuff I mentioned above could be pulled directly from places like PyPI and CI provider, though different packages may use different CI providers.

@lwasser
Copy link
Member Author

lwasser commented Apr 3, 2024

Screenshot 2024-04-03 at 11 37 49 AM

@pllim i'm following up on this. i'm sorry i somehow totally missed this comment. what you are suggesting in many ways (from a web dev perspective) is easier to implement but also in some ways harder.

The harder part is how would we know what badges we want? as you have seen with astropy the badges go out of date. so say someone moves from github actions for tests to gitlab. how would we know that? similarly docs - they could be using readthedocs or they could have a github action that is only building mkdocs. so how would we automate capturing that information is my question.

creating that table would be easy with the data we have now from a web dev perspective. but the data part is harder.

some things like pypi downloads, conda downloads - no problem. i can grab that info. similarly last commit date i am already grabbing. let's revisit this convo so i can pull together a proof of concept

@lwasser lwasser added enhancement New feature or request question Further information is requested reviews-welcome labels Apr 3, 2024
@lwasser lwasser self-assigned this Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested reviews-welcome
Projects
None yet
Development

No branches or pull requests

3 participants