/poetry-docker

Poetry build tool packaged into docker image with an actual Python

Primary LanguagePythonMIT LicenseMIT

poetry-docker

Update Build and Push Docker Pulls GitHub

non-windows Official Python docker images with the addition of the latest Poetry

Usage

Image tags are generated from the next template: {poetry-version}-python-{official-python-image-tag}, where {poetry-version} is a numeric version or latest.

For example:

FROM weastur/poetry:1.5.1-python-3.11.4-bookworm
FROM weastur/poetry:1.5.1-python-3.11-alpine
FROM weastur/poetry:latest-python-3.11

There is one special tag - latest - which is equivalent to latest-python-latest, so it's just the latest Poetry version based on python:latest image.

Usage with docker run

The image can be run with docker run command. Notice that the COMMAND inside is still python3, like in an Official Image.

Internals

The image itself is built on top of an Official Python Image, with the reference Poetry's installer, which means that there are no additional dependencies in the resulting image. For example:

➜ docker run -ti weastur/poetry bash
root@87ef07a9832a:/# pip list
Package    Version
---------- -------
pip        22.0.4
setuptools 58.1.0
wheel      0.37.1

Also, pay attention that there are no additional settings of Poetry, like poetry config virtualenvs.in-project true

Every single step of the build process runs with GitHub Actions.

Contributing

You need Docker installed. You can start from .github/workflows/docker-build.yml to inspect the build process. The main files are Dockerfile and update.py.

Also, you can use pre-commit to run some checks locally before committing.

pre-commit install

Support

If you want to support the development or say thanks, become a GitHub Sponsor or

Buy Me A Coffee

License

MIT, see LICENSE.