Repository navigation
Releases
v1.2.0
PyHC Actions v1.2.0
What's changed
Behavior changes
- When run locally,
phep3-checknow uses the sameschedule.jsonas the GitHub Action: it downloads the latest release's copy, and falls back to a copy bundled with pyhc-actions when it can't. It prints which one it used. Regular (non-editable) installs no longer skip core package checks. (#32) - Both checks now exit 1 when given a path that doesn't exist, or a directory with no
pyproject.toml,setup.pyorsetup.cfg. Before, they could check a different project or pass. A directory argument now means that directory'spyproject.toml, and the default still works forsetup.pyandsetup.cfgprojects. (#32, #33) phep3-checknow warns when the schedule has no release data for a core package a project depends on, instead of silently skipping that package. Withfail-on-warning, this fails the check. (#34)
Fixes
pyhc-env-compat-checkno longer reports a false failure for packages built with Poetry's legacypoetry.masonry.apibackend, such as pyaurorax. (#31)- Schedule generation (releases, the monthly update and
--generate-schedule) now retries PyPI and refuses to save a schedule with missing core package data. (#34)
Usage
PHEP 3 Compliance Checker:
- uses: heliophysicsPy/pyhc-actions/phep3-compliance@v1.2.0PyHC Environment Compatibility Checker:
- uses: heliophysicsPy/pyhc-actions/pyhc-env-compat@v1.2.0Included Files
schedule.json- Current release schedule for Python and core Scientific Python packages
v1
PyHC Actions v1
Usage
PHEP 3 Compliance Checker:
- uses: heliophysicsPy/pyhc-actions/phep3-compliance@v1PyHC Environment Compatibility Checker:
- uses: heliophysicsPy/pyhc-actions/pyhc-env-compat@v1Included Files
schedule.json- Current release schedule for Python and core Scientific Python packages
v1.1.3
PyHC Actions v1.1.3
Usage
PHEP 3 Compliance Checker:
- uses: heliophysicsPy/pyhc-actions/phep3-compliance@v1.1.3PyHC Environment Compatibility Checker:
- uses: heliophysicsPy/pyhc-actions/pyhc-env-compat@v1.1.3Included Files
schedule.json- Current release schedule for Python and core Scientific Python packages
v1.1.2
PyHC Actions v1.1.2
Usage
PHEP 3 Compliance Checker:
- uses: heliophysicsPy/pyhc-actions/phep3-compliance@v1.1.2PyHC Environment Compatibility Checker:
- uses: heliophysicsPy/pyhc-actions/pyhc-env-compat@v1.1.2Included Files
schedule.json- Current release schedule for Python and core Scientific Python packages
v1.1.1
PyHC Actions v1.1.1
Usage
PHEP 3 Compliance Checker:
- uses: heliophysicsPy/pyhc-actions/phep3-compliance@v1.1.1PyHC Environment Compatibility Checker:
- uses: heliophysicsPy/pyhc-actions/pyhc-env-compat@v1.1.1Included Files
schedule.json- Current release schedule for Python and core Scientific Python packages
v1.1.0
What's New
This is the first "feature-complete" release.
PyHC Environment Compatibility checker updates
The env-compat action now has broader coverage and clearer reporting:
- Added optional extras-aware resolution and conflict reporting.
- Differentiates base vs extras issues so extras-only conflicts are warnings.
- Migrated source inputs to PyHC
packages.txt+constraints.txt. - Improved incompatibility parsing/suggestions, including Python support messaging.
- Updated default
pyhc-docker-environmentraw URLs frommain-v2tomain.
PHEP 3 compliance updates
- Added
ignore-errors-forso selected package violations can be reported as warnings. - Improved fallback messaging for projects without standard PEP 621 metadata.
- Updated schedule coverage to include Python 3.14.
Changes
- Add extras support and extras-context reporting in env-compat
- Improve base vs extras issue classification in checks/output
- Migrate env-compat to
packages.txt/constraints.txtsources - Improve env-compat conflict parsing and Python compatibility guidance
- Add
ignore-errors-foraction input and fix argument passing/docs - Refine PHEP 3 fallback warning/note wording
- Update default PyHC environment URLs to track
main
Full Changelog
v1.1.0: v1.0.8...v1.1.0
v1.0.8
What's New
Clearer PHEP 3 warnings for legacy packages
Warnings for legacy (non-pyproject.toml) packages are now easier to read in the job summary:
- Missing/invalid
pyproject.tomlis reported with a concise issue and suggestion. - UV metadata extraction warnings no longer include redundant "(from uv)" text.
- Missing
requires-pythonnow includes an explicit suggestion.
Changes
- Improve PHEP 3 warning formatting for legacy fallback paths
- Add tests covering the new warning formats
Full Changelog
v1.0.8: v1.0.7...v1.0.8
v1.0.7
What's New
PyHC Environment Compatibility reliability
The env-compat check is now more reliable and informative:
- Fails loudly when
uvresolution errors occur instead of silently passing. - Improved parsing for availability and missing-distribution conflicts (with extras support).
- Ignores repository
tool.uvconfig to ensure consistent resolution against PyHC requirements. - Ensures git tags are available for
setuptools_scmversioning, with quiet fetch output.
Tests
- Added/expanded env-compat parsing tests to cover new conflict patterns.
Changes
- Fail on
uvresolution errors without parsed conflicts - Improve
uverror parsing (availability, missing distributions, extras) - Ignore repo uv config via
--no-config - Fetch git tags for
setuptools_scmversioning (quiet) - Add tests for new parsing cases
- Update release schedule/README link
Full Changelog
v1.0.7: v1.0.6...v1.0.7
v1.0.6
What's New
Marker-aware PHEP 3 dependency checks
The PHEP 3 checker now evaluates python_version / python_full_version markers across supported Python versions:
- If a marker applies to some supported versions, lower-bound violations become warnings.
- If it applies to none, the requirement is ignored for compliance.
- If it applies to all, behavior is unchanged (errors still apply).
README updates
Documentation now reflects the current inputs/outputs and has accurate example output, including marker warnings.
Changes
- Evaluate
python_version/python_full_versionmarkers for PHEP 3 checks - Downgrade partial-marker lower-bound violations to warnings
- Update README with current behavior and examples
Full Changelog
v1.0.6: v1.0.5...v1.0.6
v1.0.5
What's New
Actually Include Checked Package in Resolved Versions List
Fixed a critical issue where the package being checked was still not appearing in the resolved versions output, even with v1.0.4's regex improvements.
Root Cause
The issue was that uv pip compile does not output editable/local installs (-e /path) in its compiled output. The compiled output is meant to be a portable requirements file for PyPI packages only, so editable installs are simply omitted from stdout.
Our v1.0.4 regex could parse @ file:// format correctly, but there was nothing to parse because uv never outputs it!
Solution
We now manually add the checked package to the resolved versions dictionary after parsing uv's output. Since we already know the package name and path from the check process, we can inject it ourselves.
Now You'll See
Resolved Package Versions:
----------------------------------------
astropy==6.0.0
numpy==2.2.6
pyspedas @ /home/runner/work/pyspedas/pyspedas # ← Now actually included!
scipy==1.14.1
sunpy==7.1.0
... (other PyHC packages)
Changes
- Manually add checked package to resolved versions dict after parsing uv stdout
- Package is displayed as
package-name @ /path/to/package
Full Changelog
v1.0.5: v1.0.4...v1.0.5