Purpose
Consistent Python across data scripts and Rhino tools, which run in different interpreters.
The standard
Format and lint with
ruff(black-compatible). Type hints on all public functions;mypyon data/CLI packages.Projects use
pyproject.toml+uv; norequirements.txtdrift, no global installs.Docstrings in Google style. Modules under ~400 lines.
Logging via
logging, neverprint, except in Rhino whereprintis the console (see 10.03).Rhino scripts: keep geometry logic in importable modules (testable outside Rhino) and a thin
__main__that talks torhinoscriptsyntax/RhinoCommon.Pin dependency versions; regenerate
uv.lockin its own commit.
Anti-patterns
Notebooks as production code; from x import *; mutating global state in Rhino scripts.
Owner: [TEAM] · Last reviewed: 2026-09