SAService Architect Back to designer
SAService ArchitectDocumentation
Python DSL reference Project page -> Python DSL

Python DSL in Designer

Edit a complete modular Python topology project directly in the browser without a Python server.

When to use

Open the Python DSL tab when typed declarations are easier to review or modify than graph forms or canonical YAML.

Behavior

  • Designer converts the current graph YAML into a modular Python project in a Web Worker.
  • Pyodide loads the vendored sa-python-dsl wheel and executes conversion entirely in the browser.
  • The file tree contains project settings, packages, modules, pools, types, connectors, endpoints, services, and pipeline files.
  • Selecting a canonical example rebuilds its Python workspace and replaces an older autosaved draft for that example.
  • Edits are autosaved in browser local storage and remain separate for each normalized project name.
  • The project menu can download the current Python files as a ZIP archive without calling backend infrastructure.

Browser conversion flow

Workspace actions properties

Controls shown in the Python DSL tab and project menu.

PropertyTypeDescription
Apply to Graphvalidate and merge

Execute the Python entrypoint, produce YAML, and apply reviewed model changes.

Reset from Graphdestructive rebuild

Regenerate managed Python files from the current graph after confirmation.

Save / Save Asbrowser project storage

Store canonical YAML together with the current Python workspace.

Download Python projectclient-side ZIP

Archive all current Python files in the browser.

Generate projectbackend ZIP

Generate target-runtime source, build, Docker, and Kubernetes assets through ServiceGen.

Managed workspace shape

<project_package>/
  project/
  packages/
  modules/
  pools/
  types/
  connectors/
  endpoints/
  services/<service>/pipelines/
  main.py