Convert Docker / Podman Compose to Podman Quadlet units.
- Synopsis
- Install
- Usage
- Running Tests
- Examples
- CI/CD
- License
- Credits & Open Source Notices
- Contributing
compose-to-quadlet converts Docker/Podman Compose YAML into Podman Quadlet units (.container, .network, .volume) using concise, typed Python models.
pipx install compose-to-quadlet
# or
poetry add compose-to-quadletcompose-to-quadlet --help
compose-to-quadlet convert examples/docker-compose.min.yml -o ./quadlets
# or, if using poetry
poetry run compose-to-quadlet convert examples/docker-compose.min.yml -o ./quadletsTo run the unit tests and check code coverage, use the following command:
poetry run pytestA minimal Docker Compose example is provided in examples/docker-compose.min.yml.
This project ships a GitHub Actions workflow that lints, tests, builds, publishes to PyPI on tag push (vX.Y.Z), creates a GitHub Release with ZIP artifact, and deploys pdoc docs to GitHub Pages. Tags with suffixes like -alpha, -beta, -rc are treated as pre-releases.
- International English, modern Python, strong typing, Pydantic validation.
- References:
- Podman Quadlet documentation: https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html
- Quadlet container units: https://docs.podman.io/en/latest/markdown/quadlet-container.5.html
- Docker/Podman Compose reference: https://docs.docker.com/compose/compose-file/
- click, pydantic, pyyaml, anyio, aiofiles, pytest, coverage, black, ruff, mypy, pdoc
See CONTRIBUTING.md.
MIT © The 17711 Frame — https://17711.org