diff --git a/_data/pheps.yml b/_data/pheps.yml index dc2fed5..1673125 100644 --- a/_data/pheps.yml +++ b/_data/pheps.yml @@ -28,3 +28,17 @@ Status: Final Title: PHEP Template Type: Informational +- Author: Shawn Polson + Content-Type: text/markdown; charset="UTF-8"; variant="CommonMark" + Created: 06-Jun-2024 + DOI: 10.5281/zenodo.17794207 + Discussions-To: https://github.com/heliophysicsPy/standards/pull/29 + Filename: phep-0003.md + PHEP: 3 + Post-History: 06-Jun-2024, 11-Jun-2024, 02-Jul-2024, 17-Jul-2024, 23-Jul-2024, 05-Sep-2024, + 09-Sep-2024, 28-Oct-2025, 02-Dec-2025 + Resolution: https://doi.org/10.5281/zenodo.15080483, https://github.com/heliophysicsPy/standards/pull/29 + Revision: 1 + Status: Final + Title: PyHC Python & Upstream Package Support Policy + Type: Standards Track diff --git a/_pages/docs/phep-3-support-schedule.md b/_pages/docs/phep-3-support-schedule.md new file mode 100644 index 0000000..cdf5bdc --- /dev/null +++ b/_pages/docs/phep-3-support-schedule.md @@ -0,0 +1,12 @@ +--- +layout: page +title: PHEP 3 Support Schedule +permalink: /docs/pheps/phep-3-support-schedule/ +exclude: true +--- + +TODO. + +Per PHEP 3's "How to Teach This" section: +- The PyHC Tech Lead will maintain a new web page on the PyHC website detailing the support policy and include a graphical timeline of the schedule (similar to the Gantt chart above). + - Automated email reminders will be sent via the PyHC mailing list quarterly and near important drop/support dates to remind package maintainers of the schedule. diff --git a/_pages/docs/pheps.md b/_pages/docs/pheps.md index c80b6c6..4f13efc 100644 --- a/_pages/docs/pheps.md +++ b/_pages/docs/pheps.md @@ -29,3 +29,11 @@ PyHC Enhancement Proposals are developed via the + +PyHC has formally adopted **[PHEP 3: PyHC Python & Upstream Package Support Policy](https://github.com/heliophysicsPy/standards/blob/main/pheps/phep-0003.md)**! This new PHEP establishes a unified, time-based approach to dependency support across the PyHC ecosystem, bringing our community into alignment with the broader Scientific Python ecosystem. + +PHEP 3 recommends that all PyHC packages adopt the following support policy, based on [SPEC 0](https://scientific-python.org/specs/spec-0000/): + +- **Support Python versions for 36 months** (3 years) after their initial release +- **Support core Scientific Python packages for 24 months** (2 years) after their initial release +- **Adopt new versions within 6 months** of their release + +This policy applies to Python itself and to the upstream [core Scientific Python packages](https://scientific-python.org/specs/core-projects/): NumPy, SciPy, Matplotlib, pandas, scikit-image, NetworkX, scikit-learn, xarray, IPython, and Zarr. + +To learn more, read **[the full PHEP 3 document](https://github.com/heliophysicsPy/standards/blob/main/pheps/phep-0003.md)**. We will also maintain a [PHEP 3 Support Schedule page](/docs/pheps/phep-3-support-schedule/) with a graphical timeline and quarterly reminders to help package maintainers stay on track. Questions or feedback? Join the discussion on [PyHC's mailing list or Slack](/contact)! diff --git a/_pyhc_projects/package_review_template.md b/_pyhc_projects/package_review_template.md index 7796866..cb304be 100644 --- a/_pyhc_projects/package_review_template.md +++ b/_pyhc_projects/package_review_template.md @@ -31,8 +31,10 @@ This is based on the [PyHC Project Review Guidelines](https://github.com/helioph - [ ] Project imports the minimum number of packages necessary [[10](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] - [ ] Binary files are added to the package repository only when necessary [[14](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] -**5. Python 3** -- [ ] Package is compatible with python 3 [[11](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] +**5. PHEP 3 (Python & Upstream Package Support)** +- [ ] Package supports Python versions released within the last 36 months [[11](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] +- [ ] Package supports upstream core Scientific Python packages released within the last 24 months [[11](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] +- [ ] Package supports new dependency versions within 6 months of their release [[11](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] **6. License** - [ ] Project has a license [[5](https://github.com/heliophysicsPy/standards/blob/main/standards.md#standards)] diff --git a/_pyhc_projects/pyhc_project_grading_guidelines.md b/_pyhc_projects/pyhc_project_grading_guidelines.md index 6b0057e..1c0c168 100644 --- a/_pyhc_projects/pyhc_project_grading_guidelines.md +++ b/_pyhc_projects/pyhc_project_grading_guidelines.md @@ -38,7 +38,7 @@ The six standards against which we assess a project are the following: * Documentation * Testing * Software Maturity -* Python3 +* PHEP 3 (Python & Upstream Package Support) * License An explanation of each standard (and sub-standards therein) are defined in the [PyHC Community Standards](https://github.com/heliophysicsPy/standards/blob/main/standards.md) @@ -135,22 +135,22 @@ See the [PyHC Community Standards, points 1, 3, 4, 6, 7, 10, and 14](https://git -### Python3 +### PHEP 3 (Python & Upstream Package Support) -This deals with a project's compatibility with Python 3. See the [PyHC Community Standards, point 11](https://github.com/heliophysicsPy/standards/blob/main/standards.md) +This deals with a project's support for Python versions and upstream Scientific Python packages per [PHEP 3](https://doi.org/10.5281/zenodo.17794207). See the [PyHC Community Standards, point 11](https://github.com/heliophysicsPy/standards/blob/main/standards.md). - + - + - +
Requires improvementPackage is not compatible with Python 3, nor does it appear to be working towards that goal.Package does not support Python versions or upstream packages within the required timeframes, with no plan to update.
Partially metProject is working towards being compatible with Python 3.Package supports most required Python versions and upstream packages, but may be missing support for some recent releases or still depends on versions older than allowed.
GreenProject is compatible with Python 3.Package supports all Python versions released within the last 36 months, upstream packages released within the last 24 months, and adopts new versions within 6 months of release.
diff --git a/img/page_images/phep3-gantt.jpg b/img/page_images/phep3-gantt.jpg new file mode 100644 index 0000000..88c20c5 Binary files /dev/null and b/img/page_images/phep3-gantt.jpg differ