Command line interface for developing SAF solutions from scaffolding to packaging.
Project description
Overview
SAF CLI is a command-line tool that streamlines the development, management, and packaging of SAF-based solutions. It provides a unified developer workflow for common SAF tasks such as scaffolding new solutions, installing and managing solution environments, running solutions locally, executing commands in the correct Python environment, building distributable installers, archiving solution source code, and listing registered solutions. Under the hood, it helps coordinate the tools and services involved in the SAF ecosystem so that developers can work with solutions through a consistent command set instead of stitching together manual steps.
Command |
Description |
|---|---|
new |
Scaffold a new SAF solution from a template. |
install |
Set up the solution development environment and dependencies. |
run |
Run a solution locally for development and testing. |
execute |
Run arbitrary commands in the solution Python environment. |
build |
Build a distributable package or installer for a solution. |
add-step |
Add a new step to an existing SAF solution. |
archive |
Archive a solution source tree into a distributable bundle. |
solutions |
List the solutions registered in the SAF solution database. |
doc |
Open the SAF CLI documentation. |
The CLI is designed to improve developer productivity and solution consistency across the full solution lifecycle. It reduces setup friction for new projects, lowers the amount of custom scripting teams need to maintain, and makes local development, packaging, and delivery more repeatable.
Installation
Ensure you have all the necessary prerequisites. Then, refer to the installation guidelines for detailed instructions on how to install the project on your system.
Documentation
The official documentation of SAF CLI 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.
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.
Using GitHub Copilot for Development
This repository includes a Copilot instructions file that provides AI-assisted development guidance. When working on SAF CLI 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 for CLI commands, configuration management, and integrations.
The instructions emphasize type hints, Google-style 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 CLI project. [Describe your task]. Please follow the project’s Copilot instructions, including using Click for CLI commands, type hints, Google-style docstrings, and the existing modular structure in src/ansys/saf/cli/. Ensure the code integrates with the existing modules and includes appropriate error handling.”
This prompt helps ensure Copilot generates code that aligns with SAF CLI’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 CLI 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_cli-4.1.dev0.tar.gz.
File metadata
- Download URL: ansys_saf_cli-4.1.dev0.tar.gz
- Upload date:
- Size: 583.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 |
f431b8d0f9f141f4e5e0350ee826d156244f7c3f84bedfe1a9b9925c2e6c2013
|
|
| MD5 |
f0e93338123be43b32bad0b1d70cfb32
|
|
| BLAKE2b-256 |
08ba594f97e68464d155fd3b520e8043d12706b54876c41f093431b11ce99364
|
Provenance
The following attestation bundles were made for ansys_saf_cli-4.1.dev0.tar.gz:
Publisher:
ci_cd_release.yml on ansys/saf-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_saf_cli-4.1.dev0.tar.gz -
Subject digest:
f431b8d0f9f141f4e5e0350ee826d156244f7c3f84bedfe1a9b9925c2e6c2013 - Sigstore transparency entry: 1968189816
- Sigstore integration time:
-
Permalink:
ansys/saf-cli@984cf5e7ed7eb94301727113bc635574f979b458 -
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@984cf5e7ed7eb94301727113bc635574f979b458 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ansys_saf_cli-4.1.dev0-py3-none-any.whl.
File metadata
- Download URL: ansys_saf_cli-4.1.dev0-py3-none-any.whl
- Upload date:
- Size: 649.9 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 |
f309bd70cdc5c67a7c15987c9915c63bb9ee7160ca2750cff65b07d1fa226fa4
|
|
| MD5 |
5f4dacb2980340a887d5e4c3cc82651e
|
|
| BLAKE2b-256 |
fe735adea936c73dd1d7e03034d2a36dc49245e905a80531da72435fd3d56dba
|
Provenance
The following attestation bundles were made for ansys_saf_cli-4.1.dev0-py3-none-any.whl:
Publisher:
ci_cd_release.yml on ansys/saf-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_saf_cli-4.1.dev0-py3-none-any.whl -
Subject digest:
f309bd70cdc5c67a7c15987c9915c63bb9ee7160ca2750cff65b07d1fa226fa4 - Sigstore transparency entry: 1968189872
- Sigstore integration time:
-
Permalink:
ansys/saf-cli@984cf5e7ed7eb94301727113bc635574f979b458 -
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@984cf5e7ed7eb94301727113bc635574f979b458 -
Trigger Event:
workflow_dispatch
-
Statement type: