Use Python 3.12 or newer, preferably the compas3 Conda environment. Install the
project with python -m pip install -e ".[dev,docs]".
invoke test
invoke lint
invoke format
invoke build
invoke docs
git diff --checkinvoke lint and invoke format cover newly maintained tooling and tests. The
recovered package source is excluded until its migration, preserving the exact
extraction. invoke test runs host-independent behavior checks; the host smoke
test skips when Grasshopper is unavailable. These checks do not certify host integration.
invoke build builds both sdist and wheel and verifies every recovered source
file and asset is present in both. invoke docs builds MkDocs with strict mode.
Keep migration changes separate from extraction provenance. Preserve the license, original authorship, extraction tag, and commit maps. Add focused behavior tests for changes and run affected host integration tests inside the application.
The release workflow runs on published GitHub releases and builds distributions
from that release's checkout. Before publishing a release, complete TODO.md,
update pyproject.toml and the package's __version__ together, and update the
changelog. The workflow checks the tag against the project version.
Configure PyPI trusted publishing for the eventual owner/repository and
.github/workflows/release.yml, using a protected GitHub environment named
pypi. No credentials or remote configuration are included in this bootstrap.
The docs.yml workflow validates and uploads the rendered documentation as an
artifact; documentation hosting can be configured after choosing the repository.
The CI workflow checks out compas_rhino from the same GitHub owner and installs
it editable before this package. Push both repositories under the same owner
(or adjust that checkout) before enabling CI. Publish a compatible standalone
Rhino distribution before releasing this package to PyPI.