Skip to content

feat: make Pytorch-Wildlife the release-ready framework home (port fixes + PyPI Trusted Publishing)#17

Open
rain-Brian wants to merge 2 commits into
mainfrom
seo/pw-release-readiness
Open

feat: make Pytorch-Wildlife the release-ready framework home (port fixes + PyPI Trusted Publishing)#17
rain-Brian wants to merge 2 commits into
mainfrom
seo/pw-release-readiness

Conversation

@rain-Brian
Copy link
Copy Markdown
Collaborator

What

Completes the repo split so microsoft/Pytorch-Wildlife is the canonical, complete, release-ready home for the PytorchWildlife framework. Prepares the PyPI cut-over so the maintainer's remaining action is minimal.

Changes

  • Port 2 post-split bug fixes from microsoft/Biodiversity (which still carried a leftover copy of the package after the 2026-05-14 split): the batch-classification ClassificationImageFolder fix (upstream PR #616) and the default MegaDetectorV6 version identifiers (upstream PR #613). After this, src/PytorchWildlife matches Biodiversity's package exactly (verified diff -rq clean) — so removing the leftover from Biodiversity loses nothing.
  • Version bump 1.3.0 → 1.3.1 (PyPI rejects re-uploading an existing version).
  • Tokenless PyPI Trusted Publishing workflow (.github/workflows/publish.yml): builds + uploads on a published GitHub Release via OIDC. No API token, no stored secret.

Why

PyPI's PytorchWildlife Home-page still points at the old CameraTraps/Biodiversity repo. This repo's pyproject.toml already declares Homepage = github.com/microsoft/Pytorch-Wildlife, so the next release cut from here auto-corrects the PyPI link.

Verification

  • diff -rq Biodiversity/PytorchWildlife Pytorch-Wildlife/src/PytorchWildlife → clean (complete superset).
  • Ported version IDs already exist in the weights registry; ClassificationImageFolder already defined. No behavior breakage.
  • python -m buildpytorchwildlife-1.3.1 sdist + wheel; wheel METADATA Homepage = github.com/microsoft/Pytorch-Wildlife.

Maintainer action to publish (documented in the workflow header)

  1. One-time (PyPI project owner): add a Trusted Publisher on the PytorchWildlife PyPI project — owner microsoft, repo Pytorch-Wildlife, workflow publish.yml, environment pypi.
  2. Publish the pre-staged GitHub Release → the workflow uploads 1.3.1 and PyPI flips to Pytorch-Wildlife.

Part of resolving the hub/framework duplication (ADO Epic 506340). No reviewer set per current instruction.

Completes the repo split so this repo is the canonical PytorchWildlife source.

- Port the 2 post-split bug fixes that landed in microsoft/Biodiversity after the
  2026-05-14 source copy, so this repo is a complete superset:
  - batch-classification ImageFolder fix (ClassificationImageFolder) - upstream PR #616
  - default MegaDetectorV6 version identifiers - upstream PR #613
  src/PytorchWildlife now matches Biodiversity's package byte-for-byte.
- Bump version 1.3.0 -> 1.3.1 (PyPI rejects re-uploading an existing version).
- Add a tokenless PyPI Trusted Publishing (OIDC) workflow that builds and uploads
  on a published GitHub Release. No API token or stored secret. One-time maintainer
  setup is documented in the workflow header.

Verified: python -m build produces pytorchwildlife-1.3.1 sdist + wheel; wheel
METADATA Homepage resolves to github.com/microsoft/Pytorch-Wildlife.
Validate sdist + wheel metadata (twine check) between build and Trusted-Publishing
upload, so a malformed long_description or metadata is caught before it reaches PyPI.
@rain-Brian rain-Brian requested a review from zhmiao June 3, 2026 22:22
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.

1 participant