CONTAINERS
python:3.11 |
|
|---|---|
| Requires | L4T ['>=34'] |
| Dependencies | build-essential pip_cache |
| Dockerfile | Dockerfile |
| Notes | installs core python3 packages and pip |
python:3.12 |
|
|---|---|
| Requires | L4T ['>=34'] |
| Dependencies | build-essential pip_cache |
| Dependants | ciso8601:v2.3.2 homeassistant-core:2025.7.0 psutil-home-assistant:0.0.1 |
| Dockerfile | Dockerfile |
| Notes | installs core python3 packages and pip |
python:3.13 |
|
|---|---|
| Requires | L4T ['>=34'] |
| Dependencies | build-essential pip_cache |
| Dependants | homeassistant-core:2025.7.0 |
| Dockerfile | Dockerfile |
| Notes | installs core python3 packages and pip |
python:3.14 |
|
|---|---|
| Requires | L4T ['>=34'] |
| Dependencies | build-essential pip_cache |
| Dockerfile | Dockerfile |
| Notes | installs core python3 packages and pip |
python:3.14t |
|
|---|---|
| Requires | L4T ['>=34'] |
| Dependencies | build-essential pip_cache |
| Dockerfile | Dockerfile |
| Notes | installs core python3 packages and pip with free-threaded (no-GIL) support |
Python 3.14t provides experimental support for running Python without the Global Interpreter Lock (GIL), enabling true parallel execution of Python threads. This is particularly useful for CPU-bound multi-threaded applications.
The build system keeps PYTHON_VERSION as a clean PEP 440-compliant version (e.g., 3.14) and uses the PYTHON_FREE_THREADING flag to control whether to install the free-threaded build. The install.sh script automatically adds the t suffix when calling uv python install 3.14t if PYTHON_FREE_THREADING=1.
To use the free-threaded version of Python:
# Build with Python 3.14t
jetson-containers build python:3.14t
# Or explicitly set the environment variable
PYTHON_VERSION=3.14t jetson-containers build python:3.14t
# Run the container
jetson-containers run $(autotag python:3.14t)Inside the container, you can verify that the GIL is disabled:
python3 -c "import sys; print(f'GIL disabled: {not sys._is_gil_enabled()}')"- The
PYTHON_GIL=0environment variable is set automatically for free-threaded builds - Not all Python packages are compatible with free-threaded Python yet
- Performance characteristics may differ from standard Python builds
- This is an experimental feature and may have stability issues
- Package name:
python:3.14t(user-facing, includes 't' suffix) - Build args:
PYTHON_VERSION=3.14andPYTHON_FREE_THREADING=1(separated for PEP 440 compliance) - Installation:
uv python install 3.14t(reconstructed with 't' suffix ininstall.sh)
CONTAINER IMAGES
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/python:r32.7.1 |
2023-12-05 |
arm64 |
0.4GB |
dustynv/python:r35.2.1 |
2023-12-05 |
arm64 |
5.0GB |
dustynv/python:r35.3.1 |
2023-09-07 |
arm64 |
5.0GB |
dustynv/python:r35.4.1 |
2023-10-07 |
arm64 |
4.9GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
RUN CONTAINER
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag python)
# or explicitly specify one of the container images above
jetson-containers run dustynv/python:r32.7.1
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/python:r32.7.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)
autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag python)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag python) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
BUILD CONTAINER
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build pythonThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.