Skip to main content

Solution Application Framework (SAF) Desktop Orchestrator

Project description

Python PyPI GH-CI Codecov Apache Ruff

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:

  1. GitHub Copilot will automatically reference the project structure, architecture, and development guidelines from the instructions file.

  2. The instructions cover core concepts like solution resolution, dependency groups, environment management, and code style expectations.

  3. Use Copilot to generate code that follows the established patterns, configuration management, and integrations.

  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz (53.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz.

File metadata

File hashes

Hashes for ansys_saf_desktop_orchestrator-1.12.dev0.tar.gz
Algorithm Hash digest
SHA256 97faac2dfedbe3b0aa4c9bb835fecd65a70e480c7b097fb8cfbde8a16b3741a6
MD5 5ba19f6309e905aeb4a9a77adbd0df44
BLAKE2b-256 ca3d1db8a282f9f733a54de91889933534d485c38cff4ef8f018814d39734095

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansys_saf_desktop_orchestrator-1.12.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for ansys_saf_desktop_orchestrator-1.12.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d17dad6156fc0e32bbbd99a3a40929b23d558ee57e82823c6ecbbfe0242f830
MD5 8d6f011ae88408f5bb1ec9881b268a2b
BLAKE2b-256 5b627f1ef60bf55868ff4e98d7572d706e4a6d29d904f4b974e757713b6c7c12

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page