Solution Application Framework - Desktop Orchestrator
Overview
The SAF Desktop Orchestrator is the central controller for running SAF-based solutions in standalone desktop environments. It is responsible for starting, health-checking, and shutting down all the services that a solution needs to run on a user’s local machine.
When a solution is launched, the orchestrator coordinates the startup of the following components in a controlled sequence:
Solution API: The backend service derived from the solution that exposes project data and transaction methods.
Solution UI: The front-end displayed in a native window (via pywebview) or in an external browser.
Portal: A UI for creating and managing projects within a solution.
OTEL Dashboard: A web dashboard for viewing logs and traces from the various services.
PIM Light Server: A lightweight server that creates product instances in isolated environments, separate from the method execution environment.
Additional services: Other stateless or custom services defined by the solution.
The orchestrator also manages health checks to ensure each service is ready before the solution UI is displayed, and it handles graceful shutdown when the user closes the application.
Documentation
The official documentation of SAF Desktop Orchestrator for Python contains the following chapters:
Getting started. This section provides a brief overview and instructions on how to get started with the project. It typically includes information on how to install the project, set up any necessary dependencies, and run a basic example or test to ensure everything is functioning correctly.
User guide. The user guide section offers detailed documentation and instructions on how to use the project. It provides comprehensive explanations of the project’s features, functionalities, and configuration options. The user guide aims to help users understand the project’s concepts, best practices, and recommended workflows.
Contribute. This section provides guidelines and instructions on how to contribute to the project. It includes information on how to set up the development environment, run tests, submit pull requests, and follow contribution guidelines.
Troubleshooting
For troubleshooting or reporting issues, please open an issue in the project repository.
Go to the project repository.
Click on the Issues tab.
Click on the New Issue button.
Provide a clear and detailed description of the issue you are facing.
Include any relevant error messages, code snippets, or screenshots.
Additionally, you can refer to the official documentation for additional resources and troubleshooting guides.
Using GitHub Copilot for Development
This repository includes a Copilot instructions file that provides AI-assisted development guidance. When working on SAF Desktop Orchestrator enhancements or bug fixes:
GitHub Copilot will automatically reference the project structure, architecture, and development guidelines from the instructions file.
The instructions cover core concepts like solution resolution, dependency groups, environment management, and code style expectations.
Use Copilot to generate code that follows the established patterns, configuration management, and integrations.
The instructions emphasize type hints, numpydoc docstrings, and the modular structure of the codebase.
This helps ensure consistency across contributions and speeds up development workflows.
Suggested Copilot Prompt:
When starting a new feature or fix, you can use a prompt like this to guide Copilot:
“I’m working on the SAF Desktop Orchestrator project. [Describe your task]. Please follow the project’s Copilot instructions, type hints, numpydoc docstrings, and the existing modular structure in src/ansys/saf/desktop/orchestrator/. Ensure the code integrates with the existing modules and includes appropriate error handling.”
This prompt helps ensure Copilot generates code that aligns with SAF Desktop Orchestrator’s architecture and standards.
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Changelog
The changelog section provides a summary of notable changes for each version of SAF Desktop Orchestrator for Python. It helps you keep track of updates, bug fixes, new features, and improvements made to the project over time.
To view the complete changelog, visit the project repository and navigate to the CHANGELOG file. It provides a comprehensive list of changes categorized by version, along with brief descriptions of each change.
Metadata
Release files for ansys-saf-desktop-orchestrator 1.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ansys_saf_desktop_orchestrator-1.14.0.tar.gz | 54.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ansys_saf_desktop_orchestrator-1.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.5 kB
Release files / ansys_saf_desktop_orchestrator-1.14.0.tar.gz
| Download URL | ansys_saf_desktop_orchestrator-1.14.0.tar.gz |
|---|---|
| Size | 54.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7881d9d20913c59e42a8d2d691a525df44443f67a5bac0ce6ff84325688a8b5c
|
|
BLAKE2b-256 checksum How to use checksums |
c7cfe9d61f09cdbc813f788c5ce9869b55f728c3b48d2c08ff0ae655d8599f95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / ansys_saf_desktop_orchestrator-1.14.0-py3-none-any.whl
| Download URL | ansys_saf_desktop_orchestrator-1.14.0-py3-none-any.whl |
|---|---|
| Size | 74.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4517fe12d3efed8cea5f74384e25a83c7dbecebc357dce8d9d767c68cdb5780
|
|
BLAKE2b-256 checksum How to use checksums |
81fd0c7fa804cd16c8f9773b7af6abeda54d7e0f0bfdc9f4fa7f7916a957087e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency log