Conversation
- Move sdist file selection into Hatch config so only source and top-level metadata ship. - Remove legacy MANIFEST.in to keep packaging inputs lean and explicit. --- Co-authored-by: Codex <codex@openai.com>
- Replace Hatchling with setuptools package discovery for the src layout. - Explicitly include py.typed while keeping package data disabled by default. --- Co-authored-by: Codex <codex@openai.com>
- Add a demo that runs RF-DETR detections through every tracker and writes annotated videos plus JSON outputs. - Add a helper script that composes tracker outputs into a labeled comparison grid video. --- Co-authored-by: Codex <codex@openai.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the project’s packaging and CI/release automation to ensure distributable artifacts are built reliably (addressing the broken wheel contents reported in #474), and adds demo utilities to run/compare multiple trackers on a video.
Changes:
- Switch build backend from Hatchling to Setuptools and configure
src/package discovery inpyproject.toml. - Expand GitHub Actions triggers (push to
develop/release/*) and enhance the release workflow to upload built artifacts to GitHub Releases. - Add demo scripts to run RF-DETR + multiple trackers and to compose tracker output videos into a comparison grid.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml |
Migrates build backend to Setuptools and updates package discovery/data configuration to ship real source in wheels. |
demo/rfdetr_all_trackers.py |
New demo to run multiple trackers, write annotated videos, and export detections/tracks to JSON. |
demo/compose_tracker_grid.py |
New utility to compose tracker output videos into a grid for visual comparison. |
.gitignore |
Ignores local/demo output directories and related artifacts. |
.github/workflows/publish-release.yml |
Adds release trigger and a job to upload dist/* artifacts as GitHub Release assets. |
.github/workflows/ci-tests.yml |
Adds push triggers for develop/release/*. |
.github/workflows/ci-integrations.yml |
Adds push triggers for develop/release/*. |
.github/workflows/ci-build-docs.yml |
Adds push triggers for develop/release/*. |
.github/workflows/build-package.yml |
Adds push/PR triggers for develop/release/* and lists dist/ contents after building. |
- Add `files` key to mypy settings in `pyproject.toml`. - Pass `pass_filenames: false` to the mypy pre-commit hook. - Reformat color palette list for improved readability.
- Add pyproject.toml to the package-build PR trigger, bump the release version, and move unreleased changelog notes into 2.6.0. - Pin release actions, fail fast on demo video I/O, extend mypy coverage to the demo scripts, and refresh uv.lock. --- Co-authored-by: Codex <codex@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several significant improvements to the CI/CD workflows and demo scripts, focusing on enhanced automation for releases, better artifact management, and new demonstration utilities. The main changes include improved GitHub Actions triggers for more robust CI/CD, the addition of new demo scripts for tracker evaluation, and a migration from Hatchling to Setuptools for package building.
CI/CD Workflow Improvements:
pushtriggers forrelease/*anddevelopbranches to all major workflows (ci-tests.yml,ci-integrations.yml,ci-build-docs.yml,build-package.yml), ensuring builds and tests are automatically run on direct pushes as well as pull requests. [1] [2] [3] [4]publish-release.ymlworkflow to trigger on GitHub Release creation and to upload artifacts as GitHub Release assets. The job now conditionally runs steps based on the event type, ensuring correct asset publication. [1] [2] [3]dist/directory after building packages, aiding in debugging and artifact verification.Demo Scripts:
demo/rfdetr_all_trackers.py, a comprehensive script to run multiple trackers on a video, save annotated outputs, and export detection/tracking results to JSON. This script facilitates benchmarking and visual comparison of different tracking algorithms.demo/compose_tracker_grid.py, a utility to compose the output videos from different trackers into a single grid video for easy visual comparison.Packaging System Migration:
pyproject.tomlto use Setuptools configuration and package discovery. This improves compatibility and aligns with standard Python packaging practices.These changes collectively improve the automation, usability, and maintainability of the project.
resolves #474