Commit 83a07ec
{Build} Packaging - Align Gen2 Pilot Dataset deps and add wheel workflow
Summary:
Explanation:
`projectaria_gen2_pilot_dataset` declared its dependencies in `setup.py`
independently of the build graph, and both Rerun migrations (0.26.2, then
0.33.0) updated the build files while leaving `setup.py` behind. The published
package therefore pinned `rerun-notebook==0.22.1`, two major versions stale, and
omitted `numpy`, `tqdm` and `rerun-sdk` even though the data provider and the
viewer import all three directly.
- Declares every direct dependency in `install_requires`, using
`rerun-sdk[notebook]==0.33.0` as `projectaria_tools` now does, so the SDK and
the notebook widget cannot drift apart again.
- Adds a `projectaria-tools>=2.2.0` floor. The dependency was fully unpinned, so
an environment with an older `projectaria-tools` already installed satisfied
the requirement and was never upgraded, then failed at runtime on APIs the
loader needs.
- Drops `extras_require`. Everything installs by default, so
`pip install projectaria-gen2-pilot-dataset` no longer needs the `[all]`
suffix; the README and the download docs are updated to match.
- Raises `python_requires` to `>=3.10` and drops the 3.8 / 3.9 classifiers, to
match `projectaria_tools`.
- Reads the version from `version.txt` instead of hardcoding it in `setup.py`,
as `projectaria_tools` does, and bumps it to `1.1.0a1`.
- Adds `.github/workflows/build-wheels-and-deploy.yml`: builds the sdist and
wheel, runs `twine check`, installs the wheel and smoke tests the API and the
console script, and can publish to test or prod PyPI from a manual dispatch.
This package is pure Python, so one `py3-none-any` wheel replaces the
`cibuildwheel` matrix that `projectaria_tools` needs for its native extension.
- Adds a minimal `pyproject.toml` for a deterministic build backend, and a
`MANIFEST.in` so `version.txt` ships in the sdist. Without it, a wheel built
from the sdist cannot resolve the version.
Reproducibility:
The workflow runs on pull requests and on a weekly schedule; publishing is gated
behind a manual dispatch. The install step resolves the full dependency set from
PyPI, so an unpublished or unsatisfiable pin fails the run.
Reviewed By: SeaOtocinclus
Differential Revision: D115946262
fbshipit-source-id: b9b661bfce91b504fd3afeba6e9848581e860c971 parent 4c501d9 commit 83a07ec
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
0 commit comments