Python 3.12 on Ubuntu 24.04 LTS by cloudimg
par cloudimg
A pinned Python 3.12 toolchain with pip, venv, native wheel build tools and a data volume.
A ready to use Python development workstation. You connect over SSH and use it to write, build, test and package Python code. This image is deliberately a workstation rather than a server: it runs no network service of any kind, so on a fresh virtual machine the only listening socket reachable from outside the machine is SSH on port 22. There is no web console and no login page, and consequently no credential of any kind ships in the image - there is nothing to authenticate against and nothing to rotate.
The interpreter is deliberately Ubuntu's own. CPython 3.12.3 comes from noble's main component and is carried in both the updates and the security pockets, which means Canonical publishes security fixes for this exact interpreter across the LTS support window. A newer release from a third party archive would be newer but would sit entirely outside that coverage, and such archives have also been observed to pin their dependencies to exact versions in ways that silently block future security updates. The build refuses to continue if the interpreter is not exactly the pinned release, or if any non Ubuntu package repository has been configured.
Packages that have no wheel actually build. This is what costs a Python developer the most time on a fresh cloud machine, and on a stock image it ends in a compiler error. Here the C, C++ and Fortran toolchains are installed together with the CPython development headers and the system libraries that source built packages look for - libffi, OpenSSL, SQLite, readline, compression, libxml2 and libxslt, libjpeg, libpng, FreeType, libyaml, libcurl, PostgreSQL and OpenBLAS. Building a real third party package from its source distribution is proven at image build time, not assumed.
Tooling that makes an editor useful on first connect. ruff for extremely fast linting and formatting, black as an alternative formatter, IPython for an interactive shell, pipx for installing standalone command line applications, virtualenv, build for producing wheels and source distributions, and the python-lsp-server language server so Neovim, Helix, Zed, Emacs or any other LSP client gives you completion, hover and navigation over SSH straight away. The protection Ubuntu uses to stop installs from damaging the system interpreter is deliberately left intact, so the machine teaches the correct habit of one virtual environment per project.
Your work on its own volume. A dedicated data volume carries the pip download and wheel cache, the pipx home, a directory for project virtual environments and a workspace, so you can size, snapshot and grow the disk that holds your code and caches independently of the operating system disk. The cache location is set in pip's global configuration file rather than a login profile, so it applies in every context, including a non interactive command over SSH and inside every virtual environment you create. The cache ships already warm.
Verify it before you trust it. A single command, cloudimg-python-selftest, creates a real virtual environment, has pip compile a C extension from source, confirms the result is a genuine compiled shared object, runs it and checks the number it computes, installs a test runner with your own pip and runs a suite that cross checks the compiled code against an independent pure Python implementation, then compiles a real third party package from its source distribution and reports one verdict.
Licensing you can inspect. CPython is distributed under the Python Software Foundation License Agreement, a permissive and GPL compatible licence, and the full text is shipped inside the image alongside the licences of the third party code CPython bundles. Every installed distribution, direct and indirect, is audited against its real licence artifact rather than a badge on a project page, and the resulting table ships on the image; the audit refuses to pass a package whose licence cannot be identified. There is no per CPU or per deployment software fee. Python and the Python logos are trademarks of the Python Software Foundation; cloudimg is not affiliated with, sponsored by, or endorsed by the Python Software Foundation, and the Python name is used here only to state accurately that this image contains the Python programming language. cloudimg provides the packaging, the pinned interpreter, the build toolchain, the dedicated data volume layout, security patching, a paired deployment guide and 24/7 support with a guaranteed 24 hour response SLA.