SAService Architect Back to designer
SAService ArchitectDocumentation
Python DSL reference Python objects -> Service Architect YAML -> generated project

Python DSL overview

A typed authoring layer for the same topology consumed by the designer and ServiceGen.

When to use

Use Python when composition, reuse, enums, object references, and code-level validation are more convenient than editing YAML directly.

Behavior

  • Python is an authoring representation; YAML remains the stable Service Architect interchange contract.
  • Services, streams, connectors, endpoints, types, pools, modules, packages, and functions are represented by objects instead of repeated string references.
  • Factories expose only properties supported by that concrete entity type.
  • The same Project can emit YAML, create a designer-compatible JSON payload, or request a generated ZIP project.

Authoring workflow

Resources properties

Package and source locations.

PropertyTypeDescription
RepositoryGitHub

https://github.com/gorundebug/sa-python-dsl

Python>= 3.11

Minimum supported interpreter version.

Runtime dependencyPyYAML >= 6, < 7

YAML parsing and serialization.

Python example

from sa_dsl import Project

project = Project(
    "Orders",
    module_version="v1.0.0",
    repo_path="github.com/example/orders",
)