-
Notifications
You must be signed in to change notification settings - Fork 11
PHEP 4: PyHC Package Tiering #31
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
base: main
Are you sure you want to change the base?
Conversation
|
@jameswilburlewis @aburrell @rweigel @sandyfreelance @darrendezeeuw can't add you all as reviewers (I think I need to invite you to the PyHC org on GitHub first. But for your awareness and comments. |
aburrell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First impressions.
pheps/phep-9999.md
Outdated
| - PyHC Software Env Inclusion: indicates whether a package will be included within the PyHC software environment | ||
| - PyHC-Chat Bot Inclusion: indicates whether a packages will have up-to-date information included within the ChatGPT4-powered PyHC-Chat bot | ||
| - pyOpenSci Verified Badge: a badge that shows whether a package has completed the pyOpenSci review process | ||
| - Standards Compliance Assistance: indicates whether a package will receive extra help and/or advice from PyHC leadership in conforming to the PyHC standards |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, this seems counterintuitive to me. Shouldn't the packages that are less up-to-snuff receive more help? Perhaps a better way of splitting time would be having a pool of volunteers that could give time for things like code reviews and then receive code reviews from other people. That would be a nice way of creating more of a community environment in PyHC, but is not directly related to the tiers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair point. There's also an idea that packages who've done the work to be at a higher level get more help if there's extra funding for someone to poke around their code base (e.g. work through bug issues or solve long-standing open PRs).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point! We should have community support mechanisms for packages to level up, as you suggest.
📌 I'm wondering if something like an annual unstructured Helio Hack Week (like Astro Hack Week) would provide good opportunities for us to support each other in this way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a potential use case, having a path forward to help packages be pip/conda-installable would be a good support. A Hack Week could be useful here.
Changing Honorable Mention to Copper Co-authored-by: Angeline Burrell <aburrell@users.noreply.github.com>
jklenzing
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initial thoughts. I think this is a good step forward.
pheps/phep-9999.md
Outdated
| - PyHC Software Env Inclusion: indicates whether a package will be included within the PyHC software environment | ||
| - PyHC-Chat Bot Inclusion: indicates whether a packages will have up-to-date information included within the ChatGPT4-powered PyHC-Chat bot | ||
| - pyOpenSci Verified Badge: a badge that shows whether a package has completed the pyOpenSci review process | ||
| - Standards Compliance Assistance: indicates whether a package will receive extra help and/or advice from PyHC leadership in conforming to the PyHC standards |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a potential use case, having a path forward to help packages be pip/conda-installable would be a good support. A Hack Week could be useful here.
|
Initial thoughts/issues:
|
|
@sapols "copper" was my suggestion, to keep with the medal terminology. It's the next medal after "bronze". |
|
I would like to echo Shawn's comments on this PHEP being a great step forward for PyHC. Some comments:
|
|
@sapols thanks for your thoughts.
No, as @aburrell pointed out, that was changed to keep with the "medal" terminology we used for the other categories.
I think we want to establish some specific environments for this. @rebeccaringuette had the interesting suggestion in her comment (below yours) re creating two environments. I think some kind of split of Gold + Silver and then Gold + Silver + Bronze for PyHC-top-tier and PyHC-all environments, respectively (happy for some help in workshopping that terminology).
I think this would make core go away, yes, leaving us the highest level being "Gold". It'd get confusing in my mind to delineate the differences between Gold and core. Further, we've always struggled to say what exactly it meant to be a core package, or how to become core package (apart from a nod of approval from current leadership and core package maintainers). |
|
@rebeccaringuette thanks for your thoughts above!
Indeed, I'm trying to make that a bit more clear in the soon-to-come commit.
I like this thought. I'll include it. However, I do wonder how we intend to include the bronze categories, which allow some major conflicts to exist with installation into the software environment... thoughts?
I mostly agree. I think if you're already at Gold, you probably will only get assistance if you're in danger of dropping down a level.
Yeah, I nixed that one. The metadata suggestion is good, though can you elaborate on how we would evaluate that?
Yep.
Sure, that makes sense.
Indeed, and thus the point of doing a pyOpenSci review process. But the self-evaluation is just step one to getting there. Shawn does also do a general review to make sure the grades are commensurate with the state of a repository.
Sure.
Same, I'm nixing that once (if) this PHEP goes into place.
For sure. First we need to get a good definition on what we want for PyHC-specific requirements for a pyOpenSci process to show we have the process in place and ready to go for packages.
For sure, I need to include some wording on this. I don't want to wait too long, so perhaps 6 months is best. I'll find out soon if that's a terrible idea by how many tomatoes are thrown my way with the next commit. :) |
…m initial round of reviews on GitHub
|
Alright, all. Tried to catch and incorporate as many comments as I could. Please review and let me know what concerns/suggestions I didn't capture or have come up with the changes. Thanks! |
pheps/phep-9999.md
Outdated
| | PyHC Standard Grades | Mostly green, some yellow | Several yellow, no red | A couple red | N/A | | ||
| | pyOpenSci Review Status | Completed | In progress | Not Started | Not Started | | ||
| | PyHC Env Installation Conflicts | No conflicts | A couple conflicts exist | Major conflicts exist | Major conflicts exist | | ||
| | HSSI Metadata Compliant | Fully Compliant | A couple issues exist | Major issues exist | Major issues exist | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs a bit more defining. Hoping to get some input on that from you @rebeccaringuette if you have thoughts from the metadata perspective? Are we looking for packages to have a specific set of metadata included at time of tier submission?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure.
- Copper: Name of package, link to repository.
- Bronze: + DOI, license, description, (publisher, publication year, authors -> needed to create a DOI), mandatory fields for HSSI*
- Silver: + most recommended fields for HSSI*
- Gold: + all recommended and some optional fields for HSSI*
*to be determined
Ideally, the PyHC package submission form should incorporate HSSI metadata fields.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is perfect, thank you!
pheps/phep-9999.md
Outdated
|
|
||
| Descriptions for each heading are as follows: | ||
| - Summer School Inclusion: indicates whether a package will be included in summer school teaching materials | ||
| - PyHC-top-tier Env Inclusion: indicates whether a package will be included within the current PyHC software environment used at the summer school (also included within env in Science Platforms Coordination group???) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That question in the parentheses is once again for you @sapols :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd actually say the env being made for the Science Platforms Coordination group is out of scope here. It's not an explicitly PyHC thing; we're not even including all core PyHC packages in that env.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Will remove.
jtniehof
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have suggestions inline, but I don't think they're required. I'll hold back on an "approve" until we're voting.
pheps/phep-9999.md
Outdated
| @@ -0,0 +1,147 @@ | |||
| ``` | |||
| PHEP: 9999 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sapols can you formally assign the number?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PHEP number assigned and DOI reserved.
|
|
||
| # PyHC Package Tiering Specifications | ||
| <a name="specification"></a> | ||
| There are three tiers proposed in this PHEP: Bronze, Silver, and Gold. These would replace the current structure of "Core Packages", "Other Packages", and "Un-evaluated Packages". Extensive updates have been made to the following tiering specifications, based on discussions held at the [PyHC Fall 2024 meeting](https://doi.org/10.5281/zenodo.15080483). See the table below for requirements associated with each tier: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure we need "updates have been made..." in the spec as such, but I like the idea of linking the fall meeting notes.
How about in this section we have:
...and "Un-evaluated Packages". See the table below for the baseline requirements associated with each tier; other standards-track PHEPs may add additional requirements.
And then in "Rejected Items":
Originally this PHEP contained detailed standards for each tier. After discussions held at the PyHC Fall 2024 meeting, it was decided to have this PHEP focus on the tiering process, and have the detailed standards by tier contained in other standards-track PHEPs. This allowed discussion of the tiering structure to be separated from discussion of which standards were appropriate for each tier.
pheps/phep-9999.md
Outdated
|
|
||
| | | **Gold** | **Silver** | **Bronze** | | ||
| | :-: | :----------: | :-----------: | :------------: | | ||
| | Self-Evaluation | No | No | Yes | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Persnickety: would this be more clear if it were instead "Formal Evaluation: Yes Yes No"?
jtniehof
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is just trying to make the CI happy. I think I found all the trailing whitespace and one typo.
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
Co-authored-by: Jon Niehof <jtniehof@gmail.com>
|
Looks like that squashed all the whitespace issues. Let's never use the GH suggestions again. Holy smoke. |
|
The "* = See HSSI metadata schema for details" line no longer applies.
The voting to regrade (or not) a given package needs to be explained a bit
more, e.g. what quorum of the TSC is needed (e.g., 2/3?), will it be a
simple majority vote?
…On Mon, Oct 20, 2025 at 10:04 AM Jon Niehof ***@***.***> wrote:
*jtniehof* left a comment (heliophysicsPy/standards#31)
<#31 (comment)>
Looks like that squashed all the whitespace issues. Let's never use the GH
suggestions again. Holy smoke.
—
Reply to this email directly, view it on GitHub
<#31 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALX7QXSPZ2POSMLVXZZU24T3YTTXFAVCNFSM6AAAAABKTRZAKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTIMRSGIYTSOBSGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Removed that line. I'm going to suggest a simple majority. I also added some more detail surrounding the TSC, how they're brought on and for how long, etc. |
pheps/phep-0004.md
Outdated
| - 1) The PR is merged if there's a simple majority of TSC member in agreement with the self-evaluated tier, or | ||
| - 2) The PR is rejected (and the TSC collectively craft and provide written reasoning through the PyHC Lead for a differing tier level) if a simple majority of TSC members do not agree with the self-evaluated tier. | ||
|
|
||
| \* The TSC includes the PyHC Lead, PyHC Tech Lead, as well as volunteer members of the PyHC not involved with the submitted package, with a minimum of 4 members up to a maximum of 6 members. Volunteer members of the TSC will serve a one-year tenure, decided upon at the nearest telecon or bi-annual meeting following the written email communication of this PHEP's implementation and at a yearly cadence thereafter. After the year tenture ends, TSC volunteer members can choose to stay or cycle out with a new PyHC member. If a PyHC member is interested in being involved, but cannot attend that telecon or bi-annual meeting where TSC members are chosen, they may email the PyHC Lead with their request for candidacy at least one business day beforehand (to give the PyHC Lead time to see the email). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the min/max of 4/6 the total, or just the volunteers? Suggest "minimum of 4 total members up to a maximum of 6 total members". Or 6/8.
Some explicit statement that "future PHEPs may further define the TSC and may supersede this PHEP regarding the TSC without affecting other standards and processes in this PHEP"
|
This is the voting comment for the first vote, from the fall 2025 meeting. Thumbs up to approve, thumbs down to disapprove, anything else to abstain. Vote is for current status with these changes included. Quote / reply to this if you want to include commentary with your vote. |
2 abstained votes |
|
Added in your suggestions for the TSC portion @jtniehof . This should now be up-to-date |
This PR proposes a new process PHEP to the PyHC. PHEP 4 establishes a new tiering structure to PyHC projects, which will automatically affect PyHC packages once it goes into effect. Included herein is information on requirements for each of the new four tiers of PyHC projects (Gold, Silver, Bronze, and Bronze), as well as benefits accrued at each tier.