From 88fa5889c9f865fab989f39b71941995116ecc10 Mon Sep 17 00:00:00 2001 From: Pey Lian Lim <2090236+pllim@users.noreply.github.com> Date: Sat, 15 Jul 2023 23:11:27 -0500 Subject: [PATCH 01/22] APE 24: Affiliated with pyOpenSci --- APE24.rst | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 APE24.rst diff --git a/APE24.rst b/APE24.rst new file mode 100644 index 00000000..fa5852a4 --- /dev/null +++ b/APE24.rst @@ -0,0 +1,223 @@ +****************************************** +Astropy Affiliated Packages with pyOpenSci +****************************************** + +author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier + +date-created: 2023 July 13 + +date-last-revised: 2023 July 15 + +date-accepted: TBD + +type: Process + +status: Discussion + + +Abstract +======== + +Since the early days of the Astropy Project, we had recognized the need +and developed an internal process for +`Astropy Affiliated Packages `_ +(hereafter, for brevity, Affiliated). +As our ecosystem thrives and grows, so does the wider scientific Python ecosystem, +which resulted in similar processes like +`JOSS `_ and +`pyOpenSci software peer review `_ +(hereafter, pyOpenSci). +Between the two, while JOSS has existed longer, pyOpenSci is more closely aligned +with what we already do in Affiliated. This APE overhauls our existing Affiliated +process to partner with pyOpenSci in order to share resources and gain wider exposure. + + +Detailed description +==================== + +.. This section describes the need for the APE. It should describe the existing +.. problem that it is trying to solve and why this APE makes the situation better. +.. It should include examples of how the new functionality would be used and +.. perhaps some use cases. + +The Affiliated page has existed since 2013 (i.e, +`28d9d03 `_) +though the concept could have been even earlier. Back then, there were a handful of +"featured" packages and the "affiliated" section was just "INSERT JSON TABLE". +JOSS was established in 2016 (source: +`Wikipedia `_) +but it was perceived as a different enough system that there was no effort +to consolidate with them. Meanwhile, pyOpenSci started a peer review process +in ???? and then collaborated with `Pangeo `_ in ????. + +Fast forward to July 2023, there are 47 accepted Affiliated packages and +7 undergoing the review process. We have two editors (Derek Homeier and +William Jamieson at the time of writing) and no formal/public pool of reviewers. +Given that reviewers are anonymous by default, we are unable to provide +a fully transparent review process (even though results are publicly posted +and discussed, they are posted second-hand by the editors). We are also +unable to let people publicly sign up to be reviewers, as that would break +anonymity. Furthermore, we have no resources nor infrastructure to +re-review the 47 accepted packages to ensure that they still meet the +Affiliated standards. Therefore, there is a need to restructure our Affiliated +process to be sustainable. We are confident that a partnership with +pyOpenSci is the best solution currently available. + +What do we gain from a partnership with pyOpenSci? +-------------------------------------------------- + +* Larger exposure for Affiliated packages within scientific Python ecosystem, + not just Astropy. +* They get to be listed in JOSS "for free" from the + `partnership between pyOpenSci and JOSS `_. +* pyOpenSci's objective way of initial triage will automatically weed out + packages that do not even meet basic standards (e.g., not installable), + reducing our editors' burdens. +* We can be sure the process is consistent with other projects that have + also partnered with pyOpenSci. +* We can share infrastructure with pyOpenSci, reducing our own maintenance burden. +* We can share reviewer pool with pyOpenSci, providing our reviewers + opportunity to connect with peers beyond Astropy. +* Even when a package ends up not being accepted into Affiliated but satisfies + basic pyOpenSci criteria, its application effort is not entirely wasted, + as it could still be listed under pyOpenSci only without our Affiliated status. + +Who owns this process? +---------------------- + +pyOpenSci already has an ongoing process and it is a community-driven one. +It is compatible with Astropy but it is up to us to decide if a package +applied to pyOpenSci also qualifies as Astropy Affiliated. + +Will the new process still foster a sense of community in Astropy? +------------------------------------------------------------------ + +Yes, we think so! We will still keep the +`Astropy Affiliated Packages `_ +page, but now instead of hosting the content ourselves, we grab an RSS feed +from pyOpenSci for the packages marked as Affiliated. To keep the history, +we will move the existing listing to a "legacy affiliation" page and keep it static. + +Funding +------- + +pyOpenSci has its own funding structure beyond the control of Astropy. +At the time of writing, it is fully funded for the next 2 years. +Given the number of projects currently looking into a similar partnership +with pyOpenSci (SunPy, Heliophysics, etc.) and that it has a full-time staff +dedicated to seeking out more funding, we find that the benefits outweigh +the risks. + +In a nutshell +------------- + +.. TODO: Move stuff from https://docs.google.com/document/d/1hIl3y6nrcepv-tKKQLVB4u0a3fXACQ1Qrg0Y6VrJykg/view + +TODO: Table from Google Doc here + Current Astropy/pyOpenSci Review Process + +Rejecting packages +------------------ + +TODO: Fill in from Google Doc. + +Rejected package may still be listed under pyOpenSci (and JOSS) if they +pass the general criteria even if it fails the Astropy-specific criteria, +e.g., a very nice Python package that has little to do with Astropy ecosystem. + +"Rereview" of packages +---------------------- + +TODO: Fill in from Google Doc. + +Finding reviewers +----------------- + +TODO: Fill in from Google Doc + Astropy Requirements to be reviewers + COI + +Packaging guidelines +-------------------- + +TODO: Fill in from Google Doc. + +Listing on websites +------------------- + +TODO: Fill in from Google Doc. Also mention RSS cross-posting. + +Future work +----------- + +- Re-review. Semi-automated, not full review. +- Live package stats. + + +Branches and pull requests +========================== + +.. Any pull requests or development branches containing work on this APE should be +.. linked to from here. (An APE does not need to be implemented in a single pull +.. request if it makes sense to implement it in discrete phases). If no code is yet +.. implemented, just put "N/A" + + +* `Affiliated Package: Consolidate with pyOpenSci? `_ +* `Feat: add text associated with astropy partnership `_ +* `FEAT: Start at community mockup / astropy `_ +* `Metrics for community partnership landing pages to track health `_ + +Implementation +============== + +.. This section lists the major steps required to implement the APE. Where +.. possible, it should be noted where one step is dependent on another, and which +.. steps may be optionally omitted. Where it makes sense, each step should +.. include a link related pull requests as the implementation progresses. + +TODO: William will write up something that we can link to about the new guidelines. +They need to be compatible with +`Affiliated Guidelines (Dec 23, 2021) `_. + +Editors will give packages under review option to try out this new process. +Regardless of the outcome of this APE, if the package is accepted during this trial, +the acceptance stands; That is, if this APE falls through but the package used +the proposed process here, it still counts as Affiliated and does not have to re-apply. + +Reviewers who agree to participate will sign up via +`pyOpenSci reviewer sign-up form `_. + +TODO: Fill in from Google Doc (Transition Notes from Their Current + TODOs) + +Transition plan: + +- Existing listing will be legacy but will be kept online in the lifetime of the Astropy Project. +- Already accepted packages are encouraged to go through the new process to be listed under pyOpenSci, emphasizing that they will get JOSS "for free" with little effort. +- The plan is expected to take several years to go through all the packages, however it should not take so long for any individual package from start to finish. + + +Backward compatibility +====================== + +.. This section describes the ways in which the APE breaks backward compatibility. + +Somewhat compatible: + +- Existing Astropy editors would join pyOpenSci editorial board. +- There would be cross-listing between Astropy editors over at pyOpenSci and our roles page. + +Not backward compatible: + +- Reviewers are public now. +- No color badges. But have link to full pyOpenSci review, maybe. + + +Alternatives +============ + +We keep the status quo; no changes needed but we are also not tapping into +similar effort in a wider scientific Python community. + + +Decision rationale +================== + + From 5a1313e2984e006f6bbaa813515546931998b7b9 Mon Sep 17 00:00:00 2001 From: Pey Lian Lim <2090236+pllim@users.noreply.github.com> Date: Sat, 15 Jul 2023 23:22:53 -0500 Subject: [PATCH 02/22] Add pyOpenSci history Co-authored-by: Leah Wasser --- APE24.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/APE24.rst b/APE24.rst index fa5852a4..88975e1a 100644 --- a/APE24.rst +++ b/APE24.rst @@ -47,8 +47,10 @@ though the concept could have been even earlier. Back then, there were a handful JOSS was established in 2016 (source: `Wikipedia `_) but it was perceived as a different enough system that there was no effort -to consolidate with them. Meanwhile, pyOpenSci started a peer review process -in ???? and then collaborated with `Pangeo `_ in ????. +to consolidate with them. +Meanwhile, pyOpenSci was founded in 2018 with the peer review beginning in March 2019, +partnership with the JOSS soon after, and with `Pangeo `_ +in Fall 2022 using Sloan Foundation funding. Fast forward to July 2023, there are 47 accepted Affiliated packages and 7 undergoing the review process. We have two editors (Derek Homeier and From fa9bec7dee20280f316110c1ff22f38e9cd5e4eb Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Thu, 27 Jul 2023 22:20:27 -0400 Subject: [PATCH 03/22] Port the rest of Google doc over --- APE24.rst | 299 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 252 insertions(+), 47 deletions(-) diff --git a/APE24.rst b/APE24.rst index 88975e1a..25f207a1 100644 --- a/APE24.rst +++ b/APE24.rst @@ -6,7 +6,7 @@ author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier date-created: 2023 July 13 -date-last-revised: 2023 July 15 +date-last-revised: 2023 July 27 date-accepted: TBD @@ -14,13 +14,14 @@ type: Process status: Discussion +.. NOTE: Most of this stuff is from https://docs.google.com/document/d/1hIl3y6nrcepv-tKKQLVB4u0a3fXACQ1Qrg0Y6VrJykg/view + Abstract ======== Since the early days of the Astropy Project, we had recognized the need -and developed an internal process for -`Astropy Affiliated Packages `_ +and developed an internal process for `Astropy Affiliated Packages`_ (hereafter, for brevity, Affiliated). As our ecosystem thrives and grows, so does the wider scientific Python ecosystem, which resulted in similar processes like @@ -31,6 +32,8 @@ Between the two, while JOSS has existed longer, pyOpenSci is more closely aligne with what we already do in Affiliated. This APE overhauls our existing Affiliated process to partner with pyOpenSci in order to share resources and gain wider exposure. +.. _Astropy Affiliated Packages: https://www.astropy.org/affiliated/#affiliated-packages + Detailed description ==================== @@ -94,8 +97,7 @@ applied to pyOpenSci also qualifies as Astropy Affiliated. Will the new process still foster a sense of community in Astropy? ------------------------------------------------------------------ -Yes, we think so! We will still keep the -`Astropy Affiliated Packages `_ +Yes, we think so! We will still keep the `Astropy Affiliated Packages`_ page, but now instead of hosting the content ourselves, we grab an RSS feed from pyOpenSci for the packages marked as Affiliated. To keep the history, we will move the existing listing to a "legacy affiliation" page and keep it static. @@ -113,44 +115,195 @@ the risks. In a nutshell ------------- -.. TODO: Move stuff from https://docs.google.com/document/d/1hIl3y6nrcepv-tKKQLVB4u0a3fXACQ1Qrg0Y6VrJykg/view - -TODO: Table from Google Doc here + Current Astropy/pyOpenSci Review Process ++--------------------------+-----------------------------+----------------------------+ +| Step | pyOpenSci | Astropy (pre-APE 24) | ++==========================+=============================+============================+ +| Editorial infrastructure | Editor-in-Chief, | Editor, reviewer | +| for a single review | editor (domain specific), | | +| | 2 reviewers (1 can be | | +| | non-domain specific) | | ++--------------------------+-----------------------------+----------------------------+ +| Editorial team | `pyOpenSci Editorial Board`_| 2 editors that rotate, see | +| | | `Astropy team roles`_ | ++--------------------------+-----------------------------+----------------------------+ +| Review style | Open review | Reviewer is anonymous by | +| | | default | ++--------------------------+-----------------------------+----------------------------+ +| Post-review checks | We will be creating a set of| Astropy has static badges | +| | checks to see if the package| that need to be manually | +| | is still maintained and in | updated. | +| | what state. We might be able| | +| | to work with Astropy (and | | +| | other communities) on what | | +| | this looks like. | | ++--------------------------+-----------------------------+----------------------------+ + +.. _pyOpenSci Editorial Board: https://www.pyopensci.org/about-peer-review/#our-editorial-board +.. _Astropy team roles: https://www.astropy.org/team#roles + +As of 2023-07-27, Astropy had the following +`pre-APE 24 Affiliated Package review guidelines `_ +and followed this +`Affiliated Package review process, with templates `_. + +Meanwhile, pyOpenSci has its own +`submission guide for package authors `_, +`accompanying GitHub issue templates `_, and +`listing of accepted packages `_. +As of 2023-07-27, they are in the process of revamping the submission form to handle +collaborations with different communities (e.g., Astropy), including but not limited to: + +* creating a community-specific label for filtering and link to current reviews + for that community; and +* customizing the editorial bot to add community-specific tags. + +Is open review a deal breaker? +------------------------------ + +We do not think so! In the pre-APE 24 process, the reviewer is anonymous by default +because we modeled the process after traditional astronomical journals. +Even then, the reviewer has the option to reveal themselves if they want to. +Given that the Astropy ecosystem is open-source anyway, it makes sense for us +to move away from the journal-style tradition and embrace a more open process that +pyOpenSci uses. Rejecting packages ------------------ -TODO: Fill in from Google Doc. - -Rejected package may still be listed under pyOpenSci (and JOSS) if they -pass the general criteria even if it fails the Astropy-specific criteria, -e.g., a very nice Python package that has little to do with Astropy ecosystem. - -"Rereview" of packages ----------------------- - -TODO: Fill in from Google Doc. +If a package is "rejected," it is likely not in technical or domain scope. +The rejection will come from pyOpenSci Editor-in-Chief or the editor; +it does *not* have to come from the Astropy community directly and will be objective. +Rejection can also happen if the maintainer of the package under review +is unwilling to ensure the package can be used and maintained. +While in practice, rejection is rare, usually the Editor-in-Chief would be +the one doing the rejection. + +A package may still be listed under pyOpenSci (and JOSS) if it +passes the general criteria but fails the Astropy-specific ones; +e.g., a very nice Python package that has little to do with the Astropy ecosystem. + +"Re-review" of packages +----------------------- + +**Note: This does not exist yet and probably will not happen before +this APE is accepted. As of 2023-07-27, pyOpenSci had a somewhat +manual process to check in on an accepted package.** + +One core goal of pyOpenSci is to support scientific Python packages that are +maintained over time. Due to the lack of resources, it does not do a *full* +re-review of packages (involving Editor-in-Chief, editor, and 2 reviewers). +However, it is in the plans to set up automated checks that track the "health" +and maintenance level of a package over time, with the goal of identifying +packages that have become "orphans" (i.e, unmaintained). Once a package is +identified as needing additional maintenance, it will be flagged for the community. + +"Health" might include frequency of commits, releases, CI status, etc. +Some, if not most, of this data will be collected using +`devstats `_ and +`repo-review `_ from +Scientific Python. pyOpenSci has plans to create small dashboards for this. + +However, automation can only go so far; for instance, if automation +is deployed in GitHub Actions, then any package hosted outside of GitHub +would be excluded from these checks. In that case, manual intervention +might still be necessary. + +If the package is no longer maintained, one of the following can happen: + +1. If it is a widely used package and the maintainer wants to see it live on, + they will try to help the maintainer to find a new maintainer team; +2. Otherwise, they will gracefully sunset it from the list of maintained/accepted + packages. + +After sunsetting, if a package becomes active again, it is up to the package +maintainer to contact Astropy or pyOpenSci in order to have it be actively +listed once more. An example scenario that might happen is when the sole +maintainer goes on a hiatus longer than the time frame set in +`maintainer responsiveness `_ +and then comes back to a sunsetted package. Finding reviewers ----------------- -TODO: Fill in from Google Doc + Astropy Requirements to be reviewers + COI +pyOpenSci currently has a list of reviewers who have signed up for this task using the +`reviewer sign-up form`_. +Because they utilize 2 reviewers for each package, they generally try to find +a reviewer with domain-specific expertise, while the other with or without. +Sometimes, the second reviewer will focus instead on general usability, +ease of installation, documentation quality, or packaging infrastructure. +For every review, they target a diversity of contributors to ensure that they +have a mix of varying gender, cultural, etc., identities. + +If we decide to partner with pyOpenSci, our reviewers would sign up using +the pyOpenSci form above, specifying astronomy domain expertise and +membership in the Astropy community. pyOpenSci does not publicly list +all the people who signed up (i.e, a reviewer is only public during the +review process) but the `pyOpenSci Editorial Board`_ has access to the list. + +pyOpenSci will respect the Astropy-specific criteria for someone to be a +reviewer for Astropy Affiliated package request, namely: + +* familiarity with the Astropy project, +* ability to judge whether a package integrates well with the Astropy ecosystem + (as per pre-APE 24 guidelines), and +* having domain expertise in the area of the package (e.g., galaxy evolution). + +pyOpenSci and Astropy both ask editors/reviewers disclose any potential conflict of interest (COI) +prior to agreeing to review a package. In the event where COI occurs, with this partnership, +we would follow the +`pyOpenSci COI process `_. +pyOpenSci invites the Astropy community to review this language to ensure it meets our needs. + +.. _reviewer sign-up form: https://forms.gle/GHfxvmS47nQFDcBM6 Packaging guidelines -------------------- -TODO: Fill in from Google Doc. +pyOpenSci has been developing a `community-driven packaging guide`_ +that covers modern best practices and recommendations for scientific Python packaging. +This guide has a stringent community review process. Reviewers for this guide +represent members of PyPA, core Python, Anaconda (conda/conda-forge), and +core packages for front- and back-end tools (e.g., `flit`, PDM, `hatch`/`hatchling`, etc.). +It is also maintained by the Scientific Python community. -Listing on websites -------------------- +Meanwhile, the Astropy community prefers a more laid-back +`OpenAstronomy packaging guide `_. + +If we partner with pyOpenSci, we would encourage our Affiliated packages to follow +their `community-driven packaging guide`_ so that they are consistent with the +broader scientific community, allowing the streamlining of new contributor experience +across different domains. + +Regardless, the +`Editor-in-Chief checks `_ +are the bare minimum for a package being able to go through the pyOpenSci review process. -TODO: Fill in from Google Doc. Also mention RSS cross-posting. +.. _community-driven packaging guide: https://www.pyopensci.org/python-package-guide/ -Future work ------------ +Listing on websites +------------------- -- Re-review. Semi-automated, not full review. -- Live package stats. +The pre-APE 24 `Astropy Affiliated Packages`_ listing are listed by alphabetical order +with hard-coded badges. While these badges are color-coded to give a at-a-glance status +of packages, they become outdated over time and now could even be misleading +(i.e., they really are showing the status at the time of acceptance, not the current status). +pyOpenSci is willing to work with Astropy and the broader scientific community to develop +a more consistent standard of evaluating the "health state" of a package, using +universally accepted metrics for such measurements; therefore, getting rid of the need +for static badges altogether. + +pyOpenSci is willing to create the following specifically for Astropy +if we agree to this partnership: + +* A RSS/XML feed of Astropy Affiliated packages that we could ingest and + use to rebuild our own `Astropy Affiliated Packages`_ listing. + This way, the packages would be listed both over at pyOpenSci and at Astropy + websites. +* An Astropy-specific page on the pyOpenSci website that would be a dedicated + link for only Astropy Affiliated packages. We could then include some other + information about the Astropy ecosystem and branding (logo, colors, etc). +* A link back to Astropy website from pyOpenSci, with the understanding that + Astropy would do vice versa. This is similar to what pyOpenSci has done with Pangeo. Branches and pull requests @@ -161,11 +314,20 @@ Branches and pull requests .. request if it makes sense to implement it in discrete phases). If no code is yet .. implemented, just put "N/A" +Issues: * `Affiliated Package: Consolidate with pyOpenSci? `_ +* `Metrics for community partnership landing pages to track health `_ + (as noted above in **"Re-review" of packages**, this issue is not required + to be resolved for this APE to be accepted) + +Pull requests: + * `Feat: add text associated with astropy partnership `_ * `FEAT: Start at community mockup / astropy `_ -* `Metrics for community partnership landing pages to track health `_ +* *TODO: A future PR by William Jamieson to update our Affiliated guidelines and process, + after consolidating what we have with that of pyOpenSci.* + Implementation ============== @@ -175,25 +337,63 @@ Implementation .. steps may be optionally omitted. Where it makes sense, each step should .. include a link related pull requests as the implementation progresses. -TODO: William will write up something that we can link to about the new guidelines. -They need to be compatible with -`Affiliated Guidelines (Dec 23, 2021) `_. - -Editors will give packages under review option to try out this new process. +If we decide to move forward with this partnership, these are the proposed steps: + +1. Do a trial review of a package or two to see how it goes to make the + Astropy community feel more comfortable with the changes + (also see **The trial period** below). +2. Based on the trial, our current Astropy editors would finalize + and publish the updated guidelines and process, including new + COI policy, packaging guidelines, and so forth. + These new guidelines need to be compatible with + `Affiliated Guidelines (Dec 23, 2021) `_. + At the same time, we should link to more modern + practices over at pyOpenSci and Scientific Python, in addition + to the "old ways" in Astropy and OpenAstronomy. +3. Come up with a plan to transition already accepted packages over to + the pyOpenSci review process. This could be a process that happens over time + in that new packages just go through the new review process and get the value + of this partnership (pyOpenSci and JOSS) through that transition. + Then, we could slowly look at the older packages and evaluate their current + health states to determine whether another review is warranted + (also see **"Re-review" of packages**). We will encourage these older + packages that are still actively maintained to also go through the + new process, pointing them to the benefits mentioned in + **What do we gain from a partnership with pyOpenSci?** +4. For the new packages, have our project website ingest a RSS/XML feed + from pyOpenSci for cross-listing (also see **Listing on websites**). + Meanwhile, we would keep the pre-APE 24 listing on a legacy page + that will be kept alive during the lifetime of the Astropy project. +5. Work with pyOpenSci to cross-list Astropy editors, between their + editors listing and our roles page. +6. Work with pyOpenSci to hash out a more concrete plan on how to + get a previously sunsetted package to be listed actively again + if the package is revived. +7. Work with pyOpenSci to come up with a process to swap Astropy + editors in and out of `pyOpenSci Editorial Board`_, since our + Affiliated Package editor assignment is not permanent. + +The goal is to have a migration that is not too disruptive to current process. +While this migration could take years to complete, the turnaround time +for any one package should be much shorter (months, perhaps). + +The trial period +---------------- + +**Note: Communication is very important at this stage!** + +This trial is only done for new Affiliated requests that are early enough +in the process as not to have work duplicated for package maintainers, +reviewers, and editors. + +Editors will give qualifying packages the option to try out this new process. Regardless of the outcome of this APE, if the package is accepted during this trial, the acceptance stands; That is, if this APE falls through but the package used the proposed process here, it still counts as Affiliated and does not have to re-apply. -Reviewers who agree to participate will sign up via -`pyOpenSci reviewer sign-up form `_. - -TODO: Fill in from Google Doc (Transition Notes from Their Current + TODOs) - -Transition plan: - -- Existing listing will be legacy but will be kept online in the lifetime of the Astropy Project. -- Already accepted packages are encouraged to go through the new process to be listed under pyOpenSci, emphasizing that they will get JOSS "for free" with little effort. -- The plan is expected to take several years to go through all the packages, however it should not take so long for any individual package from start to finish. +Reviewers who agree to participate will use the `reviewer sign-up form`_ +for pyOpenSci. If a package agrees but the chosen reviewer declines this trial, +the editor assigned will find a new reviewer. Backward compatibility @@ -203,13 +403,18 @@ Backward compatibility Somewhat compatible: -- Existing Astropy editors would join pyOpenSci editorial board. -- There would be cross-listing between Astropy editors over at pyOpenSci and our roles page. +* Packaging guidelines are pretty similar. +* Existing Astropy Affiliated Package editors would join the `pyOpenSci Editorial Board`_. +* There would be cross-listing between Astropy editors over at pyOpenSci and our roles page. +* There would be cross-listing between Astropy Affiliated packages over at pyOpenSci + and our Affiliated page. Not backward compatible: -- Reviewers are public now. -- No color badges. But have link to full pyOpenSci review, maybe. +* Reviewers can no longer be anonymous. The whole review process is open. +* Instead of static color badges, there will be a link to full pyOpenSci + review for that package. +* Inactive packages will be sunsetted if revival is not an option. Alternatives From a0c3612f8d193ee6715f1fe90ab5fb7223ef556d Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Thu, 27 Jul 2023 23:01:39 -0400 Subject: [PATCH 04/22] From self proof-read --- APE24.rst | 91 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 40 deletions(-) diff --git a/APE24.rst b/APE24.rst index 25f207a1..60d83cb6 100644 --- a/APE24.rst +++ b/APE24.rst @@ -24,8 +24,7 @@ Since the early days of the Astropy Project, we had recognized the need and developed an internal process for `Astropy Affiliated Packages`_ (hereafter, for brevity, Affiliated). As our ecosystem thrives and grows, so does the wider scientific Python ecosystem, -which resulted in similar processes like -`JOSS `_ and +which resulted in similar processes like `JOSS`_ and `pyOpenSci software peer review `_ (hereafter, pyOpenSci). Between the two, while JOSS has existed longer, pyOpenSci is more closely aligned @@ -33,6 +32,7 @@ with what we already do in Affiliated. This APE overhauls our existing Affiliate process to partner with pyOpenSci in order to share resources and gain wider exposure. .. _Astropy Affiliated Packages: https://www.astropy.org/affiliated/#affiliated-packages +.. _JOSS: https://joss.theoj.org/ Detailed description @@ -47,17 +47,17 @@ The Affiliated page has existed since 2013 (i.e, `28d9d03 `_) though the concept could have been even earlier. Back then, there were a handful of "featured" packages and the "affiliated" section was just "INSERT JSON TABLE". -JOSS was established in 2016 (source: +`JOSS`_ was established in 2016 (source: `Wikipedia `_) but it was perceived as a different enough system that there was no effort to consolidate with them. -Meanwhile, pyOpenSci was founded in 2018 with the peer review beginning in March 2019, +Meanwhile, `pyOpenSci`_ was founded in 2018 with the peer review beginning in March 2019, partnership with the JOSS soon after, and with `Pangeo `_ in Fall 2022 using Sloan Foundation funding. Fast forward to July 2023, there are 47 accepted Affiliated packages and 7 undergoing the review process. We have two editors (Derek Homeier and -William Jamieson at the time of writing) and no formal/public pool of reviewers. +William Jamieson as of July 2023) and no formal/public pool of reviewers. Given that reviewers are anonymous by default, we are unable to provide a fully transparent review process (even though results are publicly posted and discussed, they are posted second-hand by the editors). We are also @@ -68,6 +68,8 @@ Affiliated standards. Therefore, there is a need to restructure our Affiliated process to be sustainable. We are confident that a partnership with pyOpenSci is the best solution currently available. +.. _pyOpenSci: https://www.pyopensci.org/ + What do we gain from a partnership with pyOpenSci? -------------------------------------------------- @@ -85,20 +87,20 @@ What do we gain from a partnership with pyOpenSci? opportunity to connect with peers beyond Astropy. * Even when a package ends up not being accepted into Affiliated but satisfies basic pyOpenSci criteria, its application effort is not entirely wasted, - as it could still be listed under pyOpenSci only without our Affiliated status. + as it could still be listed under pyOpenSci (and JOSS) only without our Affiliated status. Who owns this process? ---------------------- pyOpenSci already has an ongoing process and it is a community-driven one. It is compatible with Astropy but it is up to us to decide if a package -applied to pyOpenSci also qualifies as Astropy Affiliated. +applied to pyOpenSci also qualifies as Affiliated. Will the new process still foster a sense of community in Astropy? ------------------------------------------------------------------ Yes, we think so! We will still keep the `Astropy Affiliated Packages`_ -page, but now instead of hosting the content ourselves, we grab an RSS feed +page, but now instead of hosting the content ourselves, we grab an RSS/XML feed from pyOpenSci for the packages marked as Affiliated. To keep the history, we will move the existing listing to a "legacy affiliation" page and keep it static. @@ -106,7 +108,7 @@ Funding ------- pyOpenSci has its own funding structure beyond the control of Astropy. -At the time of writing, it is fully funded for the next 2 years. +As of July 2023, it is fully funded for the next 2 years. Given the number of projects currently looking into a similar partnership with pyOpenSci (SunPy, Heliophysics, etc.) and that it has a full-time staff dedicated to seeking out more funding, we find that the benefits outweigh @@ -141,7 +143,7 @@ In a nutshell .. _pyOpenSci Editorial Board: https://www.pyopensci.org/about-peer-review/#our-editorial-board .. _Astropy team roles: https://www.astropy.org/team#roles -As of 2023-07-27, Astropy had the following +As of July 2023, Astropy had the following `pre-APE 24 Affiliated Package review guidelines `_ and followed this `Affiliated Package review process, with templates `_. @@ -150,7 +152,7 @@ Meanwhile, pyOpenSci has its own `submission guide for package authors `_, `accompanying GitHub issue templates `_, and `listing of accepted packages `_. -As of 2023-07-27, they are in the process of revamping the submission form to handle +As of July 2023, they are in the process of revamping the submission form to handle collaborations with different communities (e.g., Astropy), including but not limited to: * creating a community-specific label for filtering and link to current reviews @@ -160,9 +162,9 @@ collaborations with different communities (e.g., Astropy), including but not lim Is open review a deal breaker? ------------------------------ -We do not think so! In the pre-APE 24 process, the reviewer is anonymous by default +We do not think so! In the pre-APE 24 process, the reviewer was anonymous by default because we modeled the process after traditional astronomical journals. -Even then, the reviewer has the option to reveal themselves if they want to. +Even then, the reviewer had the option to reveal themselves if they wanted to. Given that the Astropy ecosystem is open-source anyway, it makes sense for us to move away from the journal-style tradition and embrace a more open process that pyOpenSci uses. @@ -186,13 +188,13 @@ e.g., a very nice Python package that has little to do with the Astropy ecosyste ----------------------- **Note: This does not exist yet and probably will not happen before -this APE is accepted. As of 2023-07-27, pyOpenSci had a somewhat +this APE is accepted. As of July 2023, pyOpenSci had a somewhat manual process to check in on an accepted package.** One core goal of pyOpenSci is to support scientific Python packages that are maintained over time. Due to the lack of resources, it does not do a *full* re-review of packages (involving Editor-in-Chief, editor, and 2 reviewers). -However, it is in the plans to set up automated checks that track the "health" +However, it has plans to set up automated checks that track the "health" and maintenance level of a package over time, with the goal of identifying packages that have become "orphans" (i.e, unmaintained). Once a package is identified as needing additional maintenance, it will be flagged for the community. @@ -201,7 +203,7 @@ identified as needing additional maintenance, it will be flagged for the communi Some, if not most, of this data will be collected using `devstats `_ and `repo-review `_ from -Scientific Python. pyOpenSci has plans to create small dashboards for this. +`Scientific Python`_. This information will be displayed on public dashboards. However, automation can only go so far; for instance, if automation is deployed in GitHub Actions, then any package hosted outside of GitHub @@ -222,6 +224,8 @@ maintainer goes on a hiatus longer than the time frame set in `maintainer responsiveness `_ and then comes back to a sunsetted package. +.. _Scientific Python: https://scientific-python.org/ + Finding reviewers ----------------- @@ -235,13 +239,17 @@ For every review, they target a diversity of contributors to ensure that they have a mix of varying gender, cultural, etc., identities. If we decide to partner with pyOpenSci, our reviewers would sign up using -the pyOpenSci form above, specifying astronomy domain expertise and -membership in the Astropy community. pyOpenSci does not publicly list -all the people who signed up (i.e, a reviewer is only public during the -review process) but the `pyOpenSci Editorial Board`_ has access to the list. +the pyOpenSci form above, specifying: + +* astronomy domain expertise, and +* membership in the Astropy community. + +pyOpenSci does not publicly list all the people who signed up +(i.e, a reviewer is only public during the review process) +but the `pyOpenSci Editorial Board`_ has access to the list. pyOpenSci will respect the Astropy-specific criteria for someone to be a -reviewer for Astropy Affiliated package request, namely: +reviewer for Affiliated request, namely: * familiarity with the Astropy project, * ability to judge whether a package integrates well with the Astropy ecosystem @@ -263,8 +271,8 @@ pyOpenSci has been developing a `community-driven packaging guide`_ that covers modern best practices and recommendations for scientific Python packaging. This guide has a stringent community review process. Reviewers for this guide represent members of PyPA, core Python, Anaconda (conda/conda-forge), and -core packages for front- and back-end tools (e.g., `flit`, PDM, `hatch`/`hatchling`, etc.). -It is also maintained by the Scientific Python community. +core packages for front- and back-end tools (e.g., ``flit``, PDM, ``hatch``/``hatchling``, etc.). +It is also maintained by `Scientific Python`_. Meanwhile, the Astropy community prefers a more laid-back `OpenAstronomy packaging guide `_. @@ -289,19 +297,20 @@ of packages, they become outdated over time and now could even be misleading (i.e., they really are showing the status at the time of acceptance, not the current status). pyOpenSci is willing to work with Astropy and the broader scientific community to develop a more consistent standard of evaluating the "health state" of a package, using -universally accepted metrics for such measurements; therefore, getting rid of the need -for static badges altogether. +universally accepted metrics for such measurements (see **"Re-review" of packages**); +therefore, getting rid of the need for static badges altogether. pyOpenSci is willing to create the following specifically for Astropy if we agree to this partnership: -* A RSS/XML feed of Astropy Affiliated packages that we could ingest and +* A RSS/XML feed of Affiliated packages that we could ingest and use to rebuild our own `Astropy Affiliated Packages`_ listing. This way, the packages would be listed both over at pyOpenSci and at Astropy websites. * An Astropy-specific page on the pyOpenSci website that would be a dedicated - link for only Astropy Affiliated packages. We could then include some other + link for only Affiliated packages. We could then include some other information about the Astropy ecosystem and branding (logo, colors, etc). + A listed package would also have a link back to the review that was done. * A link back to Astropy website from pyOpenSci, with the understanding that Astropy would do vice versa. This is similar to what pyOpenSci has done with Pangeo. @@ -339,16 +348,16 @@ Implementation If we decide to move forward with this partnership, these are the proposed steps: -1. Do a trial review of a package or two to see how it goes to make the +1. Do a trial review period of some packages to see how it goes to make the Astropy community feel more comfortable with the changes (also see **The trial period** below). -2. Based on the trial, our current Astropy editors would finalize +2. Based on the trial, our current Affiliated editors would finalize and publish the updated guidelines and process, including new COI policy, packaging guidelines, and so forth. These new guidelines need to be compatible with - `Affiliated Guidelines (Dec 23, 2021) `_. + `Affiliated Guidelines (Dec 23, 2021) `_. At the same time, we should link to more modern - practices over at pyOpenSci and Scientific Python, in addition + practices over at pyOpenSci and `Scientific Python`_, in addition to the "old ways" in Astropy and OpenAstronomy. 3. Come up with a plan to transition already accepted packages over to the pyOpenSci review process. This could be a process that happens over time @@ -362,16 +371,17 @@ If we decide to move forward with this partnership, these are the proposed steps **What do we gain from a partnership with pyOpenSci?** 4. For the new packages, have our project website ingest a RSS/XML feed from pyOpenSci for cross-listing (also see **Listing on websites**). - Meanwhile, we would keep the pre-APE 24 listing on a legacy page + We would also link back to pyOpenSci on our page. + Meanwhile, we would keep the pre-APE 24 listing on a "legacy affiliation" page that will be kept alive during the lifetime of the Astropy project. -5. Work with pyOpenSci to cross-list Astropy editors, between their +5. Work with pyOpenSci to cross-list Affiliated editors, between their editors listing and our roles page. 6. Work with pyOpenSci to hash out a more concrete plan on how to get a previously sunsetted package to be listed actively again if the package is revived. -7. Work with pyOpenSci to come up with a process to swap Astropy +7. Work with pyOpenSci to come up with a process to swap Affiliated editors in and out of `pyOpenSci Editorial Board`_, since our - Affiliated Package editor assignment is not permanent. + Affiliated editor assignment is not permanent. The goal is to have a migration that is not too disruptive to current process. While this migration could take years to complete, the turnaround time @@ -404,14 +414,15 @@ Backward compatibility Somewhat compatible: * Packaging guidelines are pretty similar. -* Existing Astropy Affiliated Package editors would join the `pyOpenSci Editorial Board`_. -* There would be cross-listing between Astropy editors over at pyOpenSci and our roles page. -* There would be cross-listing between Astropy Affiliated packages over at pyOpenSci - and our Affiliated page. +* Existing Affiliated editors would join the `pyOpenSci Editorial Board`_. +* There would be cross-listing between Affiliated editors over at pyOpenSci and our roles page. +* There would be cross-listing between Affiliated packages over at pyOpenSci + and Affiliated page. Not backward compatible: -* Reviewers can no longer be anonymous. The whole review process is open. +* Reviewers can no longer be anonymous and have to sign up via `reviewer sign-up form`_. + The whole review process is open. * Instead of static color badges, there will be a link to full pyOpenSci review for that package. * Inactive packages will be sunsetted if revival is not an option. From a500e1bb14acd1438e8318cad31c3a578f7ec1df Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Thu, 27 Jul 2023 23:04:23 -0400 Subject: [PATCH 05/22] Fix link --- APE24.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APE24.rst b/APE24.rst index 60d83cb6..1a451cfe 100644 --- a/APE24.rst +++ b/APE24.rst @@ -355,7 +355,7 @@ If we decide to move forward with this partnership, these are the proposed steps and publish the updated guidelines and process, including new COI policy, packaging guidelines, and so forth. These new guidelines need to be compatible with - `Affiliated Guidelines (Dec 23, 2021) `_. + `Affiliated Guidelines (Dec 23, 2021) `_. At the same time, we should link to more modern practices over at pyOpenSci and `Scientific Python`_, in addition to the "old ways" in Astropy and OpenAstronomy. From 07d58108e7201fac6099fbee3f5e9c3ce4f58d90 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Thu, 27 Jul 2023 23:08:03 -0400 Subject: [PATCH 06/22] More consistent links --- APE24.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/APE24.rst b/APE24.rst index 1a451cfe..c830d1aa 100644 --- a/APE24.rst +++ b/APE24.rst @@ -143,10 +143,11 @@ In a nutshell .. _pyOpenSci Editorial Board: https://www.pyopensci.org/about-peer-review/#our-editorial-board .. _Astropy team roles: https://www.astropy.org/team#roles -As of July 2023, Astropy had the following -`pre-APE 24 Affiliated Package review guidelines `_ -and followed this -`Affiliated Package review process, with templates `_. +As of July 2023, Astropy had the following `pre-APE 24 Affiliated Package review guidelines`_ +and followed this `pre-APE 24 Affiliated Package review process, with templates`_. + +.. _pre-APE 24 Affiliated Package review guidelines: https://github.com/astropy/astropy-project/blob/1afe5df1728e86dac51b9b87bc30a7c2cdb289ac/affiliated/affiliated_package_review_guidelines.md +.. _pre-APE 24 Affiliated Package review process, with templates: https://github.com/astropy/astropy-project/blob/1afe5df1728e86dac51b9b87bc30a7c2cdb289ac/affiliated/affiliated_package_review_process.md Meanwhile, pyOpenSci has its own `submission guide for package authors `_, @@ -355,7 +356,8 @@ If we decide to move forward with this partnership, these are the proposed steps and publish the updated guidelines and process, including new COI policy, packaging guidelines, and so forth. These new guidelines need to be compatible with - `Affiliated Guidelines (Dec 23, 2021) `_. + `pre-APE 24 Affiliated Package review guidelines`_ and + `pre-APE 24 Affiliated Package review process, with templates`_. At the same time, we should link to more modern practices over at pyOpenSci and `Scientific Python`_, in addition to the "old ways" in Astropy and OpenAstronomy. From 385f3cc95e9e8b8bfd840d41cae77a7273027fd1 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Wed, 13 Sep 2023 18:28:04 -0400 Subject: [PATCH 07/22] Leah review from 2023-08-01. Co-authored-by: Leah Wasser --- APE24.rst | 87 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 27 deletions(-) diff --git a/APE24.rst b/APE24.rst index c830d1aa..f7d9a63f 100644 --- a/APE24.rst +++ b/APE24.rst @@ -6,7 +6,7 @@ author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier date-created: 2023 July 13 -date-last-revised: 2023 July 27 +date-last-revised: 2023 September 13 date-accepted: TBD @@ -75,7 +75,8 @@ What do we gain from a partnership with pyOpenSci? * Larger exposure for Affiliated packages within scientific Python ecosystem, not just Astropy. -* They get to be listed in JOSS "for free" from the +* If they are in scope for JOSS, they can be fast-tracked through the JOSS + review process and get a publication via the `partnership between pyOpenSci and JOSS `_. * pyOpenSci's objective way of initial triage will automatically weed out packages that do not even meet basic standards (e.g., not installable), @@ -92,7 +93,7 @@ What do we gain from a partnership with pyOpenSci? Who owns this process? ---------------------- -pyOpenSci already has an ongoing process and it is a community-driven one. +pyOpenSci already has an established software peer review process and it is community-driven. It is compatible with Astropy but it is up to us to decide if a package applied to pyOpenSci also qualifies as Affiliated. @@ -110,7 +111,7 @@ Funding pyOpenSci has its own funding structure beyond the control of Astropy. As of July 2023, it is fully funded for the next 2 years. Given the number of projects currently looking into a similar partnership -with pyOpenSci (SunPy, Heliophysics, etc.) and that it has a full-time staff +with pyOpenSci (SunPy, PlasmaPy, pyHeliophysics, etc.) and that it has a full-time staff dedicated to seeking out more funding, we find that the benefits outweigh the risks. @@ -153,12 +154,15 @@ Meanwhile, pyOpenSci has its own `submission guide for package authors `_, `accompanying GitHub issue templates `_, and `listing of accepted packages `_. -As of July 2023, they are in the process of revamping the submission form to handle -collaborations with different communities (e.g., Astropy), including but not limited to: +As of July 2023, they are in the process of revamping their process to handle +collaborations with different communities (e.g., Astropy). They are also: -* creating a community-specific label for filtering and link to current reviews - for that community; and -* customizing the editorial bot to add community-specific tags. +* creating a community-specific label for package filtering + for that community on their website package listing; +* updating the submission template so a potential Astropy affiliated package + can select Astropy for the actual review; +* adding an Astropy label on their GitHub repository; and +* creating a new editorial bot to add community-specific tags. Is open review a deal breaker? ------------------------------ @@ -173,17 +177,22 @@ pyOpenSci uses. Rejecting packages ------------------ -If a package is "rejected," it is likely not in technical or domain scope. -The rejection will come from pyOpenSci Editor-in-Chief or the editor; -it does *not* have to come from the Astropy community directly and will be objective. -Rejection can also happen if the maintainer of the package under review -is unwilling to ensure the package can be used and maintained. -While in practice, rejection is rare, usually the Editor-in-Chief would be -the one doing the rejection. +A package may be "rejected" in different stages of the review, either by the +pyOpenSci Editor-in-Chief or the editor, including but not limited to causes +such as: -A package may still be listed under pyOpenSci (and JOSS) if it -passes the general criteria but fails the Astropy-specific ones; -e.g., a very nice Python package that has little to do with the Astropy ecosystem. +* the package is not in technical or domain scope; +* the package fails one of the pre-review checks done by the Editor-in-Chief; +* the package maintainer stops responding to review comments; or +* the package maintainer is unwilling to ensure the package can be used and maintained. + +While in practice, rejection is rare, a rejection does *not* have to come from +the Astropy community directly and will be objective. + +A package that fails the Astropy-specific criteria may still be accepted into the +pyOpenSci ecosystem (and also published by JOSS) if it is in scope; +an example of this might be a well-documented and developed Python package that +is useful to the scientific community that fails to relate well to the Astropy ecosystem. "Re-review" of packages ----------------------- @@ -198,24 +207,25 @@ re-review of packages (involving Editor-in-Chief, editor, and 2 reviewers). However, it has plans to set up automated checks that track the "health" and maintenance level of a package over time, with the goal of identifying packages that have become "orphans" (i.e, unmaintained). Once a package is -identified as needing additional maintenance, it will be flagged for the community. +identified as needing additional maintenance, it will be flagged. "Health" might include frequency of commits, releases, CI status, etc. Some, if not most, of this data will be collected using `devstats `_ and `repo-review `_ from -`Scientific Python`_. This information will be displayed on public dashboards. +`Scientific Python`_. This information will be displayed on public dashboards +hosted on the pyOpenSci website. However, automation can only go so far; for instance, if automation is deployed in GitHub Actions, then any package hosted outside of GitHub would be excluded from these checks. In that case, manual intervention -might still be necessary. +or alternate implementation might still be necessary. If the package is no longer maintained, one of the following can happen: 1. If it is a widely used package and the maintainer wants to see it live on, - they will try to help the maintainer to find a new maintainer team; -2. Otherwise, they will gracefully sunset it from the list of maintained/accepted + pyOpenSci will try to help the maintainer build a new maintainer team; +2. Otherwise, pyOpenSci will gracefully sunset it from the list of maintained/accepted packages. After sunsetting, if a package becomes active again, it is up to the package @@ -265,6 +275,29 @@ pyOpenSci invites the Astropy community to review this language to ensure it mee .. _reviewer sign-up form: https://forms.gle/GHfxvmS47nQFDcBM6 +Review turnaround time +---------------------- + +Astropy currently does not enforce any concrete turnaround time mainly because +we do not know who ends up reviewing a given submission nor have control +over their schedule. Furthermore, we only have two editors who may not have +sufficient time themselves to actively push a review forward. Therefore, a review +could take weeks, months, or (gasp) years. + +If we partner with pyOpenSci, Astropy would need to adhere to their expected +timeline for each step, as laid out in `An Overview Of the Peer Review Process`_. +For example, editor is expected to find reviewers within 2-3 weeks and +a peer review should be completed within 3 weeks after that. +This is to ensure that the package maintainer have a good experience with the review +and things do not languish over a long period of time. + +Generally, the editor role should not take a huge amount of time, *but* it is +important for an editor, once the review starts, to check in on the review periodically +(every few weeks and more often during wrap-up). + +.. _An Overview Of the Peer Review Process: https://www.pyopensci.org/software-peer-review/our-process/review-timeline.html + + Packaging guidelines -------------------- @@ -273,7 +306,6 @@ that covers modern best practices and recommendations for scientific Python pack This guide has a stringent community review process. Reviewers for this guide represent members of PyPA, core Python, Anaconda (conda/conda-forge), and core packages for front- and back-end tools (e.g., ``flit``, PDM, ``hatch``/``hatchling``, etc.). -It is also maintained by `Scientific Python`_. Meanwhile, the Astropy community prefers a more laid-back `OpenAstronomy packaging guide `_. @@ -304,7 +336,7 @@ therefore, getting rid of the need for static badges altogether. pyOpenSci is willing to create the following specifically for Astropy if we agree to this partnership: -* A RSS/XML feed of Affiliated packages that we could ingest and +* A feed of Affiliated packages that we could ingest and use to rebuild our own `Astropy Affiliated Packages`_ listing. This way, the packages would be listed both over at pyOpenSci and at Astropy websites. @@ -377,7 +409,8 @@ If we decide to move forward with this partnership, these are the proposed steps Meanwhile, we would keep the pre-APE 24 listing on a "legacy affiliation" page that will be kept alive during the lifetime of the Astropy project. 5. Work with pyOpenSci to cross-list Affiliated editors, between their - editors listing and our roles page. + editors listing and our roles page. For example, pyOpenSci could + mark Astropy editors on the `pyOpenSci Editorial Board`_ with Astropy logo. 6. Work with pyOpenSci to hash out a more concrete plan on how to get a previously sunsetted package to be listed actively again if the package is revived. From cc2f6deb47d14c366ea2f56a78b9af25a4ef1213 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:39:19 -0400 Subject: [PATCH 08/22] Add cross-ref to pyOpenSci/software-peer-review#253 --- APE24.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/APE24.rst b/APE24.rst index f7d9a63f..35515f05 100644 --- a/APE24.rst +++ b/APE24.rst @@ -367,6 +367,7 @@ Pull requests: * `Feat: add text associated with astropy partnership `_ * `FEAT: Start at community mockup / astropy `_ +* `Add: more specific community partners page with FAQ `_ * *TODO: A future PR by William Jamieson to update our Affiliated guidelines and process, after consolidating what we have with that of pyOpenSci.* From d9eb8a5ede17abb04ec702a07a13175626a4efb8 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 10 Nov 2023 16:16:00 -0500 Subject: [PATCH 09/22] Packaging guidelines update from feedback Co-authored-by: Leah Wasser --- APE24.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/APE24.rst b/APE24.rst index 35515f05..b239ff9c 100644 --- a/APE24.rst +++ b/APE24.rst @@ -300,15 +300,17 @@ important for an editor, once the review starts, to check in on the review perio Packaging guidelines -------------------- +The Astropy community has followed packaging guidelines published in the +`OpenAstronomy packaging guide `_ for a few years. -pyOpenSci has been developing a `community-driven packaging guide`_ -that covers modern best practices and recommendations for scientific Python packaging. +pyOpenSci is also developing a `community-driven packaging guide`_ +that covers modern best practices and recommendations for scientific Python packaging. This guide has a stringent community review process. Reviewers for this guide represent members of PyPA, core Python, Anaconda (conda/conda-forge), and -core packages for front- and back-end tools (e.g., ``flit``, PDM, ``hatch``/``hatchling``, etc.). +core packages for front- and back-end tools (e.g., ``flit``, PDM, ``hatch``/``hatchling``, etc.). + +If we partner with pyOpenSci, we encourage our Affiliated packages to continue to follow the OpenAstronomy packaging guide for packaging structure. However maintainers will find the pyOpenSci guide to be a useful reference given it provides community-wide guidelines and is targeted to those newer to packaging. -Meanwhile, the Astropy community prefers a more laid-back -`OpenAstronomy packaging guide `_. If we partner with pyOpenSci, we would encourage our Affiliated packages to follow their `community-driven packaging guide`_ so that they are consistent with the From df9cf4a72d791f255c3bd9e65f5b75f1c6b26895 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 10 Nov 2023 16:18:14 -0500 Subject: [PATCH 10/22] Apply most suggestions from Moritz MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hans Moritz Günther --- APE24.rst | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/APE24.rst b/APE24.rst index b239ff9c..b39b6e2d 100644 --- a/APE24.rst +++ b/APE24.rst @@ -2,7 +2,7 @@ Astropy Affiliated Packages with pyOpenSci ****************************************** -author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier +author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier, Moritz Guenther date-created: 2023 July 13 @@ -57,12 +57,15 @@ in Fall 2022 using Sloan Foundation funding. Fast forward to July 2023, there are 47 accepted Affiliated packages and 7 undergoing the review process. We have two editors (Derek Homeier and -William Jamieson as of July 2023) and no formal/public pool of reviewers. +William Jamieson as of July 2023) and recruit reviewers from the Astropy community. +Editors identify community members with sufficient experience in the Astropy ecosystem and practices +to review packages, usually asking reviewers with scientific domain experience related to a potentially +affiliated package. This process mirrors what is commonly done for scientific journals, where editors +invite scientific peers of a study to be reviewers. Given that reviewers are anonymous by default, we are unable to provide a fully transparent review process (even though results are publicly posted -and discussed, they are posted second-hand by the editors). We are also -unable to let people publicly sign up to be reviewers, as that would break -anonymity. Furthermore, we have no resources nor infrastructure to +and discussed, they are posted second-hand by the editors). +Furthermore, we have no resources nor infrastructure to re-review the 47 accepted packages to ensure that they still meet the Affiliated standards. Therefore, there is a need to restructure our Affiliated process to be sustainable. We are confident that a partnership with @@ -278,11 +281,9 @@ pyOpenSci invites the Astropy community to review this language to ensure it mee Review turnaround time ---------------------- -Astropy currently does not enforce any concrete turnaround time mainly because -we do not know who ends up reviewing a given submission nor have control -over their schedule. Furthermore, we only have two editors who may not have -sufficient time themselves to actively push a review forward. Therefore, a review -could take weeks, months, or (gasp) years. +Astropy currently does not enforce any concrete turnaround time. Reviews typically +come within weeks, but the response time for submitted packages to address the review +is very non-uniform from "within days" to "years". If we partner with pyOpenSci, Astropy would need to adhere to their expected timeline for each step, as laid out in `An Overview Of the Peer Review Process`_. @@ -422,8 +423,10 @@ If we decide to move forward with this partnership, these are the proposed steps Affiliated editor assignment is not permanent. The goal is to have a migration that is not too disruptive to current process. -While this migration could take years to complete, the turnaround time -for any one package should be much shorter (months, perhaps). +Once this APE is accepted, new package submissions will go through the pyOpenSci process. +Packages currently under review can choose to continue under the old process +(and then be treated and listed like packages accepted as Affiliated before this APE), +or be transferred to the new process and follow pyOpenSci procedures. The trial period ---------------- From 6ddf44146fc8842d0f998a2737f396e2615aaa74 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 10 Nov 2023 16:32:11 -0500 Subject: [PATCH 11/22] More edit from Moritz. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hans Moritz Günther --- APE24.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/APE24.rst b/APE24.rst index b39b6e2d..8b79c610 100644 --- a/APE24.rst +++ b/APE24.rst @@ -65,7 +65,11 @@ invite scientific peers of a study to be reviewers. Given that reviewers are anonymous by default, we are unable to provide a fully transparent review process (even though results are publicly posted and discussed, they are posted second-hand by the editors). -Furthermore, we have no resources nor infrastructure to + +Unlike scientific articles, which are static after publication, software continues to develop, +adding features and bugs; if it is not continuously developed, it will become obsolete and might +not work with future NumPy and Python versions. Thus, a process of "re-review" for affiliated packages +has been envisioned, but never executed because we have no resources nor infrastructure to re-review the 47 accepted packages to ensure that they still meet the Affiliated standards. Therefore, there is a need to restructure our Affiliated process to be sustainable. We are confident that a partnership with From b038fe78615e9062e42792c2fc4e013b473e4b11 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 10 Nov 2023 16:55:39 -0500 Subject: [PATCH 12/22] Clean up text from accepted changes --- APE24.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/APE24.rst b/APE24.rst index 8b79c610..2736f894 100644 --- a/APE24.rst +++ b/APE24.rst @@ -305,8 +305,10 @@ important for an editor, once the review starts, to check in on the review perio Packaging guidelines -------------------- + The Astropy community has followed packaging guidelines published in the -`OpenAstronomy packaging guide `_ for a few years. +`OpenAstronomy packaging guide`_ for a few years, +and `Astropy package template `_ before that. pyOpenSci is also developing a `community-driven packaging guide`_ that covers modern best practices and recommendations for scientific Python packaging. @@ -314,18 +316,17 @@ This guide has a stringent community review process. Reviewers for this guide represent members of PyPA, core Python, Anaconda (conda/conda-forge), and core packages for front- and back-end tools (e.g., ``flit``, PDM, ``hatch``/``hatchling``, etc.). -If we partner with pyOpenSci, we encourage our Affiliated packages to continue to follow the OpenAstronomy packaging guide for packaging structure. However maintainers will find the pyOpenSci guide to be a useful reference given it provides community-wide guidelines and is targeted to those newer to packaging. - - -If we partner with pyOpenSci, we would encourage our Affiliated packages to follow -their `community-driven packaging guide`_ so that they are consistent with the -broader scientific community, allowing the streamlining of new contributor experience -across different domains. +If we partner with pyOpenSci, we encourage our Affiliated packages to continue to follow the +`OpenAstronomy packaging guide`_ for packaging structure. However maintainers will find the +pyOpenSci guide to be a useful reference, given it provides community-wide guidelines and +is targeted to those newer to packaging. Regardless, the `Editor-in-Chief checks `_ are the bare minimum for a package being able to go through the pyOpenSci review process. +.. _OpenAstronomy packaging guide: https://packaging-guide.openastronomy.org/en/latest/ + .. _community-driven packaging guide: https://www.pyopensci.org/python-package-guide/ Listing on websites From 9da5c051aab02589f595712c786ced2d5038af87 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 10 Nov 2023 17:37:23 -0500 Subject: [PATCH 13/22] More proofreading edits from pllim and added more clarifications based on recent discussions. --- APE24.rst | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/APE24.rst b/APE24.rst index 2736f894..63efca97 100644 --- a/APE24.rst +++ b/APE24.rst @@ -2,11 +2,11 @@ Astropy Affiliated Packages with pyOpenSci ****************************************** -author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier, Moritz Guenther +author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier, Moritz Günther date-created: 2023 July 13 -date-last-revised: 2023 September 13 +date-last-revised: 2023 November 10 date-accepted: TBD @@ -56,7 +56,7 @@ partnership with the JOSS soon after, and with `Pangeo `_ in Fall 2022 using Sloan Foundation funding. Fast forward to July 2023, there are 47 accepted Affiliated packages and -7 undergoing the review process. We have two editors (Derek Homeier and +8 undergoing the review process. We have two editors (Derek Homeier and William Jamieson as of July 2023) and recruit reviewers from the Astropy community. Editors identify community members with sufficient experience in the Astropy ecosystem and practices to review packages, usually asking reviewers with scientific domain experience related to a potentially @@ -67,8 +67,9 @@ a fully transparent review process (even though results are publicly posted and discussed, they are posted second-hand by the editors). Unlike scientific articles, which are static after publication, software continues to develop, -adding features and bugs; if it is not continuously developed, it will become obsolete and might -not work with future NumPy and Python versions. Thus, a process of "re-review" for affiliated packages +adding features and fixing bugs; otherwise, it will become obsolete and might be +incompatible with future versions of its dependencies (e.g., NumPy or Python). +Thus, a process of "re-review" for Affiliated packages has been envisioned, but never executed because we have no resources nor infrastructure to re-review the 47 accepted packages to ensure that they still meet the Affiliated standards. Therefore, there is a need to restructure our Affiliated @@ -80,7 +81,7 @@ pyOpenSci is the best solution currently available. What do we gain from a partnership with pyOpenSci? -------------------------------------------------- -* Larger exposure for Affiliated packages within scientific Python ecosystem, +* Larger exposure for Affiliated packages within the scientific Python ecosystem, not just Astropy. * If they are in scope for JOSS, they can be fast-tracked through the JOSS review process and get a publication via the @@ -181,6 +182,13 @@ Given that the Astropy ecosystem is open-source anyway, it makes sense for us to move away from the journal-style tradition and embrace a more open process that pyOpenSci uses. +Will we no longer need Editors? +------------------------------- + +We still need them! However, instead of managing the whole process themselves, +they will now be part of the `pyOpenSci Editorial Board`_ and perform their +duties within the pyOpenSci process as laid out in this APE. + Rejecting packages ------------------ @@ -221,7 +229,9 @@ Some, if not most, of this data will be collected using `devstats `_ and `repo-review `_ from `Scientific Python`_. This information will be displayed on public dashboards -hosted on the pyOpenSci website. +hosted on the pyOpenSci website; we may also grab those same badges, +where applicable, for a similar dashboard on Astropy website +focused only in our Affiliated packages. However, automation can only go so far; for instance, if automation is deployed in GitHub Actions, then any package hosted outside of GitHub @@ -470,7 +480,7 @@ Not backward compatible: * Reviewers can no longer be anonymous and have to sign up via `reviewer sign-up form`_. The whole review process is open. * Instead of static color badges, there will be a link to full pyOpenSci - review for that package. + review for that package. More dynamic badges might come later (see **"Re-review" of packages**). * Inactive packages will be sunsetted if revival is not an option. From 39baf17a2b31077ebed5c6a991c5c42ba01f8c98 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:03:38 -0500 Subject: [PATCH 14/22] Feedback from dhomeier and others Co-authored-by: Derek Homeier <709020+dhomeier@users.noreply.github.com> --- APE24.rst | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/APE24.rst b/APE24.rst index 63efca97..3d09fc97 100644 --- a/APE24.rst +++ b/APE24.rst @@ -44,9 +44,10 @@ Detailed description .. perhaps some use cases. The Affiliated page has existed since 2013 (i.e, -`28d9d03 `_) -though the concept could have been even earlier. Back then, there were a handful of -"featured" packages and the "affiliated" section was just "INSERT JSON TABLE". +`245a237 `_) +though the concept could have been incepted even earlier. At that time it included 10 packages, +3 of which were highlighted as "featured" packages and 4 others considered still in (early) +development. `JOSS`_ was established in 2016 (source: `Wikipedia `_) but it was perceived as a different enough system that there was no effort @@ -56,7 +57,10 @@ partnership with the JOSS soon after, and with `Pangeo `_ in Fall 2022 using Sloan Foundation funding. Fast forward to July 2023, there are 47 accepted Affiliated packages and -8 undergoing the review process. We have two editors (Derek Homeier and +7 undergoing the review process, plus 10 that have been elevated to the status +of Coordinated package. The latter provide crucial extension functionality and +are maintained by Astropy team members to ensure their continued development +and availability. We have two editors (Derek Homeier and William Jamieson as of July 2023) and recruit reviewers from the Astropy community. Editors identify community members with sufficient experience in the Astropy ecosystem and practices to review packages, usually asking reviewers with scientific domain experience related to a potentially @@ -327,9 +331,13 @@ represent members of PyPA, core Python, Anaconda (conda/conda-forge), and core packages for front- and back-end tools (e.g., ``flit``, PDM, ``hatch``/``hatchling``, etc.). If we partner with pyOpenSci, we encourage our Affiliated packages to continue to follow the -`OpenAstronomy packaging guide`_ for packaging structure. However maintainers will find the -pyOpenSci guide to be a useful reference, given it provides community-wide guidelines and -is targeted to those newer to packaging. +`OpenAstronomy packaging guide`_ for packaging structure, which ensures a packaging +style consistent with the majority of existing Affiliated packages as well as much of +the core scientific Python environment Astropy relies on, in particular Numpy and Scipy. +However maintainers will find the pyOpenSci guide to be a useful reference, given it provides +community-wide guidelines and is targeted to those newer to packaging (e.g., just creating the initial package for their code). +Editors and reviewer shall not let a particular choice of packaging influence their rating of +a package. Regardless, the `Editor-in-Chief checks `_ From 4a4a2dbd66a07fcdadee871ba8f72f11d9a46bf5 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:04:43 -0500 Subject: [PATCH 15/22] Minor grammar fix. Co-authored-by: Derek Homeier <709020+dhomeier@users.noreply.github.com> --- APE24.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APE24.rst b/APE24.rst index 3d09fc97..f23545c1 100644 --- a/APE24.rst +++ b/APE24.rst @@ -307,7 +307,7 @@ If we partner with pyOpenSci, Astropy would need to adhere to their expected timeline for each step, as laid out in `An Overview Of the Peer Review Process`_. For example, editor is expected to find reviewers within 2-3 weeks and a peer review should be completed within 3 weeks after that. -This is to ensure that the package maintainer have a good experience with the review +This is to ensure that the package maintainers have a good experience with the review and things do not languish over a long period of time. Generally, the editor role should not take a huge amount of time, *but* it is From 6fe1496f3406ec3341ce56b3af0d3098b54f9741 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:13:04 -0500 Subject: [PATCH 16/22] Missed an earlier comment from dhomeier Co-authored-by: Derek Homeier <709020+dhomeier@users.noreply.github.com> --- APE24.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/APE24.rst b/APE24.rst index f23545c1..d4dca7ca 100644 --- a/APE24.rst +++ b/APE24.rst @@ -21,8 +21,10 @@ Abstract ======== Since the early days of the Astropy Project, we had recognized the need -and developed an internal process for `Astropy Affiliated Packages`_ -(hereafter, for brevity, Affiliated). +to accommodate and developed an internal process for acknowledging +`Astropy Affiliated Packages`_ (hereafter, for brevity, Affiliated) – +packages that are developed outside of the core package, but interoperate +with it and are extending its functionality. As our ecosystem thrives and grows, so does the wider scientific Python ecosystem, which resulted in similar processes like `JOSS`_ and `pyOpenSci software peer review `_ From 465c337710bb3c4dd33e8123541016dc979f3923 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:15:55 -0500 Subject: [PATCH 17/22] Update last revised date --- APE24.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APE24.rst b/APE24.rst index d4dca7ca..d52ccf62 100644 --- a/APE24.rst +++ b/APE24.rst @@ -6,7 +6,7 @@ author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier, Moritz Günt date-created: 2023 July 13 -date-last-revised: 2023 November 10 +date-last-revised: 2023 December 1 date-accepted: TBD From 668029825fb0b228466d56c255260d8d76b73c63 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:59:25 -0500 Subject: [PATCH 18/22] Clarify wordings on who owns this process Co-authored-by: Derek Homeier <709020+dhomeier@users.noreply.github.com> --- APE24.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APE24.rst b/APE24.rst index d52ccf62..c02a8477 100644 --- a/APE24.rst +++ b/APE24.rst @@ -109,7 +109,7 @@ Who owns this process? pyOpenSci already has an established software peer review process and it is community-driven. It is compatible with Astropy but it is up to us to decide if a package -applied to pyOpenSci also qualifies as Affiliated. +reviewed and accepted by pyOpenSci also qualifies as Affiliated. Will the new process still foster a sense of community in Astropy? ------------------------------------------------------------------ From 309020ac3c5b594b68bd3bfcc14140d70817469f Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Mon, 11 Dec 2023 16:58:27 -0500 Subject: [PATCH 19/22] Clarify the different packaging guides Co-authored-by: Derek Homeier <709020+dhomeier@users.noreply.github.com> --- APE24.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/APE24.rst b/APE24.rst index c02a8477..9e93e3f7 100644 --- a/APE24.rst +++ b/APE24.rst @@ -419,9 +419,9 @@ If we decide to move forward with this partnership, these are the proposed steps These new guidelines need to be compatible with `pre-APE 24 Affiliated Package review guidelines`_ and `pre-APE 24 Affiliated Package review process, with templates`_. - At the same time, we should link to more modern - practices over at pyOpenSci and `Scientific Python`_, in addition - to the "old ways" in Astropy and OpenAstronomy. + At the same time, we should link to the actively developed + `community-driven packaging guide`_ over at pyOpenSci and `Scientific Python`_, + in addition to the `OpenAstronomy packaging guide`_ already implemented in Astropy. 3. Come up with a plan to transition already accepted packages over to the pyOpenSci review process. This could be a process that happens over time in that new packages just go through the new review process and get the value From 5413b5bbeb4bdfc7a5d8643504a8b37b6028b1e1 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Mon, 29 Jan 2024 12:33:50 -0500 Subject: [PATCH 20/22] Apply suggestions from eteq Co-authored-by: Erik Tollerud --- APE24.rst | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/APE24.rst b/APE24.rst index 9e93e3f7..fcdc5058 100644 --- a/APE24.rst +++ b/APE24.rst @@ -14,14 +14,14 @@ type: Process status: Discussion -.. NOTE: Most of this stuff is from https://docs.google.com/document/d/1hIl3y6nrcepv-tKKQLVB4u0a3fXACQ1Qrg0Y6VrJykg/view +.. note: This APE is derived from brainstorming and discussions in https://docs.google.com/document/d/1hIl3y6nrcepv-tKKQLVB4u0a3fXACQ1Qrg0Y6VrJykg/view Abstract ======== Since the early days of the Astropy Project, we had recognized the need -to accommodate and developed an internal process for acknowledging +to accommodate and develop an internal process for acknowledging `Astropy Affiliated Packages`_ (hereafter, for brevity, Affiliated) – packages that are developed outside of the core package, but interoperate with it and are extending its functionality. @@ -30,7 +30,7 @@ which resulted in similar processes like `JOSS`_ and `pyOpenSci software peer review `_ (hereafter, pyOpenSci). Between the two, while JOSS has existed longer, pyOpenSci is more closely aligned -with what we already do in Affiliated. This APE overhauls our existing Affiliated +with what we already do with Astropy Affiliated Packages. This APE overhauls our existing Affiliated process to partner with pyOpenSci in order to share resources and gain wider exposure. .. _Astropy Affiliated Packages: https://www.astropy.org/affiliated/#affiliated-packages @@ -40,10 +40,6 @@ process to partner with pyOpenSci in order to share resources and gain wider exp Detailed description ==================== -.. This section describes the need for the APE. It should describe the existing -.. problem that it is trying to solve and why this APE makes the situation better. -.. It should include examples of how the new functionality would be used and -.. perhaps some use cases. The Affiliated page has existed since 2013 (i.e, `245a237 `_) @@ -379,10 +375,6 @@ if we agree to this partnership: Branches and pull requests ========================== -.. Any pull requests or development branches containing work on this APE should be -.. linked to from here. (An APE does not need to be implemented in a single pull -.. request if it makes sense to implement it in discrete phases). If no code is yet -.. implemented, just put "N/A" Issues: @@ -403,10 +395,6 @@ Pull requests: Implementation ============== -.. This section lists the major steps required to implement the APE. Where -.. possible, it should be noted where one step is dependent on another, and which -.. steps may be optionally omitted. Where it makes sense, each step should -.. include a link related pull requests as the implementation progresses. If we decide to move forward with this partnership, these are the proposed steps: From 940498d8872a3cc9c1c2b3418b292f27c3691cb5 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Mon, 29 Jan 2024 12:34:53 -0500 Subject: [PATCH 21/22] Update last revised date --- APE24.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APE24.rst b/APE24.rst index fcdc5058..3bb44e06 100644 --- a/APE24.rst +++ b/APE24.rst @@ -6,7 +6,7 @@ author: Pey Lian Lim, Leah Wasser, William Jamieson, Derek Homeier, Moritz Günt date-created: 2023 July 13 -date-last-revised: 2023 December 1 +date-last-revised: 2024 January 29 date-accepted: TBD From 9c24cbe81571ea8c6d16aa9574d09ec8a10f819b Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Mon, 29 Jan 2024 13:56:16 -0500 Subject: [PATCH 22/22] Clarify Coordinated vs Affiliated Co-authored-by: Erik Tollerud --- APE24.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/APE24.rst b/APE24.rst index 3bb44e06..b4b3d257 100644 --- a/APE24.rst +++ b/APE24.rst @@ -115,6 +115,10 @@ page, but now instead of hosting the content ourselves, we grab an RSS/XML feed from pyOpenSci for the packages marked as Affiliated. To keep the history, we will move the existing listing to a "legacy affiliation" page and keep it static. +Coordinated packages are separate from this due to their tighter integration with +the Astropy project's team structure, so they will remain listed on this page without +a connection to pyOpenSci. + Funding -------