{"id":20461863,"url":"https://github.com/weastur/poetry-docker","last_synced_at":"2025-05-07T16:42:21.748Z","repository":{"id":42475900,"uuid":"510435776","full_name":"weastur/poetry-docker","owner":"weastur","description":"Poetry build tool packaged into docker image with an actual Python","archived":false,"fork":false,"pushed_at":"2025-05-04T00:36:52.000Z","size":363,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-04T01:25:04.908Z","etag":null,"topics":["ci","cicd","docker","docker-image","drone","drone-ci","poetry","poetry-python","python","python-packaging"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weastur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["weastur"]}},"created_at":"2022-07-04T16:46:40.000Z","updated_at":"2025-05-04T00:36:57.000Z","dependencies_parsed_at":"2023-09-24T02:06:26.069Z","dependency_job_id":"116a4312-822e-4ed6-80df-199022f98491","html_url":"https://github.com/weastur/poetry-docker","commit_stats":null,"previous_names":["psapezhka/poetry-docker","weastur/poetry-docker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weastur%2Fpoetry-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weastur%2Fpoetry-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weastur%2Fpoetry-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weastur%2Fpoetry-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weastur","download_url":"https://codeload.github.com/weastur/poetry-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252916362,"owners_count":21824756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","cicd","docker","docker-image","drone","drone-ci","poetry","poetry-python","python","python-packaging"],"created_at":"2024-11-15T12:28:42.312Z","updated_at":"2025-05-07T16:42:21.741Z","avatar_url":"https://github.com/weastur.png","language":"Python","funding_links":["https://github.com/sponsors/weastur"],"categories":[],"sub_categories":[],"readme":"# poetry-docker\n\n\u003cdiv align=\"center\"\u003e\n\n![Update](https://github.com/weastur/poetry-docker/workflows/Update/badge.svg)\n[![Build and push](https://github.com/weastur/poetry-docker/actions/workflows/docker-build.yml/badge.svg)](https://github.com/weastur/poetry-docker/actions/workflows/docker-build.yml)\n[![Docker Pulls](https://img.shields.io/docker/pulls/weastur/poetry)](https://hub.docker.com/r/weastur/poetry/)\n![GitHub](https://img.shields.io/github/license/weastur/poetry-docker)\n\n**non-windows** [Official Python](https://hub.docker.com/_/python/)\ndocker images with the latest [Poetry](https://python-poetry.org)\n\n\u003c/div\u003e\n\n## Usage\n\nImage tags are generated from the next template:\n`{poetry-version}-python-{official-python-image-tag}`,\nwhere `{poetry-version}` is a numeric version or `latest`.\n\nFor example:\n\n```Dockerfile\nFROM weastur/poetry:1.5.1-python-3.11.4-bookworm\nFROM weastur/poetry:1.5.1-python-3.11-alpine\nFROM weastur/poetry:latest-python-3.11\n```\n\nThere is one special tag - `latest` - which is equivalent to\n`latest-python-latest`, so it's just the latest Poetry version\nbased on `python:latest` image.\n\n### Usage with `docker run`\n\nThe image can be run with `docker run` command. Notice that the `COMMAND` inside\nis still `python3`, like in an Official Image.\n\n## Internals\n\nThe image itself is built on top of an Official Python Image, with the\nreference Poetry's\n[installer](https://github.com/python-poetry/install.python-poetry.org),\nwhich means that **there are no additional dependencies** in the\nresulting image. For example:\n\n```bash\n➜ docker run -ti weastur/poetry bash\nroot@87ef07a9832a:/# pip list\nPackage    Version\n---------- -------\npip        22.0.4\nsetuptools 58.1.0\nwheel      0.37.1\n```\n\nAlso, pay attention that **there are no additional settings** of Poetry,\nlike `poetry config virtualenvs.in-project true`\n\nEvery single step of the build process runs with GitHub Actions.\n\n## Where is python:XYZ image?\n\nThis project builds images with the latest poetry for **every latest**\nversion of every **supported** python for every available architecture which has\npre-built [cryptography](https://pypi.org/project/cryptography) and [cffi](https://pypi.org/project/cffi/). For now, those are `x86_64` and `aarch64` architectures.\n\nAlso, there are no builds for **too old** systems like Debian `buster` or `bullseye`\n or too old Alpine.\n\n### Why not to re-build every available tag?\n\n- There is no way to install the actual poetry version on an outdated python (like `3.5`, for example)\n- There is no way to install the actual poetry version on an outdated system (like Debian buster).\n  Poetry depends on `cryptography` which depends from `rust`. And there are some restrictions on the\n  versions of toolchains suitable for building those deps. In other words, some systems have too old\n  packages, so before installing poetry on `buster`, for example, we need to install the latest rust\n  toolchain, which is overkill, I believe.\n- There is no power to re-build everything at least once a week. Github Actions runners are too slow\n\n## Contributing\n\nYou need Docker installed.\nYou can start from `.github/workflows/docker-build.yml` to inspect the build process.\nThe main files are `Dockerfile` and `update.py`.\n\n## License\n\nMIT, see [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweastur%2Fpoetry-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweastur%2Fpoetry-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweastur%2Fpoetry-docker/lists"}