Skip to main content

Generate Shenron docker-compose deployments from model config files

Project description

Shenron

Shenron now ships as a config-driven generator for production LLM docker-compose deployments.

shenron reads a model config YAML and generates:

  • docker-compose.yml
  • .generated/onwards_config.json
  • .generated/prometheus.yml
  • .generated/scouter_reporter.env
  • .generated/vllm_start.sh

Quick Start

uv pip install shenron
wget https://github.com/doublewordai/shenron/releases/download/v0.5.3/Qwen06B-cu126-TP1.yml
shenron .
docker compose up -d

shenron . expects exactly one config YAML (*.yml or *.yaml) in the current directory, unless you pass a config file path directly.

Configs

Repo configs are stored in configs/.

Current starter config:

  • configs/Qwen06B-cu126-TP1.yml

This file uses the same defaults that were previously hardcoded in docker/run_docker_compose.sh.

Generated Compose Behavior

docker-compose.yml is fully rendered from config values:

  • model image tag from shenron_version + cuda_version
  • onwards image tag from onwards_version
  • service ports from config
  • no ${SHENRON_VERSION} placeholders

Development

# Run tests (Rust + CLI + compose checks)
./scripts/ci.sh

# Install local package for manual testing
python3 -m pip install -e .

# Generate from repo config
shenron configs/Qwen06B-cu126-TP1.yml --output-dir /tmp/shenron-test

Release Automation

  • release-assets.yaml publishes stamped config files (*.yml) as release assets.
  • python-release.yaml builds/publishes the shenron package to PyPI on release tags.
  • Docker image build/push via Depot remains in ci.yaml and still triggers when docker/Dockerfile.cu* or VERSION changes.

License

MIT, see LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

shenron-0.5.3.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

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

shenron-0.5.3-cp311-cp311-manylinux_2_34_x86_64.whl (414.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

File details

Details for the file shenron-0.5.3.tar.gz.

File metadata

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

File hashes

Hashes for shenron-0.5.3.tar.gz
Algorithm Hash digest
SHA256 fa963b3e95d53e4ed8d67a91742ba7d5ddedf9c90c8e312b0f1e7d482293a03d
MD5 b6cdb2d8a269b4da957e021ca58c6bcc
BLAKE2b-256 01945000e8cb480f01ec909dbcef60f6fcc5c6fb6e4d254784fce75a49bb3831

See more details on using hashes here.

Provenance

The following attestation bundles were made for shenron-0.5.3.tar.gz:

Publisher: python-release.yaml on doublewordai/shenron

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

File details

Details for the file shenron-0.5.3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for shenron-0.5.3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4c88601b7927ca98c5693da8b6aacad913f613dec47500a7a4652649b893d6a1
MD5 f7a8744ae6d67d53798f7bff44d36edc
BLAKE2b-256 a45cb8d927ffa449fd6ed11f03d3d1e5959a7398d25c26da7420ef12119f892a

See more details on using hashes here.

Provenance

The following attestation bundles were made for shenron-0.5.3-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: python-release.yaml on doublewordai/shenron

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