CLI Reference¶
agora new¶
Scaffold a new project:
agora new <project-name>
Creates the following layout:
<project-name>/
├── pyproject.toml
├── agora.toml
├── agora.env.example
├── src/
│ ├── settings.py
│ ├── pipelines/
│ │ ├── __init__.py
│ │ └── example.py
│ ├── models/
│ │ └── __init__.py
│ ├── normalizers/
│ │ └── __init__.py
│ └── sinks/
│ └── __init__.py
└── tests/
└── test_example.py
agora run¶
Run a pipeline once:
agora run pipelines.example
agora run pipelines.example --max-records 1000
agora run --config pipelines.toml
agora run --config pipelines.toml --plan
agora run --config pipelines.toml --environment prod
agora run adds cwd and cwd/src to sys.path before importing the module.
With declarative configs, AGORA_ENV can supply the default environment overlay:
AGORA_ENV=production agora run --config pipelines.toml
When used with --config, Agora expects an agora/v1 TOML document.
agora worker¶
Start the WorkerPool from a worker.py module:
agora worker
agora worker --module pipelines.worker # custom module path
agora worker --list # list registered pipelines
agora worker --health-auth-token <token> # override health auth token
The module must define get_worker() -> WorkerPool.
agora pipelines¶
List all pipeline modules found under src/pipelines/:
agora pipelines list
agora plugins¶
List registered sources, sinks, and middlewares:
agora plugins list
agora plugins list --kind sink
agora plugins list --json
agora plugins list is a diagnostics view, not a package installer. Incompatible
entry-point plugins may appear with an incompatible status so you can see why
Agora did not load them.
agora config¶
Show the resolved settings for the current project:
agora config show
Reads from src/settings.py which must define get_settings() -> AgoraSettings.
Common local workflow¶
agora new my-project
cd my-project
agora run pipelines.example --dry-run
agora pipelines list
agora config show
agora dlq¶
Replay dead-letter queue records using a declarative pipeline config:
agora dlq replay --config pipelines.toml
agora dlq replay --config pipelines.toml orders --stage sink_write
agora dlq replay --config pipelines.toml --mode sink
agora dlq replay --config pipelines.toml --limit 50
Replay modes:
--mode pipelinereplays the original payload back through the middleware chain--mode sinkre-drives only the sink writer path using the processed payload
--mode sink only supports DLQ records captured at stage sink_write.
agora version¶
Print the installed agora-etl version:
agora version
Project layout conventions¶
agora run and agora worker expect:
my_project/
├── src/
│ ├── pipelines/ # agora pipelines list scans here
│ │ └── my_pipeline.py
│ └── settings.py # agora config show imports get_settings()
└── worker.py # agora worker imports get_worker()
Both cwd and cwd/src are added to sys.path automatically.
Trust boundary¶
agora run, agora worker, and agora dlq replay import Python modules from
the current project. Config files may also resolve import = "module:name"
references. Treat project code and config as trusted input.