Python DSL reference
<project>/project + services + pipelines + connectors + endpoints + typesModular project layout
Split a large topology into importable modules instead of maintaining one monolithic Python file.
When to use
Use this layout for product topologies with several services, pipelines, contracts, and integrations.
Behavior
- The project module creates the root
Projectfirst. - Modules, pools, types, connectors, and endpoints register reusable objects on that project.
- Each service creates its service object and named Pipeline objects before importing pipeline modules.
- Pipeline-local stream connections remain beside their stream declarations; cross-pipeline connections remain in the service module.
Recommended directories properties
Each directory owns one kind of reusable declaration.
PropertyTypeDescription
project/ProjectRoot settings and repository identity.
services/<service>/service.pyServiceService settings, Pipeline objects, and cross-pipeline connections.
services/<service>/pipelines/Stream graphConcrete typed streams and pipeline-local connections.
connectors/ and endpoints/IntegrationConnector configuration and endpoint declarations.
types/, modules/, pools/, packages/Shared modelTypes and reusable code-generation ownership objects.
Python example
processorder/
project/processorder.py
services/order_service/service.py
services/order_service/pipelines/order.py
connectors/order_service_api.py
endpoints/order_service_api.py
types/order.py
modules/model.py
pools/default.py
packages/order.py