Project(name, module_version, repo_path)Project API
The root registry and entry point for every topology entity and output operation.
When to use
Create exactly one Project before declaring objects that belong to the topology.
Behavior
- Factory methods derive stable symbolic keys from names and reject duplicate declarations.
- Object references replace YAML string references while authoring.
to_document()creates the symbolic in-memory document;to_yaml()serializes it.
Construction properties
Root identity serialized under settings.
namestringHuman-readable project name.
module_versionstringFramework module/runtime version.
repo_pathstringGenerated repository/module identity.
propertiesmappingAdditional supported project settings.
Entity factories properties
Factories register and return typed objects.
module(), pool(), service()factoryCreate top-level modules, task pools, and services.
int_type(), string_type(), struct_type(), ...typed factoryCreate concrete type definitions without a free-form type discriminator.
http_connector(), grpc_connector(), kafka_connector()typed factoryCreate transport-specific connectors.
cron_connector(), temporal_connector(), custom_connector()typed factoryCreate scheduling and custom connectors.
Output methods properties
Operations performed after composition.
validate()list[Diagnostic]Return ServiceGen-compatible diagnostics.
to_document()dictReturn symbolic Service Architect data.
to_yaml()stringReturn the stable YAML representation.
generate_code()GeneratedProjectArchiveRequest a generated ZIP through the designer API.
Python example
project = Project("Orders", module_version="v1.0.0", repo_path="github.com/example/orders")
workers = project.pool("Workers", executors_count=8)
service = project.service(
"Order Service",
programming_language=ProgrammingLanguage.GO,
module_path="github.com/example/orders/orderservice",
)