Developers
Documentation
Everything you need to integrate eomer.ai's forecasting engine into your data pipeline.
Getting Started
eomer-forecasting is a production-grade time series forecasting engine for production-grade time series forecasting. It supports local, parallel, and cloud execution backends.
Installation
Installbash
# Core install
pip install -e .
# With parallel execution support
pip install -e ".[parallel]"
# With S3 support
pip install -e ".[s3]"
# With API server
pip install -e ".[api]"
# Everything (dev included)
pip install -e ".[all]"Run Your First Forecast
The fastest way to get started is with the CLI. Create a YAML config file (or use one of the examples) and run:
CLIbash
# Zero-shot univariate forecasting
eomer run configs/example_local_univariate.yaml
# Forecasting with covariates
eomer run configs/example_local_covariates.yaml
# With parallel execution
eomer run configs/example_parallel.yaml
# Validate config without running inference
eomer validate configs/example_local_univariate.yamlPython API
Pythonpython
from eomer_forecasting.pipeline.runner import PipelineRunner
runner = PipelineRunner()
result = runner.run("configs/example_local_univariate.yaml")
print(f"Forecasted {result.forecasts[0].num_items} items")
print(f"Elapsed: {result.total_elapsed:.1f}s")HTTP API
Start the API server and submit forecasting jobs via REST:
API Serverbash
# Start the server
uvicorn eomer_forecasting.api.app:app --host 0.0.0.0 --port 8000
# Submit a forecast
curl -X POST http://localhost:8000/forecast \
-H "Content-Type: application/json" \
-d '{"config_path": "configs/example_local_univariate.yaml"}'Architecture
The pipeline follows a four-stage architecture with a pluggable runtime executor:
Pipeline Architecturetext
Ingestion ──> Preparation ──> Inference ──> Output
(CSV/XLSX/S3) (Validate, (eomer (CSV/Parquet,
Transform forecasting Local/S3)
-> TSDF) engine)
│
┌─────────┴─────────┐
│ Runtime Executor │
│ │
│ local │ parallel │ │
│ cloud │
└────────────────────┘