Installation:
git clone https://github.com/afifi-yusuf/warply.git
cd warply
pip install -e ".[dev]"
Local GPU-free lifecycle test:
import warply as wp
engine = wp.DisaggEngine(
model="meta-llama/Llama-3.1-8B",
prefill=wp.Pool("1xH100", replicas=1),
decode=wp.Pool("1xH100", replicas=1),
backend="sglang",
kv_transfer="nixl",
cloud="local",
)
engine.up()
print(engine.generate("hello"))
print(engine.status())
print(engine.stats())
print(engine.events())
print(wp.doctor(engine).to_dict())
engine.down()
Cloud Dry-Run:
Set WARPLY_SKYPILOT_DRY_RUN=1 to test without GPU/cloud costs:
WARPLY_SKYPILOT_DRY_RUN=1 python - <<'PY'
import warply as wp
engine = wp.DisaggEngine(
model="meta-llama/Llama-3.1-8B",
prefill=wp.Pool("1xH100", replicas=1),
decode=wp.Pool("1xH100", replicas=2),
cloud="lambda",
)
engine.up()
print(engine.status().endpoint)
engine.down()
PY
Offline Pre-check:
Use wp.doctor() to check compatibility:
report = wp.doctor(engine)
print(report.overall, report.ready)
lambda_dry_run = wp.doctor(
wp.DisaggEngine(
model="meta-llama/Llama-3.1-8B",
prefill=wp.Pool("1xH100"),
decode=wp.Pool("1xH100", replicas=2),
cloud="lambda",
),
dry_run=True,
)
print(lambda_dry_run.to_dict())