Runtime Checklist
- Snakepit pool configured in
config/runtime.exs - Python runtime available (
python3or configured executable) PYTHONPATHincludespriv/python/examplesfor demo modules
Common Commands
mix compile
mix test
mix docs
mix slither.example --all
Common Problems
Python module not found
Symptom:
Module text_analyzer not found
Fix:
- Run through
mix slither.example ...soPYTHONPATHis set.
Missing optional Python deps
Symptoms:
- scikit-learn/Pillow import errors in optional demos.
Fix:
- Run
mix slither.example ml_scoringormix slither.example image_pipeline. - The task auto-installs required packages via Snakepit.
SnakeBridge unavailable
Symptoms:
- runtime call failures during Python stage execution.
Fix:
- Verify
SnakeBridge.ConfigHelper.configure_snakepit!/1is called in runtime config. - Ensure Python executable and venv are valid.
Observability
Slither emits telemetry spans for:
- pipe run and per-stage execution
- dispatch batch execution
- store writes/reloads
Use telemetry handlers in your app to export metrics/traces.
Production Notes
- Tune
batch_sizeandmax_in_flightby workload profile. - Use
WeightedBatchfor memory-sensitive payloads. - Prefer
on_error: :skiponly when partial success is acceptable. - Keep shared mutable state on BEAM side when possible.