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

Fix: update archive package text #258

Merged
merged 12 commits into from
Dec 15, 2023
Merged

Conversation

lwasser
Copy link
Member

@lwasser lwasser commented Oct 26, 2023

closes #254

this PR addresses the topic discussed in #254 it adds language around what we track and how we flag packages that may be en route to becoming orphans / unmaintained.

it is now open for formal review from the community.


our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
Copy link
Contributor

@willingc willingc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made a few suggestions to help add clarity.

our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
our-process/policies.md Outdated Show resolved Hide resolved
Copy link
Contributor

@pllim pllim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! In general, this LGTM except for the minor comments.

@lwasser
Copy link
Member Author

lwasser commented Nov 30, 2023

hi everyone - this task popped up in my asana list for today. i'm going to work on all of the feedback and such in the upcoming days with the goal of merging it next week by Wednesday dec 6.

lwasser and others added 7 commits December 12, 2023 12:47
Co-authored-by: Carol Willing <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
@lwasser
Copy link
Member Author

lwasser commented Dec 12, 2023

ok everyone. i'm ready to tackle this one again. I've just integrated some of your changes into the archive policy!
I had a few questions around language. but i think we can merge this by the end of the week - (Friday dec 15) if we can just agree on the archive flag progression.

i'm proposing:

  1. 6 months - no activity maybe a green flag appears. this just means we're watching the package but it's great so not a huge issue just - hey activity is slow on the repo. this might be because there have been no commits / releases/ pr's in 6 months (or issue activity??)
  2. 12 months - after a year let's turn the flag from green to yellow. Still not red. At this point we'd reach out to the maintainer to determine next steps (if any are required). Perhaps we'll learn that there is no action needed and the flag goes back to green.

activity would be quantified by: commits, pr's, releases

The alternative is we just give maintainers a full year. (12 months) in terms of Ci builds that will be slightly easier to implement. thoughts?

@hamogu
Copy link

hamogu commented Dec 12, 2023

Good point about implementation.
I suggest to keep it simple - for us and for the package authors and only have one (12 month) cadence. Python is not evolving that fast any more. A package that has no activity after 6 month is not one that's so central to our ecosystem that we need to catch that immediately - and users are free to check number of stars, etc. if they want more information. This is just for an overview.

@lwasser
Copy link
Member Author

lwasser commented Dec 12, 2023

Good point about implementation. I suggest to keep it simple - for us and for the package authors and only have one (12 month) cadence. Python is not evolving that fast any more. A package that has no activity after 6 month is not one that's so central to our ecosystem that we need to catch that immediately - and users are free to check number of stars, etc. if they want more information. This is just for an overview.

ok - yes for implementation purposes it's much easier to track the last updated date. (i can add to our current system and write a bit of code to look for pr's, commits, releases ). then on the front end of the website, it can check the date, determine how long it's been since we've see "activity" and add or not add a flag to the package listing. This is a really easy check for me to build with our current infrastructure!

@lwasser
Copy link
Member Author

lwasser commented Dec 12, 2023

language is now this - it's a cleaner policy AND easier to implement so i appreciate both

pyOpenSci is building a system to track package metrics and activity, including issues, pull requests, and dates of
the last release and last commit to the package repository. Activity is defined as a repository commit, pull request or release.

We will flag packages that haven't been updated within a 1 year/ 12 month time period based on activity. Packages with no activity after 12 months will be flagged. At that time, pyOpenSci editorial team member will contact the package maintainers to evaluate the maintenance status of their package.

@lwasser
Copy link
Member Author

lwasser commented Dec 12, 2023

i've also created a local task to do a bit more web dev when we add the astropy landing page to our site (after the APE is approved)

it will look something like this:

BACKEND dev:

  • add a small module to update-web-meta with a last_activity_date. - this would parse a github repo and determine the latest date of a pr, commit or release
  • the above would add a field to the packages.yml file last_activity_date

FRONT END DEV (what people see on the website)

  • parse the yaml file - find that field, and for each package,
  • if the date is older than 12 months, add a orange flag to the package card
  • then simply add a key / explanation to the website that tells the user what the flag means.

our-process/policies.md Outdated Show resolved Hide resolved
Copy link
Contributor

@willingc willingc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking very good :D Thanks @lwasser

@willingc
Copy link
Contributor

Added #268 to repo to track future revision steps.

Let's get this PR merged 😄

@lwasser
Copy link
Member Author

lwasser commented Dec 15, 2023

thank you so much @willingc i just pushed the last round of edits to this PR. and will merge now once all is "green" ✅ @hamogu @pllim thank you. both as well for the feedback and input. And please know as we implement the maintianed "Status" of a package we can always adjust our policies as it makes sense for all of our community partners and our maintainer community as well. but i'm very excited to know that the initial checks are something i know how to build based on our existing infrastructure!! so we really are not that far away from implementing this with our existing builds.

@lwasser
Copy link
Member Author

lwasser commented Dec 15, 2023

All green !!! 🚢 :shipit: !!!

@lwasser lwasser merged commit 76737cc into pyOpenSci:main Dec 15, 2023
3 checks passed
@lwasser lwasser deleted the archive-package branch December 15, 2023 17:53
@lwasser lwasser mentioned this pull request Feb 20, 2024
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request reviews-welcome
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Defining a process for archiving / sunsetting pyos packages
4 participants