[CHORE] Rebuild the Codespaces devcontainer on Python 3.12 and uv - #60
Open
Seth Fitzsimmons (sethfitz) wants to merge 2 commits into
Open
Seth Fitzsimmons (sethfitz) wants to merge 2 commits into
Seth Fitzsimmons (sethfitz) wants to merge 2 commits into
Conversation
universal:2 is a frozen Ubuntu 20.04 image that does not record which Python it ships, so pyproject.toml's requires-python >= 3.12 held only by accident. The devcontainers/python:3-3.12-trixie image pins the Python minor that .python-version names (3.12.14 as of image 3.2.3). postCreate now runs `uv sync --frozen`, the same path the README gives for local setup, so Codespaces installs exactly what uv.lock records and never rewrites uv.lock in an attendee's workspace. The venv lands in .venv/, which is prepended to PATH and set as the default interpreter so terminals and the Jupyter kernel picker find it. UV_LINK_MODE=copy silences the hardlink warning uv prints because the cache and /workspaces sit on different filesystems. Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
🚀 Workshop branch preview deployed!You can review your changes at https://staging.overturemaps.org/workshop/pr/60/index.html ♻️ Last refreshed: 2026-09-23T04:31:14Z |
Verified working: python 3.12.14, duckdb spatial+h3, and the notebook kernel picker recommends .venv on selection.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's in this PR?
mcr.microsoft.com/devcontainers/universal:2(frozen Ubuntu 20.04, undeclared Python) tomcr.microsoft.com/devcontainers/python:3-3.12-trixie, matching.python-versionuv sync --frozen, the same command the README gives for local setup, via theghcr.io/va-h/devcontainers-features/uvfeature.venvgoes first onPATHand is set as the default interpreter, sopython,jupyter, and the notebook kernel picker all use itpython --version→ 3.12.14,duckdb -c "LOAD spatial; LOAD h3; SELECT 1"returns a row, andduckdb/geopandas/lonboardall import. The kernel picker isn't pre-selected on a fresh notebook (normal VS Code behavior — no notebook has had a kernel chosen before), but.venvis the recommended option when you pick one