Solution Application Framework (SAF) Desktop Orchestrator
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz.
File metadata
- Download URL: ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz
- Upload date:
- Size: 53.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97faac2dfedbe3b0aa4c9bb835fecd65a70e480c7b097fb8cfbde8a16b3741a6
|
|
| MD5 |
5ba19f6309e905aeb4a9a77adbd0df44
|
|
| BLAKE2b-256 |
ca3d1db8a282f9f733a54de91889933534d485c38cff4ef8f018814d39734095
|
Provenance
The following attestation bundles were made for ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz:
Publisher:
ci_cd_release.yml on ansys/saf-desktop-orchestrator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz -
Subject digest:
97faac2dfedbe3b0aa4c9bb835fecd65a70e480c7b097fb8cfbde8a16b3741a6 - Sigstore transparency entry: 1908380478
- Sigstore integration time:
-
Permalink:
ansys/saf-desktop-orchestrator@e6e886b7c945aded8d84ea26b14f15039d0fe634 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ansys
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd_release.yml@e6e886b7c945aded8d84ea26b14f15039d0fe634 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ansys_saf_desktop_orchestrator-1.12.dev0-py3-none-any.whl.
File metadata
- Download URL: ansys_saf_desktop_orchestrator-1.12.dev0-py3-none-any.whl
- Upload date:
- Size: 73.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d17dad6156fc0e32bbbd99a3a40929b23d558ee57e82823c6ecbbfe0242f830
|
|
| MD5 |
8d6f011ae88408f5bb1ec9881b268a2b
|
|
| BLAKE2b-256 |
5b627f1ef60bf55868ff4e98d7572d706e4a6d29d904f4b974e757713b6c7c12
|
Provenance
The following attestation bundles were made for ansys_saf_desktop_orchestrator-1.12.dev0-py3-none-any.whl:
Publisher:
ci_cd_release.yml on ansys/saf-desktop-orchestrator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_saf_desktop_orchestrator-1.12.dev0-py3-none-any.whl -
Subject digest:
5d17dad6156fc0e32bbbd99a3a40929b23d558ee57e82823c6ecbbfe0242f830 - Sigstore transparency entry: 1908380555
- Sigstore integration time:
-
Permalink:
ansys/saf-desktop-orchestrator@e6e886b7c945aded8d84ea26b14f15039d0fe634 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ansys
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd_release.yml@e6e886b7c945aded8d84ea26b14f15039d0fe634 -
Trigger Event:
workflow_dispatch
-
Statement type: