forked from TheAlgorithms/Python
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdevcontainer.json
More file actions
57 lines (51 loc) · 2.3 KB
/
Copy pathdevcontainer.json
File metadata and controls
57 lines (51 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{
"name": "Python 3",
// Use a prebuilt dev container image instead of building from a local
// Dockerfile. The repo migrated its dependencies to pyproject.toml, so the
// old Dockerfile's `COPY requirements.txt` step no longer had a file to copy
// and the image build failed. The upstream images already ship Python + a
// full toolchain, so pulling one is both faster and less to maintain.
//
// This repo tracks the latest-and-greatest CPython on the newest stable
// Debian. Images are published per CPython minor version on Debian 13
// "Trixie" (3.11-trixie ... 3.14-trixie); bump this to the newest available
// when a new stable CPython ships.
// NOTE: these images do not publish free-threaded (`t`) variants, so 3.14t
// cannot be selected via the tag alone -- but the repo's `.python-version`
// pins 3.14t, and `uv run`/`uv sync` in the container honor it, so uv gives
// contributors free-threaded 3.14t regardless of the base tag.
"image": "mcr.microsoft.com/devcontainers/python:latest",
// Install the tools post_install and CI expect (pre-commit + ruff), plus uv
// for the free-threaded workflow above, then run the existing setup script.
"postCreateCommand": "pipx install pre-commit ruff uv && zsh .devcontainer/post_install",
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/usr/local/bin/python",
// Formatting/linting is handled by Ruff (matches pre-commit and CI).
"editor.formatOnSave": true,
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"source.organizeImports": "explicit"
}
},
"terminal.integrated.defaultProfile.linux": "zsh"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff"
]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}