Prerequisites
| Tool | Minimum version | Install |
|---|---|---|
| Python | 3.12 | pyenv install 3.12 or system package |
| uv | 0.4 | curl -LsSf https://astral.sh/uv/install.sh | sh |
| git | 2.30 | System package or git-scm.com |
| glab | any | brew install glab or sudo apt install glab |
uv manages virtual environments and runs all development commands in PLESTY — you do not need pip, poetry, or conda.
Clone the PLESTY management workspace
If you are a team contributor with GitLab access:
git clone git@gitlab.com:plesty/plesty-management.git
cd plesty-management
Pull a specific module
Use the management workspace to clone hub module repos:
# Pull a specific device module
node scripts/pull/pull.mjs hub/devices/thorlab/plesty-pm100d
# Pull all core repos
node scripts/pull/pull.mjs core
Repos land under repos/ mirroring the GitLab group hierarchy.
Sync the dev environment
Inside any module directory:
uv sync
This creates .venv/ and installs all runtime and dev dependencies (including plesty-sdk and plesty-lib) from the lockfile. No --extra dev flag needed — dev dependencies live in [dependency-groups.dev].
Sections
- Workspace Setup — directory layout, environment variables
- Your First Check — run
plesty checkand read the output - Fixing Failures — triage and fix gate failures