Add Codespaces devcontainer#108
Conversation
|
Thanks for your first pull request! We appreciate the contribution. Before review, please make sure tests pass: |
zeevdr
left a comment
There was a problem hiding this comment.
Thanks for this, Miro — devcontainer support for the Python SDK is genuinely useful and the venv/pytest/ruff wiring here is solid. 🙏
One change before merge: please align with the pattern the core decree repo already uses, so our devcontainers stay consistent across the org.
decree/.devcontainer doesn't use a custom Dockerfile. It uses official ghcr.io/devcontainers/features/* for the toolchain and a small setup script for anything not covered by a feature. Could you refactor 108 the same way:
- Drop
.devcontainer/Dockerfile. - Add the official Python feature instead:
"features": { "ghcr.io/devcontainers/features/python:1": { "version": "3.12" } }
- Install
uvvia the official astral installer in anonCreateCommand(pin preserved via the versioned URL):"onCreateCommand": "curl -LsSf https://astral.sh/uv/0.11.16/install.sh | sh"
Keep everything else as-is — the postCreateCommand venv install, the remoteEnv PATH, the VS Code settings/extensions, and the README badge are all good.
We avoid community/third-party devcontainer features by policy (vanilla-tooling only), which is why the official Python feature + astral's own installer is the preferred route here rather than a uv feature image.
Summary
uvfrom the officialghcr.io/astral-sh/uvimage and use it to create.venvwithsdk[dev]dependencies after container creation.Related issues
Closes #9
Test plan
devcontainer.jsonparses as JSONgit diff --check HEAD~1..HEADmake lintpassesmake typecheckpassesmake testpassesNot run locally:
make lint,make typecheck,make test.Checklist
decree(not applicable)