Monorepo / uv workspaces (initialize from scratch)
Use these commands when creating the repository from an empty project (or when adding new package workspaces). They create the repository workspace layout and initialize package workspaces under packages/.
Terminal (pwsh / bash):
# Create a bare uv workspace for the monorepo
uv init --bare --name open-ev-fleet
# Initialize package workspaces (create package layouts and pyproject)
uv init packages/openevfleet --package --name openevfleet
uv init packages/openevfleet_control --package --name openevfleet_control
uv init packages/openevfleet_io --package --name openevfleet_io
# Populate the workspace (create .venv/lockfiles and install tools as configured)
uv sync --all-groups --all-extrasNotes and next steps
- After
uv initanduv syncinspect generated files (e.g.pyproject.toml) and lockfiles. Commit them and open a merge request so CI runs. - To add more packages:
uv init packages/<name> --package --name <name>then runuv sync.