Skip to content

feat: add python3-pip, python3-venv, python3-dev to default sandbox image - #33

Merged
malaporte merged 3 commits into
mainfrom
missing-pip3
Apr 13, 2026
Merged

malaporte merged 3 commits into
mainfrom
missing-pip3

Conversation

@malaporte

Copy link
Copy Markdown
Owner

Summary

Add core Python tooling to the default sandbox image so that pip3, venv, and native extension builds work out of the box without any user configuration.

Changes

  • Add python3-pip to the default Dockerfile apt install block — pip3 was missing from the base image
  • Add python3-venv — required for python3 -m venv to work on Debian/Ubuntu (confirmed broken on the base image without it)
  • Add python3-dev — provides headers needed to build packages with native C extensions
  • Clarify Docker image build spinner messages: "building Docker image (default sandbox)" / "building Docker image (custom Dockerfile)" instead of the vague "bundled sandbox image" wording
  • Update status.ts and its test to use "default Docker image" instead of "bundled default sandbox image"

Testing

  • Verified bun run typecheck passes
  • Confirmed pip3 and venv are absent from the base image (public.ecr.aws/s5i7k8t3/strongdm/coder:latest) by running the image directly

Reviewer Notes

The three Python packages are small and install quickly. uv remains the recommended Python package manager for project work (already in the image), but pip3 and venv are expected baseline tools that users will reach for instinctively.

@malaporte
malaporte marked this pull request as ready for review April 13, 2026 09:04
@malaporte
malaporte merged commit ff939f4 into main Apr 13, 2026
2 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.21.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant