-
Notifications
You must be signed in to change notification settings - Fork 0
Add dev container for standardized development environment #660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Create .devcontainer/devcontainer.json with Python 3.11 base - Add setup.sh script for automatic dependency installation - Include comprehensive README with usage instructions - Configure VS Code extensions and settings - Support for VS Code Dev Containers and GitHub Codespaces - Pre-configure Python, Jupyter, Ruff, and Git extensions - Addresses issue #653
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a comprehensive dev container configuration to provide a standardized, reproducible development environment for MSML contributors. The implementation includes Docker-based containerization with VS Code integration and automated setup.
Changes:
- Added dev container configuration with Python 3.11, Git, GitHub CLI, and pre-configured VS Code extensions
- Created automated setup script that installs uv package manager and project dependencies
- Provided comprehensive documentation covering setup, usage, customization, and troubleshooting
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.devcontainer/devcontainer.json |
Defines dev container configuration with Python 3.11 base image, VS Code extensions, and editor settings |
.devcontainer/setup.sh |
Automated setup script that installs uv, syncs dependencies, and installs development tools |
.devcontainer/README.md |
Comprehensive documentation covering dev container features, getting started guide, usage examples, and troubleshooting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| # Install development tools | ||
| echo "Installing development tools..." | ||
| uv pip install --system ruff pytest pytest-cov |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The --system flag installs packages to the system Python rather than into the virtual environment created by uv sync at .venv/. This is inconsistent with the rest of the setup and the documentation which references using the .venv virtual environment. Consider removing the --system flag so these development tools are installed into the project's virtual environment, or use uv tool install for global tool installation.
| uv pip install --system ruff pytest pytest-cov | |
| uv pip install ruff pytest pytest-cov |
| "tamasfe.even-better-toml", | ||
| "eamodio.gitlens" | ||
| ], | ||
| "settings": { |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Python interpreter path assumes that uv sync creates a virtual environment at .venv/bin/python. However, this path may differ on Windows containers (which would use .venv/Scripts/python.exe). While the Linux base image is being used, consider whether cross-platform compatibility is needed or add a comment documenting the Linux-specific assumption.
| "settings": { | |
| "settings": { | |
| // NOTE: This dev container uses a Linux base image; the interpreter path assumes a POSIX .venv/bin layout. |
Closes #653
Summary
This PR adds a dev container configuration to provide a reproducible, standardized development environment for MSML contributors.
Changes
Installing dependencies with uv... - Automated setup script
Benefits
Usage
VS Code Dev Containers
GitHub Codespaces
Related