You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- System Python is now provided through separate virtual environment, keeping respective original tag distribution untouched ([#76](https://github.com/makukha/multipython/issues/76))
15
+
16
+
### Added 🌿
17
+
18
+
- Helper utility command `py tag <executable>` ([#59](https://github.com/makukha/multipython/issues/59))
19
+
-[tox-multipython](https://github.com/makukha/tox-multipython) plugin for interpreter discovery with tox 3 ([#70](https://github.com/makukha/multipython/issues/70))
20
+
- New JSON metadata key `system`, containing information about system Python environment ([#76](https://github.com/makukha/multipython/issues/76))
21
+
22
+
### Changed
23
+
24
+
- Updated base Debian image ([#81](https://github.com/makukha/multipython/issues/81))
25
+
- Updated uv to v0.5.18 ([#77](https://github.com/makukha/multipython/issues/77))
26
+
- Updated virtualenv-multipython to v0.3.1 ([#72](https://github.com/makukha/multipython/issues/72))
27
+
28
+
### Docs
29
+
30
+
- It is now not necessary to have pulled Docker images to update docs ([#54](https://github.com/makukha/multipython/issues/54))
*`makukha/multipython:supported` — [supported](https://devguide.python.org/versions) versions, not including prerelease
8
8
*`makukha/multipython:unsafe` — all versions, including end-of-life
9
9
*`makukha/multipython:{py314...}` — single version images
10
-
* All images include [pip](https://pip.pypa.io), [pyenv](https://github.com/pyenv/pyenv), [tox](https://tox.wiki), [uv](https://docs.astral.sh/uv)
11
-
* Tox env names match tag names, even non-standard `py313t`
10
+
* All images except `base` have system Python in virtual environment
11
+
* All images include [pip](https://pip.pypa.io), [pyenv](https://github.com/pyenv/pyenv), [setuptools](https://setuptools.pypa.io), [tox](https://tox.wiki), [uv](https://docs.astral.sh/uv), [virtualenv](https://virtualenv.pypa.io)
12
+
* Tox and virtualenv understand multipython tag names, even non-standard `py313t`
12
13
*[Build your own environment](https://github.com/makukha/multipython#build-your-own-environment) from single version images
13
14
* Based on `debian:stable-slim`
14
15
* Single platform `linux/amd64`
@@ -26,24 +27,24 @@
26
27
27
28
<!-- docsub: begin -->
28
29
<!-- docsub: include docs/part/image-tags.md -->
29
-
*[`latest, 2517`](https://github.com/makukha/multipython/blob/v2517/Dockerfile) — *all supported and prerelease CPython versions*
*`makukha/multipython:supported` — [supported](https://devguide.python.org/versions) versions, not including prerelease
18
18
*`makukha/multipython:unsafe` — all versions, including end-of-life
19
19
*`makukha/multipython:{py314...}` — single version images
20
-
* All images include [pip](https://pip.pypa.io), [pyenv](https://github.com/pyenv/pyenv), [tox](https://tox.wiki), [uv](https://docs.astral.sh/uv)
21
-
* Tox env names match tag names, even non-standard `py313t`
20
+
* All images except `base` have system Python in virtual environment
21
+
* All images include [pip](https://pip.pypa.io), [pyenv](https://github.com/pyenv/pyenv), [setuptools](https://setuptools.pypa.io), [tox](https://tox.wiki), [uv](https://docs.astral.sh/uv), [virtualenv](https://virtualenv.pypa.io)
22
+
* Tox and virtualenv understand multipython tag names, even non-standard `py313t`
22
23
*[Build your own environment](https://github.com/makukha/multipython#build-your-own-environment) from single version images
23
24
* Based on `debian:stable-slim`
24
25
* Single platform `linux/amd64`
@@ -53,11 +54,11 @@ $ docker run --rm -v .:/src -w /src makukha/multipython:py310 tox run
53
54
<!-- docsub: end #readme -->
54
55
55
56
56
-
# Python versions
57
+
##Python versions
57
58
58
59
<!-- docsub: begin -->
59
60
<!-- docsub: include docs/part/python-versions.md -->
@@ -80,20 +81,31 @@ $ docker run --rm -v .:/src -w /src makukha/multipython:py310 tox run
80
81
<!-- docsub: end -->
81
82
82
83
83
-
### Executables
84
+
##Commands
84
85
85
-
All executables are on `PATH` as symlinks to respective distributions. System ⚙️ Python, that is always the latest bugfix version, is also available as `python`.
86
+
All commands are on `PATH` as symlinks to respective distributions. System ⚙️ Python, that is always the latest bugfix version, is available as `python` in virtual environment along with `pip`, `tox`, and `virtualenv`.
86
87
87
-
###Distribution sources
88
+
## Distribution sources
88
89
89
90
The only used source used is [pyenv](https://github.com/pyenv/pyenv). However, it is planned to use [python-build-standalone](https://github.com/astral-sh/python-build-standalone) distributions for supported Python versions to speed up tests and image builds.
* See [Status of Python versions](https://devguide.python.org/versions) for the list of end-of-life versions.
96
97
98
+
## Tox and virtualenv
99
+
100
+
All single version tags above, including `py313t` and `py314t`, can be used as tox environment names (see example above) or as virtualenv python requests:
101
+
```shell
102
+
$ virtualenv --python py314t /tmp/venv
103
+
```
104
+
105
+
This is possible because two custom plugins are pre-installed in system environment (tox-multipython is installed only for tox 3). When building custom image, they are automatically added by `py install`. Both plugins are part of this project, and use multipython image for self testing.
106
+
*[virtualenv-multipython](https://github.com/makukha/virtualenv-multipython) — discovery plugin for virtualenv and tox 4
107
+
*[tox-multipython](https://github.com/makukha/tox-multipython) — discovery plugin for tox 3
108
+
97
109
98
110
# Advanced usage
99
111
@@ -278,7 +290,7 @@ docker run --rm makukha/multipython:latest py info -c
278
290
```json
279
291
{
280
292
"multipython": {
281
-
"version": "2517",
293
+
"version": "251E",
282
294
"subset": "latest",
283
295
"root": "/root/.multipython"
284
296
},
@@ -348,7 +360,7 @@ docker run --rm makukha/multipython:latest py info -c
348
360
349
361
# Versions
350
362
351
-
Tools available in [Base image](#base-image) have exactly the same versions in all Python images. For Python package versions, `system` environment is used.
363
+
Tools available in `base` image have (no surprise) the same versions in all other images. For Python package versions, `system` environment is used.
352
364
353
365
✨ latest versions will be updated in upcoming releases.
354
366
@@ -444,23 +456,23 @@ $ docker run --rm -v .:/src -w /src makukha/multipython@sha256:... tox run
0 commit comments