heliophysicsPy / standards

3 stars 11 forks source link

Revise "Testing" and "Software Maturity" standards #35

Open jtniehof opened 2 months ago

jtniehof commented 2 months ago

(Broader context at the end).

This issue is to discuss a potential PHEP to replace the "testing" and "software maturity" portions of the existing PyHC standards: to lay out what looks like the current standards, and allow for suggested changes.

I am lumping these together as potentially related. I am not sure what the appropriate division of these existing standards is. I suggest we focus the conversation in this issue on scoping: what standards belong together in a future document? Then we can have new issues to discuss the actual standards.

The relevant standards are:

(bullet list to fight the renumbering, apologies for roman numerals and suggestions welcome)

I am not seeing any relevant suggested updates in #16.

Standard 10 is somewhat in tension with Standard 12 (duplication of effort); 12 is discussed in #33.

Broader context: I envision a process of "patriating the constitution" where we revisit the existing standards documents and incorporate them into PHEPs, potentially updated, that are explicitly noted as replacing the relevant standards. We probably do not want one PHEP per standard. Our previous grouping in the review guidelines seems a good start.

jtniehof commented 2 months ago

My feeling here is that 1, 3, 4 relate to the release process and supported environments and belong together, along with other changes we've discussed (e.g. binary wheels and the like). They're user-facing.

I could see 6 potentially moving into the community section (#33) or staying here.

7, 9, 10, 14 are all pretty clearly development and repository practices (with 6, if it stays here). "Maturity" may not be the best name for this set.

jtniehof commented 2 months ago

In the interests of prodding discussion, I'm throwing out a strawman:

A "packaging standards" PHEP would incorporate (changes are bold):

EDIT: I can see a "reference implementation" of a PyHC community-supported package that's just the framework for this....

Standard 6 moves to community (#33) and I'll explain why there.

A "development practices" PHEP would incorporate:

rebeccaringuette commented 1 month ago

Throwing in some ideas on how this might relate to the package tiers.

Let the tomato throwing contest begin! :D

sapols commented 1 week ago

Good "Style & static checks" guide from Scientific Python: https://learn.scientific-python.org/development/guides/style/

sapols commented 1 week ago

Codecov is a quite useful CI tool for measuring code coverage.

Although Stuart pointed out this How to Ditch Codecov for Python Projects

And pySPEDAS uses coveralls.io

sapols commented 1 week ago

The pyOpenSci packaging guide has been undergoing a lot of growth.

jtniehof commented 1 week ago

Notes regarding a potential development practices PHEP:

jtniehof commented 1 week ago

Notes regarding packaging PHEP: