Skip to content

feat(ENG-12402): add PyPI publishing setup with Release Please CI#3

Merged
hiskudin merged 2 commits into
mainfrom
feat/pypi-publishing-setup
Apr 8, 2026
Merged

feat(ENG-12402): add PyPI publishing setup with Release Please CI#3
hiskudin merged 2 commits into
mainfrom
feat/pypi-publishing-setup

Conversation

@hiskudin

Copy link
Copy Markdown
Collaborator

Summary

  • Moves the ONNX model into src/stackone_defender/models/ so it is bundled inside the wheel (previously lived at repo root and was excluded from PyPI packages)
  • Fixes _default_model_path() to resolve relative to the installed package rather than the repo root
  • Adds full PyPI metadata to pyproject.toml (authors, license, classifiers, URLs) and converts dev deps to [dependency-groups]
  • Adds Release Please config for automated versioning on merge to main
  • Adds CI workflow running pytest on Python 3.10–3.13
  • Adds release workflow that builds and publishes to PyPI via uv publish on release

Test plan

  • uv run pytest — 177 tests pass
  • uv build && unzip -l dist/*.whl | grep onnx — confirms model_quantized.onnx is in the wheel
  • Model path resolves correctly when imported from installed package
  • CI workflow passes on all Python versions (triggered by this PR)
  • Requires PYPI_API_TOKEN secret to be set in repo settings before first release

🤖 Generated with Claude Code

- Move ONNX model files into src/stackone_defender/models/ so they are
  included in the wheel (previously lived at repo root and were excluded)
- Fix _default_model_path() to resolve 2 levels up (classifiers/ →
  stackone_defender/models/) instead of 4 levels to repo root
- Update pyproject.toml: add full metadata (authors, license, classifiers,
  URLs), convert [tool.uv] dev-deps to [dependency-groups]
- Add .release-please-config.json and .release-please-manifest.json for
  automated versioning on merge to main
- Add .github/workflows/release.yaml: Release Please + uv publish to PyPI
- Add .github/workflows/ci.yaml: pytest matrix across Python 3.10–3.13
- Remove Git LFS section from README (model is now bundled in package)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 17, 2026 17:54
onnxruntime dropped Python 3.10 support in 1.21.0. Remove 3.10 from
CI matrix and classifiers to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@hiskudin hiskudin changed the title feat: add PyPI publishing setup with Release Please CI feat(ENG-12402): add PyPI publishing setup with Release Please CI Mar 18, 2026
@hiskudin hiskudin requested a review from Copilot March 18, 2026 10:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@glebedel glebedel left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@hiskudin hiskudin merged commit f979748 into main Apr 8, 2026
12 of 14 checks passed
@hiskudin hiskudin deleted the feat/pypi-publishing-setup branch April 8, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants