Title: Add PyHC Actions for PHEP 3 compliance and environment compatibility by sapols · Pull Request #85 · hapi-server/client-python · GitHub
Open Graph Title: Add PyHC Actions for PHEP 3 compliance and environment compatibility by sapols · Pull Request #85 · hapi-server/client-python
X Title: Add PyHC Actions for PHEP 3 compliance and environment compatibility by sapols · Pull Request #85 · hapi-server/client-python
Description: Hey guys, Shawn from PyHC here! Can I politely ask you to be guinea pigs for these two new GitHub Actions I developed? 😁 I'm asking all the core packages first. The actions check for (1) compliance with PHEP 3 and (2) compatibility with the PyHC Environment. The idea is that they'll pass ✅ if there are no problems, but error/warn when problems arise. E.g., you'll get a red ❌ if: A change to your package would introduce a dependency conflict in the PyHC Environment You do not adopt a new Python version or core Scientific Python package version within 6 months of release You'll get ignorable warnings ⚠️ if: You support older Python versions or core Scientific Python packages beyond the required SPEC 0 support window You put an upper-bound constraint on a core Scientific Python package An optional dependency inside an [extra] would introduce a dependency conflict in the PyHC Environment If this goes well, I'd love to live in a future where all PyHC packages use these actions. I think it'd help keep everyone on the same page and be a huge win for interoperability! Summary This PR adds two GitHub Actions workflows from heliophysicsPy/pyhc-actions: 1. PHEP 3 Compliance Checker Validates that the package meets PHEP 3 requirements: Python version support (36-month support window) Core Scientific Python package version support (24-month support window) New version adoption within 6 months of release Warnings on upper-bound constraints and exact version pins (core Scientific Python packages only) 2. PyHC Environment Compatibility Checker Detects dependency conflicts with the PyHC Environment to ensure the package can be installed alongside other PyHC packages: Errors when conflicts are detected in base package Warns when conflicts are detected in optional dependency extras Trigger Schedule Both workflows run on: Push/PR to master branch Quarterly schedule (Jan 1, Apr 1, Jul 1, Oct 1 at 3pm UTC) Manual trigger via workflow_dispatch Notes I tested these actions on a personal fork of HAPI Client and pyhc-core, and that went well, so now I'm rolling them out to all core PyHC packages as the first real-world tests. The checks should only take a few seconds each to run, largely thanks to uv doing most the heavy lifting. Feedback Please share any feedback about how I've implemented these! I've tested them as extensively as I can, but let me know if you experience buggy behavior. I want these to be helpful, not cumbersome.
Open Graph Description: Hey guys, Shawn from PyHC here! Can I politely ask you to be guinea pigs for these two new GitHub Actions I developed? 😁 I'm asking all the core packages first. The actions check for (1) compli...
X Description: Hey guys, Shawn from PyHC here! Can I politely ask you to be guinea pigs for these two new GitHub Actions I developed? 😁 I'm asking all the core packages first. The actions check for (1) co...
Opengraph URL: https://github.com/hapi-server/client-python/pull/85
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:f3c61c67-77fd-13f9-b86a-daca83c91faf |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | D240:162B2:2D63C69:3ECEC96:6A4F1456 |
| html-safe-nonce | 054d91a6643c076006f2c17fc29f0c81fc83f0a00660c569c2ec5f04f3ff0eed |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEMjQwOjE2MkIyOjJENjNDNjk6M0VDRUM5Njo2QTRGMTQ1NiIsInZpc2l0b3JfaWQiOiI2NzM4OTYzMDA2NzI0NDQ1MjcwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | bff78d15238a4bfba4dc4e6ff7bb1132709dc8472fdfcf0552a016ebcc180ed0 |
| hovercard-subject-tag | pull_request:3274609933 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/hapi-server/client-python/pull/85/files |
| twitter:image | https://avatars.githubusercontent.com/u/14846863?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/14846863?s=400&v=4 |
| og:image:alt | Hey guys, Shawn from PyHC here! Can I politely ask you to be guinea pigs for these two new GitHub Actions I developed? 😁 I'm asking all the core packages first. The actions check for (1) compli... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/hapi-server/client-python git https://github.com/hapi-server/client-python.git |
| octolytics-dimension-user_id | 22482204 |
| octolytics-dimension-user_login | hapi-server |
| octolytics-dimension-repository_id | 93170857 |
| octolytics-dimension-repository_nwo | hapi-server/client-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 93170857 |
| octolytics-dimension-repository_network_root_nwo | hapi-server/client-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 2b8f23afb982271f1b22258a94aede67a6b77760 |
| ui-target | canary-2 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width