Docker container¶
Xonsh publishes a handful of containers, primarily targeting CI and automation use cases. All of them are published on Docker Hub.
xonsh/xonsh
: A base container providing basic xonshxonsh/interactive
: xonsh with additions for peoplexonsh/action
: xonsh with additions for GitHub Actions
All containers use the same tagging scheme:
<version>
/latest
: Based onpython:3
(Debian Buster)<version>-slim
/slim
: Based onpython:3-slim
(Debian Buster, slim variant)<version>-alpine
/alpine
: Based onpython:3-alpine
(Alpine Linux)
You can select specific versions of xonsh. However, you cannot select specific versions of Python. Everything is rebuilt daily.
All containers include an xpip
utility to let you easily install packages from a Dockerfile.
The container source can be found in the container project.
xonsh/xonsh
¶
A basic container, including Python itself, xonsh, and the linux extras. This container is deliberately kept minimal.
xonsh/interactive
¶
A container made for humans (such as getting a shell inside of a pod). It includes prompt toolkit and pygments so that xonsh is more usable interactively.
xonsh/action
¶
A container with extras for GitHub Actions.
First, some of the inputs are parsed into more helpful forms:
$GITHUB_EVENT
: The event that triggered the action (parsed from$GITHUB_EVENT_PATH
)$INPUT
: The input arguments configured in the workflow (from$INPUT_*
)
In addition, if you have PyGithub or gqlmod installed, and an authentication token was found, they will be configured:
PyGithub: A
Github
object can be found at$GITHUB
gqlmod: the token will be applied globally and the library will be ready to use