Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Solution Application Framework - SAF Desktop Installer

Python PyPI GH-CI Codecov Apache Ruff

Overview

The SAF Desktop Installer enables packaging SAF-based solutions into standalone, distributable installers for desktop deployment. It is part of the Solution Application Framework (SAF) toolchain and is typically invoked through the saf build command provided by the SAF CLI.

The generated installer is self-contained: it bundles the solution code, all Python dependencies, and the Python interpreter itself, so end users can run the solution without needing a pre-configured development environment. Ansys products and other external tools required by the solution must still be installed separately on the target machine.

Key capabilities include:

  • Standalone packaging: Uses PyInstaller to produce a single installer that includes all necessary dependencies and a Python interpreter.

  • Cross-platform support: Generates installers compatible with the operating system where the build is executed (Windows .exe or Linux executable).

  • Online and offline modes: By default, installers download dependencies at install time; the --offline-package option bundles everything for environments without internet access.

  • Customizable build options: Supports encryption, code obfuscation, custom entry points, and configurable Python versions.

  • Documentation embedding: Automatically builds and embeds Sphinx documentation so users can access it offline from within the solution.

From a workflow perspective, SAF Desktop Installer is the final step in preparing a solution for distribution. Once a solution has been developed and tested locally using SAF CLI and SAF Desktop Orchestrator, the installer packages it into a form that can be delivered to end users or deployed across an organization.

Installation

Ensure you have all the necessary prerequisites.

To install SAF Desktop Installer, run:

pip install ansys-saf-desktop-installer

Documentation

Visit the official documentation for detailed information on how to use SAF Desktop Installer.

Troubleshooting

For troubleshooting or reporting issues, please open an issue in the project repository.

Please follow these steps to report an issue:

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

Contribute

Contributions are welcome! If you would like to contribute, please follow the guidelines provided in the Contribute section of the official documentation.

License

You can find the full text of the license in the LICENSE file.

Changelog

The changelog section provides a summary of notable changes for each version of SAF Desktop Installer 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-installer 1.19.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ansys-saf-desktop-installer 1.19.dev0
File Size Uploaded
ansys_saf_desktop_installer-1.19.dev0.tar.gz 132.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ansys-saf-desktop-installer 1.19.dev0
File Interpreter ABI Platform
ansys_saf_desktop_installer-1.19.dev0-py3-none-any.whl Python 3 none any Details

Total release size: 275.7 kB

Release files / ansys_saf_desktop_installer-1.19.dev0.tar.gz

Download URL ansys_saf_desktop_installer-1.19.dev0.tar.gz
Size 132.4 kB
Tags Source
SHA-256 checksum
How to use checksums
921c0840e23a72ab280c6b0f80f80897957b8248c4a7400e01238f8e70c248ce
BLAKE2b-256 checksum
How to use checksums
0cafc7675a3efb2ec653b82f32ffc42f7a306106f92e472fa45ec64bb862349a
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 Oct 15, 2026.

Transparency log

Release files / ansys_saf_desktop_installer-1.19.dev0-py3-none-any.whl

Download URL ansys_saf_desktop_installer-1.19.dev0-py3-none-any.whl
Size 143.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20b74f0a17b3f41f785e84f5735c3f101f57d394782206b7bfffbc8d2ecbdeae
BLAKE2b-256 checksum
How to use checksums
60b067b759f46a4f47619a1481c806725b8b58a07daaa989f668c49c1dd302c8
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 Oct 15, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page