Public release checklist#
Current prerequisites#
Ensure the required skgrad version is available on PyPI before UnifiedIG. The feature-space API requires
pipeline_view; do not lower the requirement to bypass installation failures. The initial skgrad 0.1.5 availability blocker was resolved before the successful UnifiedIG trial CI run.Run CI against published dependencies. Local sibling package validation is useful but does not demonstrate a successful public one-install workflow.
Set the intended release version in
pyproject.toml, finalize the Unreleased changelog, and review the release contents.Configure the GitHub
pypienvironment and PyPI trusted publisher for this repository’srelease.ymlworkflow. Environment protection may require a maintainer’s approval. These remote settings are not changed by this audit.
Validation and publishing#
Pushes and pull requests run Python 3.10–3.13 tests, separate optional framework
jobs, and wheel/sdist validation. The tree job installs XGBoost and LightGBM.
The package job installs the wheel into a fresh environment using public
package resolution, runs pip check and the runnable README example, and
rebuilds a wheel from the sdist.
A matching v<version> tag push triggers release validation and PyPI
publication. A manually published GitHub release does not trigger publication.
The release job tests all optional backends, validates build metadata, rebuilds
from the sdist, and smoke-tests a fresh wheel installation before publishing.
A separate job then creates the GitHub release and attaches the distributions.
See publishing releases for the tag procedure, prerelease
handling, and recovery when GitHub release creation fails after PyPI succeeds.
Documentation site#
The separate Documentation workflow builds and deploys GitHub Pages from
main, without requiring a package version tag. See building the documentation
for Pages settings and manually rerunning deployment after enabling Pages.
Dependency policy#
CBaseline >=0.1.2,<0.2, skgrad >=0.1.5,<0.2, and TreeIG >=0.2.0,<0.3
are normal dependencies. The lower bounds identify the release-tested stack;
skgrad’s feature-space API is required. Upper bounds avoid silently accepting
new minor API series while these dependencies remain pre-1.0. Broaden bounds
after compatibility testing. The trees extra remains a compatibility alias;
it is unnecessary for normal installation.
The paper, comprehensive SHAP benchmarks, conda-forge, GPU work, and expanded plotting are not prerequisites for this release.