Skip to main content

A Python orchestrator for Docker Compose stacks

Project description

Whaler

CI

A simple, lightweight Python orchestrator for Docker Compose stacks.

Installation

pip install -e .

CLI Reference

The whaler command executes your whalerfile.py file with the specified command and services.

whaler [command] [services...]

Commands

  • whaler up [services] - Start services (executes whalerfile.py with 'up' command)
  • whaler build [services] - Build services (executes whalerfile.py with 'build' command)
  • whaler down [services] - Stop services (executes whalerfile.py with 'down' command)

Options

  • -f, --file FILE - Path to whaler file (default: whalerfile.py)
  • -v, --version - Show version
  • -h, --help - Show help

Examples

# Execute whalerfile.py with up command
whaler up

# Build specific services
whaler build api web

# Start specific services
whaler up postgres redis

# Use custom whaler file
whaler -f custom.py up

Examples

Basic Usage

from whaler import Stack

stack = Stack("docker-compose.yml")
stack.build().up()

With Project Name

from whaler import Stack

stack = Stack(
    compose_files=["docker-compose.yml"],
    project_name="myapp",
    project_path="/path/to/project"
)

stack.build().up(wait=True)

Specific Services

from whaler import Stack

stack = Stack("docker-compose.yml")

# Build specific services
stack.build(["api", "web"])

# Start specific services
stack.up(["postgres", "redis"])

Requirements

  • Python >= 3.14
  • Docker and Docker Compose installed on the system

Development

Install development dependencies:

pip install -e ".[dev]"

Run tests:

pytest

Type checking:

mypy whaler

Linting:

ruff check whaler

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orche-0.3.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orche-0.3.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file orche-0.3.0.tar.gz.

File metadata

  • Download URL: orche-0.3.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for orche-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a10319296428f767c5e0d932875c21c27d6528ca90764e2371c3730a06bfb646
MD5 8cb4c13d3aef181831ef64da240a40f1
BLAKE2b-256 e547cc94b6c4d8779769f8740fcc67e78b225bd9efe21abba1f262aecbfb442c

See more details on using hashes here.

Provenance

The following attestation bundles were made for orche-0.3.0.tar.gz:

Publisher: release.yml on pietroagazzi/whaler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orche-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: orche-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for orche-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7575ff97ce835b229df69a6eb7db7febfa2e133b0f608bd4e5767cde24072152
MD5 6ae02c03fc16725c3cf6a59243bcbe17
BLAKE2b-256 0ba0f1c27dca28c485b8efc26c9563b7e89b2fd56e33cdbebd488357815da353

See more details on using hashes here.

Provenance

The following attestation bundles were made for orche-0.3.0-py3-none-any.whl:

Publisher: release.yml on pietroagazzi/whaler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page