SAService Architect Back to designer
SAService ArchitectDocumentation
Python DSL reference <project>/project + services + pipelines + connectors + endpoints + types

Modular 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 Project first.
  • 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/Project

Root settings and repository identity.

services/<service>/service.pyService

Service settings, Pipeline objects, and cross-pipeline connections.

services/<service>/pipelines/Stream graph

Concrete typed streams and pipeline-local connections.

connectors/ and endpoints/Integration

Connector configuration and endpoint declarations.

types/, modules/, pools/, packages/Shared model

Types 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