Releasing lerobot-env-so101¶
Publishing is automated via GitHub Actions + PyPI Trusted Publishing (OIDC).
No API token is stored anywhere; the release.yml workflow authenticates to
PyPI with a short-lived OIDC credential.
One-time setup (already done)¶
- PyPI Trusted Publisher — on https://pypi.org/manage/project/lerobot-env-so101/settings/publishing/, add a GitHub publisher with:
- Owner:
isaka1022 - Repository:
so101-sim2real - Workflow:
release.yml - Environment:
pypi - GitHub environment — a
pypienvironment exists on the repo so the publish job can reference it (and optionally gate it with a required reviewer).
Cutting a release¶
- Bump
versioninpackages/lerobot_env_so101/pyproject.toml. - Update the README if user-facing behaviour changed. The PyPI project page only re-renders the README on a new release — a docs-only fix is not visible on PyPI until the next version ships.
- Commit, push to
main, wait for thetestworkflow to pass. - Tag and push:
The
releaseworkflow builds and publishes automatically.
Manual publish fallback¶
If Actions is unavailable, publish from a local checkout with twine:
Gotcha: twine ignores any ~/.pypirc section that is not listed under
[distutils] index-servers. If a section ([pypi], [testpypi]) is present
but not in that list, twine silently falls through to an interactive password
prompt and fails with EOFError in a non-interactive shell. Keep the list and
the sections in sync.