Skip to content

feat(scaffold): pin workspace Python via committed .python-version#67

Merged
bjoaquinc merged 2 commits into
develfrom
feat/scaffold-python-version
Jul 1, 2026
Merged

feat(scaffold): pin workspace Python via committed .python-version#67
bjoaquinc merged 2 commits into
develfrom
feat/scaffold-python-version

Conversation

@bjoaquinc

Copy link
Copy Markdown
Collaborator

Summary

Ships a committed .python-version (pinned to 3.13) in the minimal workspace scaffold. New workspaces get a self-contained, reproducible venv — uv auto-provisions the interpreter on uv sync if it isn't installed.

Mirrors the same change in dlthub-init, and matches uv's own convention: uv init creates a .python-version (default 3.13) and deliberately doesn't gitignore it.

Notes specific to this repo:

  • The scaffold .gitignore already doesn't ignore .python-version, so no .gitignore change was needed here.
  • 3.13 sits within the scaffold's requires-python = ">=3.12" and matches the interpreter the bundled workspace already resolves to (.venv/lib/python3.13).
  • .python-version is not in BENIGN_ENTRIES, so the in-place-init invariant test is unaffected; the copy_scaffold copy path (copytree + _ignore_runtime) ships root-level dotfiles as-is.

Changes

  • New src/create_dlthub_workspace/scaffolds/minimal_workspace/.python-version3.13.
  • tests/test_scaffold.py: assert the scaffolded workspace contains .python-version.
  • CHANGELOG entry under [Unreleased] → Added.

Testing

  • make test ✅ (175 passed) — includes the new copy_scaffold assertion that the file lands in the output workspace.

🤖 Generated with Claude Code

Ship a .python-version (3.13) in the minimal workspace so a new workspace gets
a self-contained, reproducible venv — uv auto-provisions the interpreter on
'uv sync'. Matches uv's own 'uv init' convention (commit the pin, don't ignore
it); the scaffold .gitignore already doesn't ignore it. Mirrors the same change
in dlthub-init.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bjoaquinc bjoaquinc self-assigned this Jul 1, 2026
@bjoaquinc bjoaquinc requested a review from tetelio July 1, 2026 11:25
@bjoaquinc bjoaquinc removed the request for review from tetelio July 1, 2026 13:04
@bjoaquinc bjoaquinc merged commit eedc250 into devel Jul 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant