Metadata-Version: 2.4
Name: podlet-compose
Version: 0.2.0
Summary: A thin wrapper around podlet that acts as a drop-in for docker/podman-compose
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich
Requires-Dist: ruamel.yaml
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-timeout; extra == "dev"
Dynamic: license-file

# podlet-compose

A thin wrapper around [podlet](https://github.com/containers/podlet) that acts as a drop-in replacement for `docker-compose` / `podman-compose`. It uses podlet to generate systemd quadlet service files from a `compose.yaml` and manages them via `systemctl`.

**Disclaimer** - This is currently only a **PROOF OF CONCEPT**. It has not been used in production and I do not recommend doing so.

## Quick Start

```bash
# Install
pip3 install https://github.com/bryce-hoehn/podlet-compose/archive/main.tar.gz
```

See [Installation](https://github.com/bryce-hoehn/podlet-compose/wiki/Installation) for more installation options.
## Usage

```
Usage: podlet-compose [OPTIONS] COMMAND

Generate systemd quadlet files from compose.yaml and manage services via systemctl.

Options:
      --dry-run        Print commands without executing
  -f, --file           Compose configuration files
  -h, --help           Print help information
  -p, --project-name   Specify an alternate project name

Commands:
  up                   Create and start containers
  down                 Stop and remove containers
  restart              Restart service containers
  start                Start services
  stop                 Stop services
  build                Build or rebuild services
  pull                 Pull service images
  ps                   List containers
  logs                 View output from containers
  top                  Display running processes
  images               List images
  port                 Print the public port for a port binding
  config               Validate and view compose config
  convert              Preview quadlet files
  version              Show version information
```

## Requirements

- [podlet](https://github.com/containers/podlet) — generates quadlet files from compose configs
- [podman](https://podman.io/) — container runtime
- Python 3.10+
- [rich](https://pypi.org/project/rich/)
- [ruamel.yaml](https://pypi.org/project/ruamel.yaml/)

## Documentation

Full documentation is available in the [GitHub Wiki](https://github.com/bryce-hoehn/podlet-compose/wiki):

- **[Installation](https://github.com/bryce-hoehn/podlet-compose/wiki/Installation)** — Pip, PyInstaller binary, Nix, and podman compose provider setup
- **[Commands](https://github.com/bryce-hoehn/podlet-compose/wiki/Commands)** — Full command reference
- **[How It Works](https://github.com/bryce-hoehn/podlet-compose/wiki/How-It-Works)** — Technical architecture and internals
- **[Limitations](https://github.com/bryce-hoehn/podlet-compose/wiki/Limitations)** — Known limitations

## License

GNU General Public License v3.0
