diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5024a9f..13d03ed 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,14 +1,32 @@ { - "image": "mcr.microsoft.com/devcontainers/universal:2", + "image": "mcr.microsoft.com/devcontainers/python:3-3.12-trixie", "features": { + "ghcr.io/va-h/devcontainers-features/uv:1": {}, "ghcr.io/eitsupi/devcontainer-features/duckdb-cli:1": { "version": "latest", "extensions": "spatial", "communityExtensions": "h3" + }, + "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": { + "jqVersion": "latest" + }, + "ghcr.io/devcontainers-extra/features/gh-release:1": { + "repo": "planetlabs/gpq", + "binaryNames": "gpq", + "version": "0.24.0" } }, + "containerEnv": { + "UV_LINK_MODE": "copy" + }, + "remoteEnv": { + "PATH": "${containerWorkspaceFolder}/.venv/bin:${containerEnv:PATH}" + }, "customizations": { "vscode": { + "settings": { + "python.defaultInterpreterPath": "${containerWorkspaceFolder}/.venv/bin/python" + }, "extensions": [ "ms-toolsai.jupyter", "ms-toolsai.vscode-jupyter-cell-tags", @@ -21,5 +39,5 @@ ] } }, - "postCreateCommand": "pip install --user -r requirements.txt" + "postCreateCommand": "uv sync --frozen" } diff --git a/README.md b/README.md index 575165a..c7cb31d 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,9 @@ jupyter lab The `requirements.txt` is generated from `pyproject.toml` and `uv.lock`, so versions match the uv setup. -> **Note:** GitHub Codespaces support is being updated for the new setup. For now, please use one of the local setup paths above. +### Alternative: GitHub Codespaces + +If you'd rather not install anything locally: **Code → Codespaces → Create codespace on `main`**. The devcontainer runs `uv sync --frozen` automatically, so the same locked environment as the local setup is ready once the codespace finishes building — no separate install path to debug. Open a notebook and select the `.venv` interpreter when the kernel picker prompts you. ---