ansys-saf-cli 4.1.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ansys/saf/cli/__init__.py +15 -0
- ansys/saf/cli/_cli/__init__.py +15 -0
- ansys/saf/cli/_cli/main.py +816 -0
- ansys/saf/cli/_cli/py.typed +0 -0
- ansys/saf/cli/_config/__init__.py +15 -0
- ansys/saf/cli/_config/const.py +45 -0
- ansys/saf/cli/_config/py.typed +0 -0
- ansys/saf/cli/_database/__init__.py +15 -0
- ansys/saf/cli/_database/manager.py +94 -0
- ansys/saf/cli/_database/models.py +53 -0
- ansys/saf/cli/_database/py.typed +0 -0
- ansys/saf/cli/_solutions/__init__.py +15 -0
- ansys/saf/cli/_solutions/add_step.py +256 -0
- ansys/saf/cli/_solutions/dependencies.py +162 -0
- ansys/saf/cli/_solutions/environment.py +1145 -0
- ansys/saf/cli/_solutions/plugins.py +254 -0
- ansys/saf/cli/_solutions/py.typed +0 -0
- ansys/saf/cli/_solutions/scaffolding.py +73 -0
- ansys/saf/cli/_solutions/templates/__init__.py +15 -0
- ansys/saf/cli/_solutions/templates/py.typed +0 -0
- ansys/saf/cli/_solutions/templates/solution/cookiecutter.json +18 -0
- ansys/saf/cli/_solutions/templates/solution/hooks/post_gen_project.py +54 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.codespell.ignore +2 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.devcontainer/devcontainer.json +26 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.env +5 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.flake8 +8 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.github/labeler.yml +9 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.github/labels.yml +27 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.github/workflows/build-release.yml +175 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.github/workflows/label.yml +89 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.gitignore +137 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.pre-commit-config.yaml +48 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.release-please-manifest.json +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.reuse/templates/copyright.jinja2 +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.vscode/extensions.json +8 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.vscode/launch.json +28 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/AUTHORS +12 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/CHANGELOG.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/CODEOWNERS +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/CODE_OF_CONDUCT.md +65 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/CONTRIBUTING.md +2 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/CONTRIBUTORS.md +9 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/LICENSE.rst +41 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/README.md +69 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/Dockerfile +43 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/README.md +13 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/distributed-deployment-template/.env +27 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/distributed-deployment-template/compose.yaml +132 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/standalone/.env +20 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/standalone/compose.yaml +118 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/standalone-with-hps/.env +28 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/standalone-with-hps/compose.yaml +146 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/standalone-with-minerva/.env +25 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/deployments/standalone-with-minerva/compose.yaml +122 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/.vale.ini +28 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/Makefile +30 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/changelog.d/changelog_template.jinja +17 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/make.bat +46 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/_static/css/custom.css +8 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/_static/images/repository-banner.png +0 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/_templates/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/changelog.rst +12 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/conf.py +253 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/examples.rst +8 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/getting_started/desktop_installation.rst +165 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/getting_started/docker_installation.rst +68 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/index.rst +51 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/source/user_guide/index.rst +6 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/styles/config/vocabularies/ANSYS/accept.txt +5 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/doc/styles/config/vocabularies/ANSYS/reject.txt +0 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/examples/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/lock_files/dash/poetry.lock +7621 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/lock_files/no_ui/poetry.lock +7173 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/minerva/cli/README.md +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/minerva/oauth/App_Data/Certificates/README.md +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/minerva/oauth/oauth.config +9 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/pyproject.toml +192 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/release-please-config.json +9 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/sonar-project.properties +12 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/__init__.py +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/main.py +19 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/portal_assets/application.svg +36 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/portal_assets/description.json +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/portal_assets/project.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/solution/definition.py +24 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/solution/first_step.py +34 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/solution/method_assets/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/solution/scripts/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/solution/scripts/assets/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/solution/second_step.py +12 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/app.py +30 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/css/all.css +9 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/css/bootstrap.min.css +6 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/css/style.css +47 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/carbon--ibm-engineering-workflow-mgmt.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/carbon--return.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/game-icons--crossed-air-flows.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/material-symbols--home.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/radix-icons--moon.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/radix-icons--sun.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/streamline--startup-solid.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/dark/teenyicons--doc-solid.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/carbon--ibm-engineering-workflow-mgmt.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/carbon--return.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/game-icons--crossed-air-flows.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/material-symbols--home.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/radix-icons--moon.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/radix-icons--sun.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/streamline--startup-solid.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/icons/light/teenyicons--doc-solid.svg +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/images/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/images/workflow-placeholder.png +0 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/installer/README.md +5 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/logos/dark/placeholder_logo.png +0 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/logos/light/placeholder_logo.png +0 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/orchestrator/README.md +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/pywebview/README.md +3 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/assets/scripts/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/components/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/pages/about_page.py +71 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/pages/first_page.py +147 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/pages/page.py +367 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/src/{{ cookiecutter.__solution_namespace_path }}/{{cookiecutter.__solution_module_name}}/ui/pages/second_page.py +32 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/tests/common_test_files/README.md +1 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/tests/conftest.py +37 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/tests/unit/test_solution_api.py +42 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/tests/unit/test_solution_ui.py +30 -0
- ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/tox.ini +56 -0
- ansys/saf/cli/_utilities/__init__.py +15 -0
- ansys/saf/cli/_utilities/archiver.py +67 -0
- ansys/saf/cli/_utilities/backup.py +181 -0
- ansys/saf/cli/_utilities/conversion.py +64 -0
- ansys/saf/cli/_utilities/platform.py +26 -0
- ansys/saf/cli/_utilities/py.typed +0 -0
- ansys/saf/cli/_utilities/solution_modules.py +173 -0
- ansys/saf/cli/integrations/solutions_manager.py +64 -0
- ansys/saf/cli/py.typed +0 -0
- ansys_saf_cli-4.1.dev0.dist-info/METADATA +201 -0
- ansys_saf_cli-4.1.dev0.dist-info/RECORD +143 -0
- ansys_saf_cli-4.1.dev0.dist-info/WHEEL +4 -0
- ansys_saf_cli-4.1.dev0.dist-info/entry_points.txt +3 -0
- ansys_saf_cli-4.1.dev0.dist-info/licenses/AUTHORS +12 -0
- ansys_saf_cli-4.1.dev0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
name: build and release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- main
|
|
10
|
+
types: [opened, reopened, synchronize, ready_for_review]
|
|
11
|
+
release:
|
|
12
|
+
types: [published]
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
env:
|
|
16
|
+
MAIN_PYTHON_VERSION: "3.12"
|
|
17
|
+
POETRY_VERSION: "2.3.2"
|
|
18
|
+
DOCUMENTATION_CNAME: "" # Replace with the CNAME of the documentation
|
|
19
|
+
WHEEL: "{{ cookiecutter.__solution_name }}"
|
|
20
|
+
HTML_DOCUMENTATION_ARTIFACT: "{{ cookiecutter.__solution_name }}-documentation"
|
|
21
|
+
|
|
22
|
+
concurrency:
|
|
23
|
+
group: {{ "${{ github.workflow }}-${{ github.ref }}" }}
|
|
24
|
+
cancel-in-progress: true
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
check-code-style:
|
|
28
|
+
name: Check code style
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
timeout-minutes: 10
|
|
31
|
+
steps:
|
|
32
|
+
- name: Check code style
|
|
33
|
+
uses: ansys/actions/code-style@v10
|
|
34
|
+
with:
|
|
35
|
+
python-version: {{ "${{ env.MAIN_PYTHON_VERSION }}" }}
|
|
36
|
+
|
|
37
|
+
{% if cookiecutter.__ui_framework != "none" %}
|
|
38
|
+
build:
|
|
39
|
+
name: Build
|
|
40
|
+
runs-on: windows-latest
|
|
41
|
+
env:
|
|
42
|
+
# Workaround for Python toolset mismatch on windows-2025:
|
|
43
|
+
# Python's PCbuild conditionally tries to use v140 (VS 2015 toolset) when
|
|
44
|
+
# PlatformToolset is empty. However, v140 is not available on windows-2025
|
|
45
|
+
# (which has VS 2022 Enterprise), causing an MSB8020 build error.
|
|
46
|
+
# By pre-setting PlatformToolset to v143 here, the conditional check sees a
|
|
47
|
+
# non-empty value and skips the v140 assignment, using v143 instead.
|
|
48
|
+
PlatformToolset: "v143"
|
|
49
|
+
steps:
|
|
50
|
+
- name: Enable long paths
|
|
51
|
+
shell: bash
|
|
52
|
+
run: git config --global core.longpaths true
|
|
53
|
+
|
|
54
|
+
- name: Build
|
|
55
|
+
uses: ansys/saf-devops/saf-build@v1
|
|
56
|
+
with:
|
|
57
|
+
python-version: {{ "${{ env.MAIN_PYTHON_VERSION }}" }}
|
|
58
|
+
poetry-version: {{ "${{ env.POETRY_VERSION }}" }}
|
|
59
|
+
dependencies-source: "build-system"
|
|
60
|
+
artifact-name: {{ "${{ env.WHEEL }}-${{ runner.os }}" }}
|
|
61
|
+
build-result: executable
|
|
62
|
+
{% endif %}
|
|
63
|
+
|
|
64
|
+
run-tests:
|
|
65
|
+
name: Run tests
|
|
66
|
+
runs-on: windows-latest
|
|
67
|
+
timeout-minutes: 20
|
|
68
|
+
strategy:
|
|
69
|
+
matrix:
|
|
70
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
71
|
+
fail-fast: false
|
|
72
|
+
env:
|
|
73
|
+
# Workaround for Python toolset mismatch on windows-2025:
|
|
74
|
+
# Python's PCbuild conditionally tries to use v140 (VS 2015 toolset) when
|
|
75
|
+
# PlatformToolset is empty. However, v140 is not available on windows-2025
|
|
76
|
+
# (which has VS 2022 Enterprise), causing an MSB8020 build error.
|
|
77
|
+
# By pre-setting PlatformToolset to v143 here, the conditional check sees a
|
|
78
|
+
# non-empty value and skips the v140 assignment, using v143 instead.
|
|
79
|
+
PlatformToolset: "v143"
|
|
80
|
+
steps:
|
|
81
|
+
- name: Run tests
|
|
82
|
+
uses: ansys/actions/tests-pytest@v10
|
|
83
|
+
with:
|
|
84
|
+
python-version: {{ "${{ matrix.python-version }}" }}
|
|
85
|
+
{% if cookiecutter.__ui_framework != "none" %}
|
|
86
|
+
optional-dependencies-name: "tests,ui"
|
|
87
|
+
{% else %}
|
|
88
|
+
optional-dependencies-name: "tests"
|
|
89
|
+
{% endif %}
|
|
90
|
+
|
|
91
|
+
check-licenses:
|
|
92
|
+
if: |
|
|
93
|
+
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
|
|
94
|
+
github.event_name == 'workflow_dispatch'
|
|
95
|
+
runs-on: ubuntu-latest
|
|
96
|
+
steps:
|
|
97
|
+
- name: Checkout repository
|
|
98
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
99
|
+
with:
|
|
100
|
+
persist-credentials: false
|
|
101
|
+
|
|
102
|
+
- name: Prepare python environment of the solution
|
|
103
|
+
id: python-setup
|
|
104
|
+
uses: ansys/saf-devops/prepare-python-environment@v1
|
|
105
|
+
with:
|
|
106
|
+
python-version: {{ "${{ env.MAIN_PYTHON_VERSION }}" }}
|
|
107
|
+
poetry-version: {{ "${{ env.POETRY_VERSION }}" }}
|
|
108
|
+
python-project-path: "."
|
|
109
|
+
poetry-install-args: "--all-extras"
|
|
110
|
+
|
|
111
|
+
- name: Check licenses
|
|
112
|
+
uses: ansys/actions/check-licenses@73fa84c704bb6691f254cfe4d4b928c338b0d4da # v10.3.0
|
|
113
|
+
with:
|
|
114
|
+
checkout: false
|
|
115
|
+
python-version: {{ "${{ env.MAIN_PYTHON_VERSION }}" }}
|
|
116
|
+
target: "all"
|
|
117
|
+
skip-install: true
|
|
118
|
+
activate-venv: "source {{ "${{ steps.python-setup.outputs.venv-exe-location }}" }}/activate"
|
|
119
|
+
use-uv: false
|
|
120
|
+
|
|
121
|
+
check-doc-style:
|
|
122
|
+
name: Check documentation style
|
|
123
|
+
runs-on: ubuntu-latest
|
|
124
|
+
timeout-minutes: 10
|
|
125
|
+
steps:
|
|
126
|
+
- name: Check documentation style
|
|
127
|
+
uses: ansys/actions/doc-style@v10
|
|
128
|
+
with:
|
|
129
|
+
token: {{ "${{ github.token }}" }}
|
|
130
|
+
files: "doc"
|
|
131
|
+
|
|
132
|
+
build-doc:
|
|
133
|
+
name: Build documentation
|
|
134
|
+
runs-on: ubuntu-latest
|
|
135
|
+
needs: check-doc-style
|
|
136
|
+
timeout-minutes: 10
|
|
137
|
+
steps:
|
|
138
|
+
- name: Build documentation
|
|
139
|
+
uses: ansys/actions/doc-build@v10
|
|
140
|
+
with:
|
|
141
|
+
python-version: {{ "${{ env.MAIN_PYTHON_VERSION }}" }}
|
|
142
|
+
check-links: true
|
|
143
|
+
optional-dependencies-name: ''
|
|
144
|
+
group-dependencies-name: 'doc'
|
|
145
|
+
uploaded-artifact-name-prefix: {{ "${{ env.HTML_DOCUMENTATION_ARTIFACT }}" }}
|
|
146
|
+
env:
|
|
147
|
+
REPOSITORY_NAME: {{ "${{ github.repository }}" }}
|
|
148
|
+
|
|
149
|
+
doc-deploy-dev:
|
|
150
|
+
name: "Deploy development documentation"
|
|
151
|
+
# Deploy development only when merging or pushing to the 'main' branch
|
|
152
|
+
if: github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/v')
|
|
153
|
+
runs-on: ubuntu-latest
|
|
154
|
+
needs: build-doc
|
|
155
|
+
steps:
|
|
156
|
+
- if: {{ "${{ env.DOCUMENTATION_CNAME != '' }}" }}
|
|
157
|
+
uses: ansys/actions/doc-deploy-dev@v5
|
|
158
|
+
with:
|
|
159
|
+
doc-artifact-name: {{ "${{ env.HTML_DOCUMENTATION_ARTIFACT }}" }}-html
|
|
160
|
+
cname: {{ "${{ env.DOCUMENTATION_CNAME }}" }}
|
|
161
|
+
token: {{ "${{ github.token }}" }}
|
|
162
|
+
|
|
163
|
+
doc-deploy-stable:
|
|
164
|
+
name: "Deploy stable documentation"
|
|
165
|
+
if: github.event_name == 'release'
|
|
166
|
+
runs-on: ubuntu-latest
|
|
167
|
+
needs:
|
|
168
|
+
- build-doc
|
|
169
|
+
steps:
|
|
170
|
+
- if: {{ "${{ env.DOCUMENTATION_CNAME != '' }}" }}
|
|
171
|
+
uses: ansys/actions/doc-deploy-stable@v5
|
|
172
|
+
with:
|
|
173
|
+
doc-artifact-name: {{ "${{ env.HTML_DOCUMENTATION_ARTIFACT }}" }}-html
|
|
174
|
+
cname: {{ "${{ env.DOCUMENTATION_CNAME }}" }}
|
|
175
|
+
token: {{ "${{ github.token }}" }}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: Labeler
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
# opened, reopened, and synchronize are default for pull_request
|
|
5
|
+
# edited - when PR title or body is changed
|
|
6
|
+
# labeled - when labels are added to PR
|
|
7
|
+
types: [opened, reopened, synchronize, edited, labeled]
|
|
8
|
+
push:
|
|
9
|
+
branches: [ main ]
|
|
10
|
+
paths:
|
|
11
|
+
- '.github/labels.yml'
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: {{ '${{ github.workflow }}-${{ github.ref }}' }}
|
|
15
|
+
cancel-in-progress: true
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
|
|
19
|
+
label-syncer:
|
|
20
|
+
name: Syncer
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
- uses: micnncim/action-label-syncer@v1
|
|
25
|
+
env:
|
|
26
|
+
GITHUB_TOKEN: {{ '${{ secrets.GITHUB_TOKEN }}' }}
|
|
27
|
+
|
|
28
|
+
labeler:
|
|
29
|
+
name: Set labels
|
|
30
|
+
needs: [label-syncer]
|
|
31
|
+
permissions:
|
|
32
|
+
contents: read
|
|
33
|
+
pull-requests: write
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
steps:
|
|
36
|
+
|
|
37
|
+
# Label based on modified files
|
|
38
|
+
- name: Label based on changed files
|
|
39
|
+
uses: actions/labeler@v5
|
|
40
|
+
with:
|
|
41
|
+
repo-token: {{ "${{ secrets.GITHUB_TOKEN }}" }}
|
|
42
|
+
sync-labels: true
|
|
43
|
+
|
|
44
|
+
# Label based on branch name
|
|
45
|
+
- uses: actions-ecosystem/action-add-labels@v1
|
|
46
|
+
if: |
|
|
47
|
+
startsWith(github.event.pull_request.head.ref, 'doc') ||
|
|
48
|
+
startsWith(github.event.pull_request.head.ref, 'docs')
|
|
49
|
+
with:
|
|
50
|
+
labels: documentation
|
|
51
|
+
|
|
52
|
+
- uses: actions-ecosystem/action-add-labels@v1
|
|
53
|
+
if: |
|
|
54
|
+
startsWith(github.event.pull_request.head.ref, 'maint') ||
|
|
55
|
+
startsWith(github.event.pull_request.head.ref, 'no-ci') ||
|
|
56
|
+
startsWith(github.event.pull_request.head.ref, 'ci')
|
|
57
|
+
with:
|
|
58
|
+
labels: maintenance
|
|
59
|
+
|
|
60
|
+
- uses: actions-ecosystem/action-add-labels@v1
|
|
61
|
+
if: startsWith(github.event.pull_request.head.ref, 'feat')
|
|
62
|
+
with:
|
|
63
|
+
labels: |
|
|
64
|
+
enhancement
|
|
65
|
+
|
|
66
|
+
- uses: actions-ecosystem/action-add-labels@v1
|
|
67
|
+
if: |
|
|
68
|
+
startsWith(github.event.pull_request.head.ref, 'fix') ||
|
|
69
|
+
startsWith(github.event.pull_request.head.ref, 'patch')
|
|
70
|
+
with:
|
|
71
|
+
labels: bug
|
|
72
|
+
|
|
73
|
+
commenter:
|
|
74
|
+
runs-on: ubuntu-latest
|
|
75
|
+
steps:
|
|
76
|
+
- name: Suggest to add labels
|
|
77
|
+
uses: peter-evans/create-or-update-comment@v2
|
|
78
|
+
# Execute only when no labels have been applied to the pull request
|
|
79
|
+
if: toJSON(github.event.pull_request.labels.*.name) == '{}'
|
|
80
|
+
with:
|
|
81
|
+
issue-number: {{ '${{ github.event.pull_request.number }}' }}
|
|
82
|
+
body: |
|
|
83
|
+
Please add one of the following labels to add this contribution to the Release Notes :point_down:
|
|
84
|
+
- [bug]({{ cookiecutter.__repository_url }}/pulls?q=label%3Abug+)
|
|
85
|
+
- [documentation]({{ cookiecutter.__repository_url }}/pulls?q=label%3Adocumentation+)
|
|
86
|
+
- [enhancement]({{ cookiecutter.__repository_url }}/pulls?q=label%3Aenhancement+)
|
|
87
|
+
- [good first issue]({{ cookiecutter.__repository_url }}/pulls?q=label%3Agood+first+issue)
|
|
88
|
+
- [maintenance]({{ cookiecutter.__repository_url }}/pulls?q=label%3Amaintenance+)
|
|
89
|
+
- [release]({{ cookiecutter.__repository_url }}/pulls?q=label%3Arelease+)
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Created by https://www.toptal.com/developers/gitignore/api/python
|
|
2
|
+
# Edit at https://www.toptal.com/developers/gitignore?templates=python
|
|
3
|
+
|
|
4
|
+
### Python ###
|
|
5
|
+
# Byte-compiled / optimized / DLL files
|
|
6
|
+
__pycache__/
|
|
7
|
+
*.py[cod]
|
|
8
|
+
*$py.class
|
|
9
|
+
|
|
10
|
+
# C extensions
|
|
11
|
+
*.so
|
|
12
|
+
|
|
13
|
+
# Distribution / packaging
|
|
14
|
+
.Python
|
|
15
|
+
# build/
|
|
16
|
+
develop-eggs/
|
|
17
|
+
dist/
|
|
18
|
+
downloads/
|
|
19
|
+
eggs/
|
|
20
|
+
.eggs/
|
|
21
|
+
lib/
|
|
22
|
+
lib64/
|
|
23
|
+
parts/
|
|
24
|
+
sdist/
|
|
25
|
+
var/
|
|
26
|
+
wheels/
|
|
27
|
+
share/python-wheels/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
MANIFEST
|
|
32
|
+
*.whl
|
|
33
|
+
|
|
34
|
+
# PyInstaller
|
|
35
|
+
# Usually these files are written by a python script from a template
|
|
36
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
37
|
+
*.manifest
|
|
38
|
+
*.spec
|
|
39
|
+
|
|
40
|
+
# Installer logs
|
|
41
|
+
pip-log.txt
|
|
42
|
+
pip-delete-this-directory.txt
|
|
43
|
+
|
|
44
|
+
# Unit test / coverage reports
|
|
45
|
+
htmlcov/
|
|
46
|
+
.tox/
|
|
47
|
+
{toxworkdir}/
|
|
48
|
+
.nox/
|
|
49
|
+
.coverage
|
|
50
|
+
.coverage.*
|
|
51
|
+
.cache
|
|
52
|
+
nosetests.xml
|
|
53
|
+
coverage.xml
|
|
54
|
+
coverage.json
|
|
55
|
+
coverage.lcov
|
|
56
|
+
*.cover
|
|
57
|
+
*.py,cover
|
|
58
|
+
.hypothesis/
|
|
59
|
+
.pytest_cache/
|
|
60
|
+
cover/
|
|
61
|
+
|
|
62
|
+
# Translations
|
|
63
|
+
*.mo
|
|
64
|
+
*.pot
|
|
65
|
+
|
|
66
|
+
# Django stuff:
|
|
67
|
+
*.log
|
|
68
|
+
local_settings.py
|
|
69
|
+
db.sqlite3
|
|
70
|
+
db.sqlite3-journal
|
|
71
|
+
|
|
72
|
+
# Flask stuff:
|
|
73
|
+
instance/
|
|
74
|
+
.webassets-cache
|
|
75
|
+
|
|
76
|
+
# Scrapy stuff:
|
|
77
|
+
.scrapy
|
|
78
|
+
|
|
79
|
+
# Sphinx documentation
|
|
80
|
+
doc/build/
|
|
81
|
+
|
|
82
|
+
# PyBuilder
|
|
83
|
+
.pybuilder/
|
|
84
|
+
target/
|
|
85
|
+
|
|
86
|
+
# Jupyter Notebook
|
|
87
|
+
.ipynb_checkpoints
|
|
88
|
+
|
|
89
|
+
# IPython
|
|
90
|
+
profile_default/
|
|
91
|
+
ipython_config.py
|
|
92
|
+
|
|
93
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
94
|
+
__pypackages__/
|
|
95
|
+
|
|
96
|
+
# Celery stuff
|
|
97
|
+
celerybeat-schedule
|
|
98
|
+
celerybeat.pid
|
|
99
|
+
|
|
100
|
+
# SageMath parsed files
|
|
101
|
+
*.sage.py
|
|
102
|
+
|
|
103
|
+
# Environments
|
|
104
|
+
.poetry
|
|
105
|
+
.venv
|
|
106
|
+
env/
|
|
107
|
+
venv/
|
|
108
|
+
ENV/
|
|
109
|
+
env.bak/
|
|
110
|
+
venv.bak/
|
|
111
|
+
|
|
112
|
+
# Spyder project settings
|
|
113
|
+
.spyderproject
|
|
114
|
+
.spyproject
|
|
115
|
+
|
|
116
|
+
# Rope project settings
|
|
117
|
+
.ropeproject
|
|
118
|
+
|
|
119
|
+
# mkdocs documentation
|
|
120
|
+
/site
|
|
121
|
+
|
|
122
|
+
# mypy
|
|
123
|
+
.mypy_cache/
|
|
124
|
+
.dmypy.json
|
|
125
|
+
dmypy.json
|
|
126
|
+
|
|
127
|
+
# Pyre type checker
|
|
128
|
+
.pyre/
|
|
129
|
+
|
|
130
|
+
# pytype static type analyzer
|
|
131
|
+
.pytype/
|
|
132
|
+
|
|
133
|
+
# Cython debug symbols
|
|
134
|
+
cython_debug/
|
|
135
|
+
|
|
136
|
+
# Poetry
|
|
137
|
+
poetry.toml
|
ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.pre-commit-config.yaml
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
|
|
3
|
+
- repo: https://github.com/psf/black
|
|
4
|
+
rev: 24.4.2
|
|
5
|
+
hooks:
|
|
6
|
+
- id: black
|
|
7
|
+
|
|
8
|
+
- repo: https://github.com/pycqa/isort
|
|
9
|
+
rev: 5.13.2
|
|
10
|
+
hooks:
|
|
11
|
+
- id: isort
|
|
12
|
+
|
|
13
|
+
- repo: https://github.com/PyCQA/flake8
|
|
14
|
+
rev: 7.0.0
|
|
15
|
+
hooks:
|
|
16
|
+
- id: flake8
|
|
17
|
+
|
|
18
|
+
- repo: https://github.com/codespell-project/codespell
|
|
19
|
+
rev: v2.3.0
|
|
20
|
+
hooks:
|
|
21
|
+
- id: codespell
|
|
22
|
+
args: [--skip, "doc/styles/*,doc/_build/*,*.js,*.tmp", --ignore-words, ".codespell.ignore", --exclude, "pyproject.toml,poetry.lock"]
|
|
23
|
+
|
|
24
|
+
- repo: https://github.com/pycqa/pydocstyle
|
|
25
|
+
rev: 6.3.0
|
|
26
|
+
hooks:
|
|
27
|
+
- id: pydocstyle
|
|
28
|
+
additional_dependencies: [toml]
|
|
29
|
+
exclude: "tests/"
|
|
30
|
+
|
|
31
|
+
- repo: https://github.com/ansys/pre-commit-hooks
|
|
32
|
+
rev: fd1d6b0b4baeb08e32d4de0909999576695c0433 # v0.5.2
|
|
33
|
+
hooks:
|
|
34
|
+
- id: add-license-headers
|
|
35
|
+
args:
|
|
36
|
+
- --start_year=2023
|
|
37
|
+
- --custom_template=copyright.jinja2
|
|
38
|
+
|
|
39
|
+
- repo: https://github.com/dotenv-linter/dotenv-linter
|
|
40
|
+
rev: f9076b02daed89f54ed0bd23951a4cfa5ccceac4 # v4.0.0
|
|
41
|
+
hooks:
|
|
42
|
+
- id: dotenv-linter
|
|
43
|
+
args: [check]
|
|
44
|
+
|
|
45
|
+
- repo: https://github.com/python-poetry/poetry
|
|
46
|
+
rev: a84cd0f1bedb5769ef6ef7389d8ee99b93b9ba4c # frozen: v2.3.2
|
|
47
|
+
hooks:
|
|
48
|
+
- id: poetry-check
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Copyright (C) 2023 - 2026 ANSYS, Inc. and/or its affiliates.
|
ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/.vscode/launch.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
// Use IntelliSense to learn about possible attributes.
|
|
3
|
+
// Hover to view descriptions of existing attributes.
|
|
4
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
+
"version": "0.2.0",
|
|
6
|
+
"configurations": [
|
|
7
|
+
{
|
|
8
|
+
"name": "Python: Remote Attach",
|
|
9
|
+
"type": "python",
|
|
10
|
+
"request": "attach",
|
|
11
|
+
"connect": {
|
|
12
|
+
"host": "localhost",
|
|
13
|
+
"port": 5724
|
|
14
|
+
},
|
|
15
|
+
"justMyCode": false
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "Python: Remote Attach Dash",
|
|
19
|
+
"type": "python",
|
|
20
|
+
"request": "attach",
|
|
21
|
+
"connect": {
|
|
22
|
+
"host": "localhost",
|
|
23
|
+
"port": 5725
|
|
24
|
+
},
|
|
25
|
+
"justMyCode": false
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# This is the list of {{ cookiecutter.__solution_name }}'s significant contributors.
|
|
2
|
+
#
|
|
3
|
+
# This file does not necessarily list everyone who has contributed code.
|
|
4
|
+
#
|
|
5
|
+
# For contributions made under a Corporate CLA, the organization is
|
|
6
|
+
# added to this file.
|
|
7
|
+
#
|
|
8
|
+
# If you have contributed to the repository and want to be added to this file,
|
|
9
|
+
# submit a request.
|
|
10
|
+
#
|
|
11
|
+
#
|
|
12
|
+
ANSYS, Inc.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# CHANGELOG
|
ansys/saf/cli/_solutions/templates/solution/{{cookiecutter.__solution_name}}/CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
|
6
|
+
contributors and maintainers pledge to making participation in our
|
|
7
|
+
project and our community a harassment-free experience for everyone,
|
|
8
|
+
regardless of age, body size, disability, ethnicity, sex
|
|
9
|
+
characteristics, gender identity and expression, level of experience,
|
|
10
|
+
education, socioeconomic status, nationality, personal appearance,
|
|
11
|
+
race, religion, or sexual identity and orientation.
|
|
12
|
+
|
|
13
|
+
## Our Standards
|
|
14
|
+
|
|
15
|
+
Examples of behavior that contributes to creating a positive environment
|
|
16
|
+
include:
|
|
17
|
+
|
|
18
|
+
* Using welcoming and inclusive language
|
|
19
|
+
* Being respectful of differing viewpoints and experiences
|
|
20
|
+
* Gracefully accepting constructive criticism
|
|
21
|
+
* Focusing on what is best for the community
|
|
22
|
+
* Showing empathy towards other community members
|
|
23
|
+
|
|
24
|
+
Examples of unacceptable behavior by participants include:
|
|
25
|
+
|
|
26
|
+
* The use of sexualized language or imagery and unwelcome sexual
|
|
27
|
+
attention or advances
|
|
28
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
29
|
+
* Public or private harassment
|
|
30
|
+
* Publishing others' private information, such as a physical or electronic
|
|
31
|
+
address, without explicit permission
|
|
32
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
|
33
|
+
professional setting
|
|
34
|
+
|
|
35
|
+
## Our Responsibilities
|
|
36
|
+
|
|
37
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
|
38
|
+
behavior and are expected to take appropriate and fair corrective action in
|
|
39
|
+
response to any instances of unacceptable behavior.
|
|
40
|
+
|
|
41
|
+
Project maintainers have the right and responsibility to remove, edit, or reject
|
|
42
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
43
|
+
not aligned to this Code of Conduct, or to ban temporarily or permanently any
|
|
44
|
+
contributor for other behaviors that they deem inappropriate, threatening,
|
|
45
|
+
offensive, or harmful.
|
|
46
|
+
|
|
47
|
+
## Scope
|
|
48
|
+
|
|
49
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
|
50
|
+
when an individual is representing the project or its community. Examples of
|
|
51
|
+
representing a project or community include using an official project e-mail
|
|
52
|
+
address, posting via an official social media account, or acting as an appointed
|
|
53
|
+
representative at an online or offline event. Representation of a project may be
|
|
54
|
+
further defined and clarified by project maintainers.
|
|
55
|
+
|
|
56
|
+
## Attribution
|
|
57
|
+
|
|
58
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
59
|
+
version 1.4, available at
|
|
60
|
+
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
|
61
|
+
|
|
62
|
+
[homepage]: https://www.contributor-covenant.org
|
|
63
|
+
|
|
64
|
+
For answers to common questions about this code of conduct, see
|
|
65
|
+
https://www.contributor-covenant.org/faq
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
ANSYS, Inc. Legal Notices
|
|
2
|
+
==========================
|
|
3
|
+
|
|
4
|
+
Copyright and Trademark Information
|
|
5
|
+
------------------------------------
|
|
6
|
+
|
|
7
|
+
© 2023 ANSYS, Inc. All rights reserved. Unauthorized use, distribution, or duplication is prohibited. This solution is subject to U.S. laws governing export and re-export.
|
|
8
|
+
|
|
9
|
+
ANSYS, Ansys Workbench, AUTODYN, CFX, FLUENT and any and all ANSYS, Inc. brand, product, service and feature names, logos and slogans are registered trademarks or trademarks of ANSYS, Inc. or its subsidiaries located in the United States or other countries. ICEM CFD is a trademark used by ANSYS, Inc. under license. CFX is a trademark of Sony Corporation in Japan. All other brand, product, service, and feature names or trademarks are the property of their respective owners. FLEXlm and FLEXnet are trademarks of Flexera Software LLC.
|
|
10
|
+
|
|
11
|
+
Disclaimer Notice
|
|
12
|
+
-----------------
|
|
13
|
+
|
|
14
|
+
THIS ANSYS SOFTWARE PRODUCT AND PROGRAM DOCUMENTATION INCLUDE TRADE SECRETS AND ARE CONFIDENTIAL AND PROPRIETARY PRODUCTS OF ANSYS, INC., ITS SUBSIDIARIES, OR LICENSORS. The software products and documentation are furnished by ANSYS, Inc., its subsidiaries, or affiliates under a software license agreement that contains provisions concerning non-disclosure, copying, length and nature of use, compliance with exporting laws, warranties, disclaimers, limitations of liability, and remedies, and other provisions. The software products and documentation may be used, disclosed, transferred, or copied only in accordance with the terms and conditions of that software license agreement.
|
|
15
|
+
|
|
16
|
+
ANSYS, Inc. and ANSYS Europe, Ltd. are UL registered ISO 9001: 2015 companies.
|
|
17
|
+
|
|
18
|
+
U.S. Government Rights
|
|
19
|
+
-----------------------
|
|
20
|
+
|
|
21
|
+
For U.S. Government users, except as specifically granted by the ANSYS, Inc. software license agreement, the use, duplication, or disclosure by the United States Government is subject to restrictions stated in the ANSYS, Inc. software license agreement and FAR 12.212 (for non-DOD licenses).
|
|
22
|
+
|
|
23
|
+
Third-Party Software Notices
|
|
24
|
+
-----------------------------
|
|
25
|
+
|
|
26
|
+
See the Legal Notices in the Ansys product help files for the complete Legal Notices for ANSYS proprietary software and third-party software. If you are unable to access the Legal Notices, contact ANSYS, Inc.
|
|
27
|
+
|
|
28
|
+
Contact Information
|
|
29
|
+
--------------------
|
|
30
|
+
|
|
31
|
+
ANSYS, Inc.
|
|
32
|
+
Southpointe
|
|
33
|
+
2600 Ansys Drive
|
|
34
|
+
Canonsburg, PA 15317
|
|
35
|
+
ansysinfo@ansys.com
|
|
36
|
+
<http://www.ansys.com>
|
|
37
|
+
(T) 724-746-3304
|
|
38
|
+
(F) 724-514-9494
|
|
39
|
+
|
|
40
|
+
**Ansys Solution Applications Organization**
|
|
41
|
+
Email the Solution Applications team at solution-applications.maintainers@ansys.com.
|