diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..ffa2ec59
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+* text=auto !eol
\ No newline at end of file
diff --git a/.github/workflows/create-milestone.yml b/.github/workflows/create-milestone.yml
index 4f0fb39f..6f9b48a6 100644
--- a/.github/workflows/create-milestone.yml
+++ b/.github/workflows/create-milestone.yml
@@ -1,86 +1,87 @@
-name: Create milestones for Ansys Release
-on:
- workflow_dispatch:
- inputs:
- release-date:
- description: 'Milestone release date (format must be YYYY/MM/DD)'
- required: true
- default: '2023/01/30'
-
-env:
- MAIN_PYTHON_VERSION: '3.11'
-
-jobs:
- create-milestone:
- name: Create a milestone in ${{ matrix.pyansys-projects }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- pyansys-projects:
- [
- "ansys/openapi-common",
- "ansys/pyadditive",
- "ansys/pyaedt",
- "ansys/pyansys-geometry",
- "ansys/pyansys-math",
- "ansys/pydpf-core",
- "ansys/pydpf-post",
- "ansys/pydpf-composites",
- "ansys/pydyna",
- "ansys/pydynamicreporting",
- "ansys/pyedb-core",
- "ansys/pyensight",
- "ansys/pyfluent",
- "ansys/pygranta",
- "ansys/pymapdl",
- "ansys/pymechanical",
- "ansys/pymotorcad",
- "ansys/pyoptislang",
- "ansys/pypim",
- "ansys/pyprimemesh",
- "ansys/pyrocky",
- "ansys/pyseascape",
- "ansys/pysherlock",
- "ansys/pysimai",
- "ansys/pysystem-coupling",
- "ansys/pyturbogrid",
- "ansys/pytwin",
- # MAPDL - ALL
- "ansys/pymapdl-reader",
- # FLUENT - ALL
- "ansys/pyfluent-parametric",
- "ansys/pyfluent-visualization",
- # TOOLS
- "ansys/ansys-tools-path",
- "ansys/ansys-tools-protoc-helper",
- "ansys/pyansys-tools-report",
- "ansys/pyansys-tools-versioning",
- "ansys/pyansys-units",
- ]
- steps:
- - uses: actions/checkout@v4
-
- - name: Set up Python ${{ env.MAIN_PYTHON_VERSION }}
- uses: actions/setup-python@v5
- with:
- python-version: ${{ env.MAIN_PYTHON_VERSION }}
-
- - name: Linux pip cache
- uses: actions/cache@v4
- if: ${{ runner.os == 'Linux' }}
- with:
- path: ~/.cache/pip
- key: Python-${{ runner.os }}-create-milestone
-
- - name: Install requirements
- run: |
- pip install pygithub
-
- - name: Create the milestone
- env:
- TOKEN: ${{ secrets.CREATE_MILESTONE_TOKEN }}
- REPOSITORY: ${{ matrix.pyansys-projects }}
- RELEASE_DATE: ${{ github.event.inputs.release-date }}
- run: |
- python tools/milestone.py
+name: Create milestones for Ansys Release
+on:
+ workflow_dispatch:
+ inputs:
+ release-date:
+ description: 'Milestone release date (format must be YYYY/MM/DD)'
+ required: true
+ default: '2023/01/30'
+
+env:
+ MAIN_PYTHON_VERSION: '3.11'
+
+jobs:
+ create-milestone:
+ name: Create a milestone in ${{ matrix.pyansys-projects }}
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ pyansys-projects:
+ [
+ "ansys/openapi-common",
+ "ansys/pyadditive",
+ "ansys/pyaedt",
+ "ansys/pyansys-geometry",
+ "ansys/pyansys-math",
+ "ansys/pydpf-core",
+ "ansys/pydpf-post",
+ "ansys/pydpf-composites",
+ "ansys/pydyna",
+ "ansys/pydynamicreporting",
+ "ansys/pyedb-core",
+ "ansys/pyensight",
+ "ansys/pyfluent",
+ "ansys/pygranta",
+ "ansys/pyhps",
+ "ansys/pymapdl",
+ "ansys/pymechanical",
+ "ansys/pymotorcad",
+ "ansys/pyoptislang",
+ "ansys/pypim",
+ "ansys/pyprimemesh",
+ "ansys/pyrocky",
+ "ansys/pyseascape",
+ "ansys/pysherlock",
+ "ansys/pysimai",
+ "ansys/pysystem-coupling",
+ "ansys/pyturbogrid",
+ "ansys/pytwin",
+ # MAPDL - ALL
+ "ansys/pymapdl-reader",
+ # FLUENT - ALL
+ "ansys/pyfluent-parametric",
+ "ansys/pyfluent-visualization",
+ # TOOLS
+ "ansys/ansys-tools-path",
+ "ansys/ansys-tools-protoc-helper",
+ "ansys/pyansys-tools-report",
+ "ansys/pyansys-tools-versioning",
+ "ansys/pyansys-units",
+ ]
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python ${{ env.MAIN_PYTHON_VERSION }}
+ uses: actions/setup-python@v5
+ with:
+ python-version: ${{ env.MAIN_PYTHON_VERSION }}
+
+ - name: Linux pip cache
+ uses: actions/cache@v4
+ if: ${{ runner.os == 'Linux' }}
+ with:
+ path: ~/.cache/pip
+ key: Python-${{ runner.os }}-create-milestone
+
+ - name: Install requirements
+ run: |
+ pip install pygithub
+
+ - name: Create the milestone
+ env:
+ TOKEN: ${{ secrets.CREATE_MILESTONE_TOKEN }}
+ REPOSITORY: ${{ matrix.pyansys-projects }}
+ RELEASE_DATE: ${{ github.event.inputs.release-date }}
+ run: |
+ python tools/milestone.py
\ No newline at end of file
diff --git a/README.rst b/README.rst
index d577e2ef..748fd85b 100644
--- a/README.rst
+++ b/README.rst
@@ -1,236 +1,238 @@
-PyAnsys metapackage
-===================
-|pyansys| |python| |pypi| |downloads| |GH-CI| |MIT| |black| |pre-commit|
-
-.. |pyansys| image:: https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC
- :target: https://docs.pyansys.com/
- :alt: PyAnsys
-
-.. |python| image:: https://img.shields.io/pypi/pyversions/pyansys?logo=pypi
- :target: https://pypi.org/project/pyansys/
- :alt: Python
-
-.. |pypi| image:: https://img.shields.io/pypi/v/pyansys.svg?logo=python&logoColor=white
- :target: https://pypi.org/project/pyansys/
- :alt: PyPI
-
-.. |downloads| image:: https://img.shields.io/pypi/dm/pyansys.svg
- :target: https://pypi.org/project/pyansys/
- :alt: PyPI Downloads
-
-.. |GH-CI| image:: https://github.com/ansys/pyansys/actions/workflows/ci-build.yml/badge.svg
- :target: https://github.com/ansys/pyansys/actions/workflows/ci-build.yml
- :alt: GH-CI
-
-.. |MIT| image:: https://img.shields.io/badge/License-MIT-yellow.svg
- :target: https://opensource.org/licenses/MIT
- :alt: MIT
-
-.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat
- :target: https://github.com/psf/black
- :alt: Black
-
-.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/pyansys/pyansys/main.svg
- :target: https://results.pre-commit.ci/latest/github/pyansys/pyansys/main
- :alt: pre-commit.ci status
-
-Welcome to the PyAnsys metapackage repository. The ``pyansys`` metapackage
-provides a single package of collected PyAnsys packages that ensures compatibility
-of these packages amongst themselves and the Ansys product release that they are linked to.
-
-.. image:: https://raw.githubusercontent.com/ansys/pyansys/main/doc/source/_static/pyansys_dark.png
- :target: https://docs.pyansys.com
- :alt: PyAnsys
-
-The ``pyansys`` metapackage ensures compatibility between these PyAnsys packages:
-
-- `PyAdditive `_: Pythonic interface to the Ansys Additive service.
-- `PyAEDT `_: Pythonic interface to AEDT (Ansys Electronics Desktop).
-- `PyAnsys Geometry `_: Pythonic interface to the Ansys Geometry service.
-- `PyAnsys Math `_: Pythonic interface to PyAnsys Math libraries.
-- `PyDPF - Core `_: Pythonic interface to Ansys DPF (Data Processing Framework) for building more advanced and customized workflows.
-- `PyDPF - Post `_: Pythonic interface to access and post process Ansys solver result files.
-- `PyDPF - Composites `_: Pythonic interface for DPF's postprocessing of layered and short-fiber composite models.
-- `PyDyna `_: Pythonic interface to build the Ansys DYNA input deck, submit it to the Ansys LS-DYNA solver and postprocess its results.
-- `PyDynamicReporting `_: Pythonic interface to Ansys Dynamic Reporting for service and control of its database and reports.
-- `PyEDB - Core `_: Pythonic interface to the Electronics Database (EDB).
-- `PyEnSight `_: Pythonic interface to EnSight, the Ansys simulation postprocessor.
-- `PyFluent `_: Pythonic interface to Ansys Fluent.
-- `PyFluent - Parametric `_: Pythonic interface to Ansys Fluent parametric workflows.
-- `PyFluent - Visualization `_: Pythonic interface to visualize Ansys Fluent simulations.
-- `PyGranta `_: Pythonic interface to Ansys Granta MI services.
-- `PyMAPDL `_: Pythonic interface to Ansys MAPDL (Mechanical APDL).
-- `PyMAPDL Reader `_: Pythonic interface to read legacy MAPDL result files (MAPDL 14.5 and later).
-- `PyMechanical `_: Pythonic interface to Ansys Mechanical.
-- `PyMotorCAD `_: Pythonic interface to Ansys Motor-CAD.
-- `PyOptislang `_: Pythonic interface to Ansys Optislang.
-- `PyPIM `_: Pythonic interface to communicate with the Ansys PIM (Product Instance Management) API.
-- `PyPrimeMesh `_: Pythonic interface to Ansys Prime Server, which delivers core Ansys meshing technology.
-- `PyRocky `_: Python library to communicate with Ansys Rocky using Rocky PrePost API.
-- `PySeascape `_: Pythonic interface to communicate with Ansys RedHawkSC and TotemSC.
-- `PySherlock `_: Pythonic interface to communicate with Ansys Sherlock.
-- `PySimAI `_: Pythonic interface to use SimAI.
-- `PySystemCoupling `_: Pythonic interface to communicate with Ansys System Coupling.
-- `PyTurboGrid `_: Pythonic interface to Ansys TurboGrid, a high-quality turbomachinery meshing software app.
-- `PyTwin `_: Pythonic interface to communicate with consumption workflows for Ansys digital twins.
-- `Shared Components `_: Shared Ansys software components to enable package interoperability and minimize maintenance.
-
-Other tools delivered as part of the metapackage are:
-
-- `Ansys Tools Path `_: Library to locate Ansys products in a local machine.
-- `Ansys Tools Protobuf Compilation Helper `_: Utility library to compile ``.proto`` files to Python source when building the package wheel.
-- `PyAnsys Tools Report `_: Tool for reporting your Python environment's package versions and hardware resources in a standardized way.
-- `PyAnsys Tools Versioning `_: Tool for backwards and forwards server support.
-- `PyAnsys Units `_: Pythonic interface for units, unit systems, and unit conversions.
-
-Much effort is underway to continue expanding and developing packages in the
-`PyAnsys GitHub `__ account. On the ``Issues`` page
-for each package, you can post issues and request new features. You can also feel
-free to post a question on the `Ansys Developer Forums `_.
-
-By default, the PyAnsys metapackage installs these core modules:
-
-- `PyAdditive`_
-- `PyAEDT`_
-- `PyAnsys Geometry`_
-- `PyAnsys Math`_
-- `PyDPF - Core`_
-- `PyDPF - Post`_
-- `PyDPF - Composites`_
-- `PyDyna`_
-- `PyDynamicReporting`_
-- `PyEDB - Core`_
-- `PyEnSight`_
-- `PyFluent`_
-- `PyGranta`_
-- `PyMAPDL`_
-- `PyMechanical`_
-- `PyMotorCAD`_
-- `PyOptislang`_
-- `PyPIM`_
-- `PyPrimeMesh`_
-- `PyRocky`_
-- `PySeascape`_
-- `PySherlock`_
-- `PySimAI`_
-- `PySystemCoupling`_
-- `PyTurboGrid`_
-- `PyTwin`_
-- `Shared Components`_
-
-Additionally, the ``pyansys`` metapackage contains certain extra targets that
-can be installed upon request:
-
-- **mapdl-all**: This target installs the core packages and `PyMAPDL Reader`_.
-- **fluent-all**: This target installs the core packages, `PyFluent - Parametric`_, and `PyFluent - Visualization`_.
-- **tools**: This target installs the core packages, `Ansys Tools Path`_, `Ansys Tools Protobuf Compilation Helper`_, `PyAnsys Tools Versioning`_, `PyAnsys Tools Report`_, and `PyAnsys Units`_.
-- **all**: This target installs all extra ``pyansys`` packages.
-
-Package installation
---------------------
-
-Two installation modes are provided: user and offline.
-
-User mode installation
-^^^^^^^^^^^^^^^^^^^^^^
-
-Before installing the ``pyansys`` metapackage in user mode, ensure that you have
-the latest version of `pip `_ with this command:
-
-.. code:: bash
-
- python -m pip install -U pip
-
-Then, install the ``pyansys`` metapackage with this command:
-
-.. code:: bash
-
- python -m pip install pyansys
-
-If you are interested in **installing an extra target** such as ``fluent-all``,
-you use a command like this:
-
-.. code:: bash
-
- python -m pip install pyansys[fluent-all]
-
-If you are interested in **installing a specific version** such as ``2023.1.0``,
-you use a command like this:
-
-.. code:: bash
-
- python -m pip install pyansys==2023.1.0
-
-Offline mode installation
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you lack an internet connection on your installation machine, the recommended way of installing
-the ``pyansys`` metapackage is downloading the wheelhouse archive from the
-`Releases Page `_ for your corresponding machine architecture.
-
-Each wheelhouse archive contains all the Python wheels necessary to install the ``pyansys`` metapackage from
-scratch on Windows, Linux, and MacOS from Python 3.9 to 3.11. You can install this on an isolated system with
-a fresh Python installation or on a virtual environment.
-
-For example, on Linux with Python 3.9, unzip the wheelhouse archive and install it with the following
-commands:
-
-.. code:: bash
-
- unzip pyansys-v2024.2.dev0-wheelhouse-Linux-3.9-core.zip wheelhouse
- pip install pyansys -f wheelhouse --no-index --upgrade --ignore-installed
-
-If you're on Windows with Python 3.9, unzip to a wheelhouse directory and then install using
-the same ``pip`` command as in the previous example.
-
-Consider installing using a `virtual environment `_.
-
-Versioning system
------------------
-
-The ``pyansys`` metapackage follows a semantic-like versioning system, though it has been adapted to the
-Ansys product release mechanism. Thus, this kind of versioning system is followed:
-
-.. code:: bash
-
- XXXX.Y.ZZ
-
-Where:
-
-- ``XXXX`` is the Ansys product release year (for example, 2022).
-- ``Y`` is the Ansys product release within the same year (for example, 1, which relates to R1).
-- ``ZZ`` is a patched version to the ``pyansys`` metapackage, if any.
-
-Consequently, the first ``pyansys`` metapackage compatible with the 2024 R2 release would be:
-
-.. code:: bash
-
- 2024.2.0
-
-Any subsequent patched version of this package would be:
-
-.. code:: bash
-
- 2024.2.1
- 2024.2.2
- 2024.2.3
- ...
-
-You can request a specific version install when using ``pip`` to install
-your package:
-
-.. code:: bash
-
- python -m pip install pyansys==2024.2.0
-
-License and acknowledgments
----------------------------
-All PyAnsys libraries are licensed under the MIT license.
-
-PyAnsys libraries make no commercial claim over Ansys whatsoever.
-These libraries extend the functionality of Ansys products by
-adding Python interfaces to legally obtained software products
-without changing the core behaviors or licenses of the original
-software.
-
-For more information on Ansys products, visit the `Ansys web site `_.
+PyAnsys metapackage
+===================
+|pyansys| |python| |pypi| |downloads| |GH-CI| |MIT| |black| |pre-commit|
+
+.. |pyansys| image:: https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC
+ :target: https://docs.pyansys.com/
+ :alt: PyAnsys
+
+.. |python| image:: https://img.shields.io/pypi/pyversions/pyansys?logo=pypi
+ :target: https://pypi.org/project/pyansys/
+ :alt: Python
+
+.. |pypi| image:: https://img.shields.io/pypi/v/pyansys.svg?logo=python&logoColor=white
+ :target: https://pypi.org/project/pyansys/
+ :alt: PyPI
+
+.. |downloads| image:: https://img.shields.io/pypi/dm/pyansys.svg
+ :target: https://pypi.org/project/pyansys/
+ :alt: PyPI Downloads
+
+.. |GH-CI| image:: https://github.com/ansys/pyansys/actions/workflows/ci-build.yml/badge.svg
+ :target: https://github.com/ansys/pyansys/actions/workflows/ci-build.yml
+ :alt: GH-CI
+
+.. |MIT| image:: https://img.shields.io/badge/License-MIT-yellow.svg
+ :target: https://opensource.org/licenses/MIT
+ :alt: MIT
+
+.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat
+ :target: https://github.com/psf/black
+ :alt: Black
+
+.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/pyansys/pyansys/main.svg
+ :target: https://results.pre-commit.ci/latest/github/pyansys/pyansys/main
+ :alt: pre-commit.ci status
+
+Welcome to the PyAnsys metapackage repository. The ``pyansys`` metapackage
+provides a single package of collected PyAnsys packages that ensures compatibility
+of these packages amongst themselves and the Ansys product release that they are linked to.
+
+.. image:: https://raw.githubusercontent.com/ansys/pyansys/main/doc/source/_static/pyansys_dark.png
+ :target: https://docs.pyansys.com
+ :alt: PyAnsys
+
+The ``pyansys`` metapackage ensures compatibility between these PyAnsys packages:
+
+- `PyAdditive `_: Pythonic interface to the Ansys Additive service.
+- `PyAEDT `_: Pythonic interface to AEDT (Ansys Electronics Desktop).
+- `PyAnsys Geometry `_: Pythonic interface to the Ansys Geometry service.
+- `PyAnsys Math `_: Pythonic interface to PyAnsys Math libraries.
+- `PyDPF - Core `_: Pythonic interface to Ansys DPF (Data Processing Framework) for building more advanced and customized workflows.
+- `PyDPF - Post `_: Pythonic interface to access and post process Ansys solver result files.
+- `PyDPF - Composites `_: Pythonic interface for DPF's postprocessing of layered and short-fiber composite models.
+- `PyDyna `_: Pythonic interface to build the Ansys DYNA input deck, submit it to the Ansys LS-DYNA solver and postprocess its results.
+- `PyDynamicReporting `_: Pythonic interface to Ansys Dynamic Reporting for service and control of its database and reports.
+- `PyEDB - Core `_: Pythonic interface to the Electronics Database (EDB).
+- `PyEnSight `_: Pythonic interface to EnSight, the Ansys simulation postprocessor.
+- `PyFluent `_: Pythonic interface to Ansys Fluent.
+- `PyFluent - Parametric `_: Pythonic interface to Ansys Fluent parametric workflows.
+- `PyFluent - Visualization `_: Pythonic interface to visualize Ansys Fluent simulations.
+- `PyGranta `_: Pythonic interface to Ansys Granta MI services.
+- `PyHPS `_: A Python client for Ansys HPC Platform Services (HPS).
+- `PyMAPDL `_: Pythonic interface to Ansys MAPDL (Mechanical APDL).
+- `PyMAPDL Reader `_: Pythonic interface to read legacy MAPDL result files (MAPDL 14.5 and later).
+- `PyMechanical `_: Pythonic interface to Ansys Mechanical.
+- `PyMotorCAD `_: Pythonic interface to Ansys Motor-CAD.
+- `PyOptislang `_: Pythonic interface to Ansys Optislang.
+- `PyPIM `_: Pythonic interface to communicate with the Ansys PIM (Product Instance Management) API.
+- `PyPrimeMesh `_: Pythonic interface to Ansys Prime Server, which delivers core Ansys meshing technology.
+- `PyRocky `_: Python library to communicate with Ansys Rocky using Rocky PrePost API.
+- `PySeascape `_: Pythonic interface to communicate with Ansys RedHawkSC and TotemSC.
+- `PySherlock `_: Pythonic interface to communicate with Ansys Sherlock.
+- `PySimAI `_: Pythonic interface to use SimAI.
+- `PySystemCoupling `_: Pythonic interface to communicate with Ansys System Coupling.
+- `PyTurboGrid `_: Pythonic interface to Ansys TurboGrid, a high-quality turbomachinery meshing software app.
+- `PyTwin `_: Pythonic interface to communicate with consumption workflows for Ansys digital twins.
+- `Shared Components `_: Shared Ansys software components to enable package interoperability and minimize maintenance.
+
+Other tools delivered as part of the metapackage are:
+
+- `Ansys Tools Path `_: Library to locate Ansys products in a local machine.
+- `Ansys Tools Protobuf Compilation Helper `_: Utility library to compile ``.proto`` files to Python source when building the package wheel.
+- `PyAnsys Tools Report `_: Tool for reporting your Python environment's package versions and hardware resources in a standardized way.
+- `PyAnsys Tools Versioning `_: Tool for backwards and forwards server support.
+- `PyAnsys Units `_: Pythonic interface for units, unit systems, and unit conversions.
+
+Much effort is underway to continue expanding and developing packages in the
+`PyAnsys GitHub `__ account. On the ``Issues`` page
+for each package, you can post issues and request new features. You can also feel
+free to post a question on the `Ansys Developer Forums `_.
+
+By default, the PyAnsys metapackage installs these core modules:
+
+- `PyAdditive`_
+- `PyAEDT`_
+- `PyAnsys Geometry`_
+- `PyAnsys Math`_
+- `PyDPF - Core`_
+- `PyDPF - Post`_
+- `PyDPF - Composites`_
+- `PyDyna`_
+- `PyDynamicReporting`_
+- `PyEDB - Core`_
+- `PyEnSight`_
+- `PyFluent`_
+- `PyGranta`_
+- `PyHPS`_
+- `PyMAPDL`_
+- `PyMechanical`_
+- `PyMotorCAD`_
+- `PyOptislang`_
+- `PyPIM`_
+- `PyPrimeMesh`_
+- `PyRocky`_
+- `PySeascape`_
+- `PySherlock`_
+- `PySimAI`_
+- `PySystemCoupling`_
+- `PyTurboGrid`_
+- `PyTwin`_
+- `Shared Components`_
+
+Additionally, the ``pyansys`` metapackage contains certain extra targets that
+can be installed upon request:
+
+- **mapdl-all**: This target installs the core packages and `PyMAPDL Reader`_.
+- **fluent-all**: This target installs the core packages, `PyFluent - Parametric`_, and `PyFluent - Visualization`_.
+- **tools**: This target installs the core packages, `Ansys Tools Path`_, `Ansys Tools Protobuf Compilation Helper`_, `PyAnsys Tools Versioning`_, `PyAnsys Tools Report`_, and `PyAnsys Units`_.
+- **all**: This target installs all extra ``pyansys`` packages.
+
+Package installation
+--------------------
+
+Two installation modes are provided: user and offline.
+
+User mode installation
+^^^^^^^^^^^^^^^^^^^^^^
+
+Before installing the ``pyansys`` metapackage in user mode, ensure that you have
+the latest version of `pip `_ with this command:
+
+.. code:: bash
+
+ python -m pip install -U pip
+
+Then, install the ``pyansys`` metapackage with this command:
+
+.. code:: bash
+
+ python -m pip install pyansys
+
+If you are interested in **installing an extra target** such as ``fluent-all``,
+you use a command like this:
+
+.. code:: bash
+
+ python -m pip install pyansys[fluent-all]
+
+If you are interested in **installing a specific version** such as ``2023.1.0``,
+you use a command like this:
+
+.. code:: bash
+
+ python -m pip install pyansys==2023.1.0
+
+Offline mode installation
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If you lack an internet connection on your installation machine, the recommended way of installing
+the ``pyansys`` metapackage is downloading the wheelhouse archive from the
+`Releases Page `_ for your corresponding machine architecture.
+
+Each wheelhouse archive contains all the Python wheels necessary to install the ``pyansys`` metapackage from
+scratch on Windows, Linux, and MacOS from Python 3.9 to 3.11. You can install this on an isolated system with
+a fresh Python installation or on a virtual environment.
+
+For example, on Linux with Python 3.9, unzip the wheelhouse archive and install it with the following
+commands:
+
+.. code:: bash
+
+ unzip pyansys-v2024.2.dev0-wheelhouse-Linux-3.9-core.zip wheelhouse
+ pip install pyansys -f wheelhouse --no-index --upgrade --ignore-installed
+
+If you're on Windows with Python 3.9, unzip to a wheelhouse directory and then install using
+the same ``pip`` command as in the previous example.
+
+Consider installing using a `virtual environment `_.
+
+Versioning system
+-----------------
+
+The ``pyansys`` metapackage follows a semantic-like versioning system, though it has been adapted to the
+Ansys product release mechanism. Thus, this kind of versioning system is followed:
+
+.. code:: bash
+
+ XXXX.Y.ZZ
+
+Where:
+
+- ``XXXX`` is the Ansys product release year (for example, 2022).
+- ``Y`` is the Ansys product release within the same year (for example, 1, which relates to R1).
+- ``ZZ`` is a patched version to the ``pyansys`` metapackage, if any.
+
+Consequently, the first ``pyansys`` metapackage compatible with the 2024 R2 release would be:
+
+.. code:: bash
+
+ 2024.2.0
+
+Any subsequent patched version of this package would be:
+
+.. code:: bash
+
+ 2024.2.1
+ 2024.2.2
+ 2024.2.3
+ ...
+
+You can request a specific version install when using ``pip`` to install
+your package:
+
+.. code:: bash
+
+ python -m pip install pyansys==2024.2.0
+
+License and acknowledgments
+---------------------------
+All PyAnsys libraries are licensed under the MIT license.
+
+PyAnsys libraries make no commercial claim over Ansys whatsoever.
+These libraries extend the functionality of Ansys products by
+adding Python interfaces to legally obtained software products
+without changing the core behaviors or licenses of the original
+software.
+
+For more information on Ansys products, visit the `Ansys web site `_.
diff --git a/doc/source/api.rst b/doc/source/api.rst
index 0bcbcf45..c4a14b72 100644
--- a/doc/source/api.rst
+++ b/doc/source/api.rst
@@ -111,6 +111,12 @@ PyAnsys packages API reference
:text-align: center
:class-title: pyansys-card-title
+ .. grid-item-card:: PyHPS
+ :img-top: _static/thumbnails/intro.png
+ :link: https://hps.docs.pyansys.com/version/stable/api/index.html
+ :text-align: center
+ :class-title: pyansys-card-title
+
.. grid-item-card:: PyMAPDL
:img-top: _static/thumbnails/pymapdl.png
:link: https://mapdl.docs.pyansys.com/version/stable/api/index.html
diff --git a/doc/source/examples.rst b/doc/source/examples.rst
index de549e86..f6948534 100644
--- a/doc/source/examples.rst
+++ b/doc/source/examples.rst
@@ -100,6 +100,12 @@ PyAnsys packages examples
:text-align: center
:class-title: pyansys-card-title
+ .. grid-item-card:: PyHPS
+ :img-top: _static/thumbnails/intro.png
+ :link: https://hps.docs.pyansys.com/version/stable/examples/index.html
+ :text-align: center
+ :class-title: pyansys-card-title
+
.. grid-item-card:: PyMAPDL
:img-top: _static/thumbnails/pymapdl.png
:link: https://mapdl.docs.pyansys.com/version/stable/examples/index.html
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 1461da5d..2b56de8d 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -1,257 +1,265 @@
-=======
-PyAnsys
-=======
-
-Welcome to the PyAnsys project. While this project originated as a single ``pyansys`` package,
-it is now a collection of many Python packages for using Ansys products through Python:
-
-.. toctree::
- :hidden:
- :maxdepth: 3
-
- getting_started
- user_guide
- api
- examples
- tools/index
-
-.. grid:: 3
- :gutter: 3 3 4 4
-
- .. grid-item-card:: PyAdditive
- :img-top: _static/thumbnails/intro.png
- :link: https://additive.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to the Ansys Additive service
-
- .. grid-item-card:: PyAEDT
- :img-top: _static/thumbnails/pyaedt.png
- :link: https://aedt.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to AEDT (Ansys Electronic Desktop)
-
- .. grid-item-card:: PyAnsys Geometry
- :img-top: _static/thumbnails/pyansys-geometry.png
- :link: https://geometry.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to the Ansys Geometry service
-
- .. grid-item-card:: PyAnsys Math
- :img-top: _static/thumbnails/pyansys-math.png
- :link: https://math.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to PyAnsys Math libraries
-
- .. grid-item-card:: PyDPF - Core
- :img-top: _static/thumbnails/pydpf-core.png
- :link: https://dpf.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to DPF (Data Processing Framework) for building more advanced and customized workflows
-
- .. grid-item-card:: PyDPF - Post
- :img-top: _static/thumbnails/pydpf-post.png
- :link: https://post.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to access and post process Ansys solver result files
-
- .. grid-item-card:: PyDPF - Composites
- :img-top: _static/thumbnails/pydpf-composites.png
- :link: https://composites.dpf.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to post-process layered and short-fiber composite models
-
- .. grid-item-card:: PyDyna
- :img-top: _static/thumbnails/pydyna.png
- :link: https://dyna.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to build the Ansys DYNA input deck, submit it to the Ansys LS-DYNA solver and postprocess its results
-
- .. grid-item-card:: PyDynamicReporting
- :img-top: _static/thumbnails/pydynamicreporting.png
- :link: https://dynamicreporting.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Dynamic Reporting for service and control of its database and reports
-
- .. grid-item-card:: PyEDB - Core
- :img-top: _static/thumbnails/pyaedt.png
- :link: https://edb.core.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to the Electronics Database (EDB)
-
- .. grid-item-card:: PyEnSight
- :img-top: _static/thumbnails/pyensight.png
- :link: https://ensight.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to EnSight, the Ansys simulation postprocessor
-
- .. grid-item-card:: PyFluent
- :img-top: _static/thumbnails/pyfluent.png
- :link: https://fluent.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Fluent
-
- .. grid-item-card:: PyFluent - Parametric
- :img-top: _static/thumbnails/pyfluent-parametric.png
- :link: https://parametric.fluent.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Fluent parametric workflows
-
- .. grid-item-card:: PyFluent - Visualization
- :img-top: _static/thumbnails/pyfluent-visualization.png
- :link: https://visualization.fluent.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to visualize Ansys Fluent simulations
-
- .. grid-item-card:: PyGranta
- :img-top: _static/thumbnails/intro.png
- :link: https://grantami.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Granta MI services
-
- .. grid-item-card:: PyMAPDL
- :img-top: _static/thumbnails/pymapdl.png
- :link: https://mapdl.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys MAPDL (Mechanical APDL)
-
- .. grid-item-card:: PyMAPDL Reader
- :img-top: _static/thumbnails/pymapdl_reader.png
- :link: https://reader.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to read legacy MAPDL result files (MAPDL 14.5 and later)
-
- .. grid-item-card:: PyMechanical
- :img-top: _static/thumbnails/pymechanical.png
- :link: https://mechanical.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Mechanical
-
- .. grid-item-card:: PyMotorCAD
- :img-top: _static/thumbnails/pymotorcad.png
- :link: https://motorcad.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Motor-CAD
-
- .. grid-item-card:: PyOptislang
- :img-top: _static/thumbnails/pyoptislang.png
- :link: https://optislang.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys Optislang
-
- .. grid-item-card:: PyPIM
- :img-top: _static/thumbnails/intro.png
- :link: https://pypim.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to communicate with the Ansys PIM (Product Instance Management) API
-
- .. grid-item-card:: PyPrimeMesh
- :img-top: _static/thumbnails/pyprimemesh.png
- :link: https://prime.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- .. grid-item-card:: PyRocky
- :img-top: _static/thumbnails/pyrocky.png
- :link: https://rocky.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Python library to communicate with Ansys Rocky using Rocky PrePost API
-
- .. grid-item-card:: PySeascape
- :img-top: _static/thumbnails/intro.png
- :link: https://seascape.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to communicate with Ansys RedHawkSC and TotemSC
-
- .. grid-item-card:: PySherlock
- :img-top: _static/thumbnails/pysherlock.png
- :link: https://sherlock.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to communicate with Ansys Sherlock
-
- .. grid-item-card:: PySimAI
- :img-top: _static/thumbnails/intro.png
- :link: https://simai.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to communicate with SimAI
-
- .. grid-item-card:: PySystem Coupling
- :img-top: _static/thumbnails/pysystem-coupling.png
- :link: https://systemcoupling.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to communicate with Ansys System Coupling
-
- .. grid-item-card:: PyTurbogrid
- :img-top: _static/thumbnails/pyturbogrid.png
- :link: https://turbogrid.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to Ansys TurboGrid, a high-quality turbomachinery meshing software app
-
- .. grid-item-card:: PyTwin
- :img-top: _static/thumbnails/pytwin.png
- :link: https://twin.docs.pyansys.com/version/stable
- :text-align: center
- :class-title: pyansys-card-title
-
- Pythonic interface to communicate with consumption workflows for Ansys digital twins
-
- .. grid-item-card:: Shared Components
- :img-top: _static/thumbnails/intro.png
- :link: https://shared.docs.pyansys.com
- :text-align: center
- :class-title: pyansys-card-title
-
- Shared Ansys software components to enable package interoperability and minimize maintenance
+=======
+PyAnsys
+=======
+
+Welcome to the PyAnsys project. While this project originated as a single ``pyansys`` package,
+it is now a collection of many Python packages for using Ansys products through Python:
+
+.. toctree::
+ :hidden:
+ :maxdepth: 3
+
+ getting_started
+ user_guide
+ api
+ examples
+ tools/index
+
+.. grid:: 3
+ :gutter: 3 3 4 4
+
+ .. grid-item-card:: PyAdditive
+ :img-top: _static/thumbnails/intro.png
+ :link: https://additive.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to the Ansys Additive service
+
+ .. grid-item-card:: PyAEDT
+ :img-top: _static/thumbnails/pyaedt.png
+ :link: https://aedt.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to AEDT (Ansys Electronic Desktop)
+
+ .. grid-item-card:: PyAnsys Geometry
+ :img-top: _static/thumbnails/pyansys-geometry.png
+ :link: https://geometry.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to the Ansys Geometry service
+
+ .. grid-item-card:: PyAnsys Math
+ :img-top: _static/thumbnails/pyansys-math.png
+ :link: https://math.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to PyAnsys Math libraries
+
+ .. grid-item-card:: PyDPF - Core
+ :img-top: _static/thumbnails/pydpf-core.png
+ :link: https://dpf.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to DPF (Data Processing Framework) for building more advanced and customized workflows
+
+ .. grid-item-card:: PyDPF - Post
+ :img-top: _static/thumbnails/pydpf-post.png
+ :link: https://post.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to access and post process Ansys solver result files
+
+ .. grid-item-card:: PyDPF - Composites
+ :img-top: _static/thumbnails/pydpf-composites.png
+ :link: https://composites.dpf.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to post-process layered and short-fiber composite models
+
+ .. grid-item-card:: PyDyna
+ :img-top: _static/thumbnails/pydyna.png
+ :link: https://dyna.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to build the Ansys DYNA input deck, submit it to the Ansys LS-DYNA solver and postprocess its results
+
+ .. grid-item-card:: PyDynamicReporting
+ :img-top: _static/thumbnails/pydynamicreporting.png
+ :link: https://dynamicreporting.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Dynamic Reporting for service and control of its database and reports
+
+ .. grid-item-card:: PyEDB - Core
+ :img-top: _static/thumbnails/pyaedt.png
+ :link: https://edb.core.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to the Electronics Database (EDB)
+
+ .. grid-item-card:: PyEnSight
+ :img-top: _static/thumbnails/pyensight.png
+ :link: https://ensight.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to EnSight, the Ansys simulation postprocessor
+
+ .. grid-item-card:: PyFluent
+ :img-top: _static/thumbnails/pyfluent.png
+ :link: https://fluent.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Fluent
+
+ .. grid-item-card:: PyFluent - Parametric
+ :img-top: _static/thumbnails/pyfluent-parametric.png
+ :link: https://parametric.fluent.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Fluent parametric workflows
+
+ .. grid-item-card:: PyFluent - Visualization
+ :img-top: _static/thumbnails/pyfluent-visualization.png
+ :link: https://visualization.fluent.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to visualize Ansys Fluent simulations
+
+ .. grid-item-card:: PyGranta
+ :img-top: _static/thumbnails/intro.png
+ :link: https://grantami.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Granta MI services
+
+ .. grid-item-card:: PyHPS
+ :img-top: _static/thumbnails/intro.png
+ :link: https://hps.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys HPC Platform Services (HPS)
+
+ .. grid-item-card:: PyMAPDL
+ :img-top: _static/thumbnails/pymapdl.png
+ :link: https://mapdl.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys MAPDL (Mechanical APDL)
+
+ .. grid-item-card:: PyMAPDL Reader
+ :img-top: _static/thumbnails/pymapdl_reader.png
+ :link: https://reader.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to read legacy MAPDL result files (MAPDL 14.5 and later)
+
+ .. grid-item-card:: PyMechanical
+ :img-top: _static/thumbnails/pymechanical.png
+ :link: https://mechanical.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Mechanical
+
+ .. grid-item-card:: PyMotorCAD
+ :img-top: _static/thumbnails/pymotorcad.png
+ :link: https://motorcad.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Motor-CAD
+
+ .. grid-item-card:: PyOptislang
+ :img-top: _static/thumbnails/pyoptislang.png
+ :link: https://optislang.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys Optislang
+
+ .. grid-item-card:: PyPIM
+ :img-top: _static/thumbnails/intro.png
+ :link: https://pypim.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to communicate with the Ansys PIM (Product Instance Management) API
+
+ .. grid-item-card:: PyPrimeMesh
+ :img-top: _static/thumbnails/pyprimemesh.png
+ :link: https://prime.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ .. grid-item-card:: PyRocky
+ :img-top: _static/thumbnails/pyrocky.png
+ :link: https://rocky.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Python library to communicate with Ansys Rocky using Rocky PrePost API
+
+ .. grid-item-card:: PySeascape
+ :img-top: _static/thumbnails/intro.png
+ :link: https://seascape.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to communicate with Ansys RedHawkSC and TotemSC
+
+ .. grid-item-card:: PySherlock
+ :img-top: _static/thumbnails/pysherlock.png
+ :link: https://sherlock.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to communicate with Ansys Sherlock
+
+ .. grid-item-card:: PySimAI
+ :img-top: _static/thumbnails/intro.png
+ :link: https://simai.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to communicate with SimAI
+
+ .. grid-item-card:: PySystem Coupling
+ :img-top: _static/thumbnails/pysystem-coupling.png
+ :link: https://systemcoupling.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to communicate with Ansys System Coupling
+
+ .. grid-item-card:: PyTurbogrid
+ :img-top: _static/thumbnails/pyturbogrid.png
+ :link: https://turbogrid.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to Ansys TurboGrid, a high-quality turbomachinery meshing software app
+
+ .. grid-item-card:: PyTwin
+ :img-top: _static/thumbnails/pytwin.png
+ :link: https://twin.docs.pyansys.com/version/stable
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Pythonic interface to communicate with consumption workflows for Ansys digital twins
+
+ .. grid-item-card:: Shared Components
+ :img-top: _static/thumbnails/intro.png
+ :link: https://shared.docs.pyansys.com
+ :text-align: center
+ :class-title: pyansys-card-title
+
+ Shared Ansys software components to enable package interoperability and minimize maintenance
diff --git a/doc/source/user_guide.rst b/doc/source/user_guide.rst
index 4d941114..e55a2094 100644
--- a/doc/source/user_guide.rst
+++ b/doc/source/user_guide.rst
@@ -103,6 +103,12 @@ PyAnsys packages user guides
:text-align: center
:class-title: pyansys-card-title
+ .. grid-item-card:: PyHPS
+ :img-top: _static/thumbnails/intro.png
+ :link: https://hps.docs.pyansys.com/version/stable/user_guide/index.html
+ :text-align: center
+ :class-title: pyansys-card-title
+
.. grid-item-card:: PyMAPDL
:img-top: _static/thumbnails/pymapdl.png
:link: https://mapdl.docs.pyansys.com/version/stable/user_guide/index.html
diff --git a/pyproject.toml b/pyproject.toml
index 6607ca16..613d36f8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,107 +1,108 @@
-[build-system]
-requires = ["flit_core >=3.2,<4"]
-build-backend = "flit_core.buildapi"
-
-[project]
-# Check https://flit.readthedocs.io/en/latest/pyproject_toml.html for all available sections
-name = "pyansys"
-version = "2024.2.dev0"
-description = "Pythonic interfaces to Ansys products"
-readme = "README.rst"
-requires-python = ">=3.9,<4"
-license = { file = "LICENSE" }
-authors = [{ name = "ANSYS, Inc.", email = "pyansys.support@ansys.com" }]
-maintainers = [
- { name = "PyAnsys developers", email = "pyansys.maintainers@ansys.com" },
-]
-classifiers = [
- "Development Status :: 4 - Beta",
- "Intended Audience :: Science/Research",
- "Topic :: Scientific/Engineering :: Information Analysis",
- "License :: OSI Approved :: MIT License",
- "Operating System :: OS Independent",
- "Programming Language :: Python :: 3.9",
- "Programming Language :: Python :: 3.10",
- "Programming Language :: Python :: 3.11",
- "Programming Language :: Python :: 3.12",
-]
-
-dependencies = [
- "ansys-additive-core==0.17.2",
- "ansys-dpf-composites==0.4.0",
- "ansys-dpf-core==0.11.0",
- "ansys-dpf-post==0.7.0",
- "ansys-dpf-gate==0.4.1",
- "ansys-dyna-core==0.4.8",
- "ansys-dynamicreporting-core==0.5.1",
- "ansys-edb-core==0.1.3",
- "ansys-fluent-core==0.19.2",
- "ansys-geometry-core==0.4.10",
- "ansys-mapdl-core==0.67.0",
- "ansys-math-core==0.1.3",
- "ansys-mechanical-core==0.10.7",
- "ansys-meshing-prime==0.5.1",
- "ansys-motorcad-core==0.4.0",
- "ansys-openapi-common==1.4.0",
- "ansys-optislang-core==0.5.1",
- "ansys-platform-instancemanagement==1.1.2",
- "ansys-pyensight-core==0.7.5",
- "ansys-rocky-core==0.1.0",
- "ansys-seascape==0.2.0",
- "ansys-sherlock-core==0.4.0",
- "ansys-simai-core==0.1.3",
- "ansys-systemcoupling-core==0.4.0",
- "ansys-turbogrid-core==0.4.0",
- "pyaedt==0.7.12",
- "pygranta==2024.1.0",
- "pytwin==0.6.0",
-]
-
-[project.optional-dependencies]
-mapdl-all = ["ansys-mapdl-reader==0.53.0"]
-fluent-all = [
- "ansys-fluent-visualization==0.8.0",
- "ansys-fluent-parametric==0.9.0",
-]
-tools = [
- "ansys-units==0.3.1",
- "ansys-tools-path==0.4.1",
- "pyansys-tools-report==0.7.0",
- "pyansys-tools-versioning==0.5.0",
-]
-all = [
- # MAPDL - ALL
- "ansys-mapdl-reader==0.53.0",
- # FLUENT - ALL
- "ansys-fluent-visualization==0.8.0",
- "ansys-fluent-parametric==0.9.0",
- # TOOLS
- "ansys-units==0.3.1",
- "ansys-tools-path==0.4.1",
- # "ansys-tools-protoc-helper==0.4.0; python_version<='3.10'",
- "pyansys-tools-report==0.7.0",
- "pyansys-tools-versioning==0.5.0",
-]
-doc = [
- "Sphinx==7.2.6",
- "ansys-sphinx-theme==0.14.0",
- "sphinx-copybutton==0.5.2",
- "sphinx-design==0.5.0",
-]
-
-[project.urls]
-Source = "https://github.com/ansys/pyansys"
-Documentation = "https://docs.pyansys.com"
-
-[tool.flit.module]
-name = "pyansys"
-
-[tool.black]
-line-length = 100
-
-[tool.isort]
-profile = "black"
-force_sort_within_sections = true
-line_length = 100
-default_section = "THIRDPARTY"
-src_paths = ["doc", "src"]
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+# Check https://flit.readthedocs.io/en/latest/pyproject_toml.html for all available sections
+name = "pyansys"
+version = "2024.2.dev0"
+description = "Pythonic interfaces to Ansys products"
+readme = "README.rst"
+requires-python = ">=3.9,<4"
+license = { file = "LICENSE" }
+authors = [{ name = "ANSYS, Inc.", email = "pyansys.support@ansys.com" }]
+maintainers = [
+ { name = "PyAnsys developers", email = "pyansys.maintainers@ansys.com" },
+]
+classifiers = [
+ "Development Status :: 4 - Beta",
+ "Intended Audience :: Science/Research",
+ "Topic :: Scientific/Engineering :: Information Analysis",
+ "License :: OSI Approved :: MIT License",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+]
+
+dependencies = [
+ "ansys-additive-core==0.17.2",
+ "ansys-dpf-composites==0.4.0",
+ "ansys-dpf-core==0.11.0",
+ "ansys-dpf-post==0.7.0",
+ "ansys-dpf-gate==0.4.1",
+ "ansys-dyna-core==0.4.8",
+ "ansys-dynamicreporting-core==0.5.1",
+ "ansys-edb-core==0.1.3",
+ "ansys-fluent-core==0.19.2",
+ "ansys-geometry-core==0.4.10",
+ "ansys-hps-client==0.7.1",
+ "ansys-mapdl-core==0.67.0",
+ "ansys-math-core==0.1.3",
+ "ansys-mechanical-core==0.10.7",
+ "ansys-meshing-prime==0.5.1",
+ "ansys-motorcad-core==0.4.0",
+ "ansys-openapi-common==1.4.0",
+ "ansys-optislang-core==0.5.1",
+ "ansys-platform-instancemanagement==1.1.2",
+ "ansys-pyensight-core==0.7.5",
+ "ansys-rocky-core==0.1.0",
+ "ansys-seascape==0.2.0",
+ "ansys-sherlock-core==0.4.0",
+ "ansys-simai-core==0.1.3",
+ "ansys-systemcoupling-core==0.4.0",
+ "ansys-turbogrid-core==0.4.0",
+ "pyaedt==0.7.12",
+ "pygranta==2024.1.0",
+ "pytwin==0.6.0",
+]
+
+[project.optional-dependencies]
+mapdl-all = ["ansys-mapdl-reader==0.53.0"]
+fluent-all = [
+ "ansys-fluent-visualization==0.8.0",
+ "ansys-fluent-parametric==0.9.0",
+]
+tools = [
+ "ansys-units==0.3.1",
+ "ansys-tools-path==0.4.1",
+ "pyansys-tools-report==0.7.0",
+ "pyansys-tools-versioning==0.5.0",
+]
+all = [
+ # MAPDL - ALL
+ "ansys-mapdl-reader==0.53.0",
+ # FLUENT - ALL
+ "ansys-fluent-visualization==0.8.0",
+ "ansys-fluent-parametric==0.9.0",
+ # TOOLS
+ "ansys-units==0.3.1",
+ "ansys-tools-path==0.4.1",
+ # "ansys-tools-protoc-helper==0.4.0; python_version<='3.10'",
+ "pyansys-tools-report==0.7.0",
+ "pyansys-tools-versioning==0.5.0",
+]
+doc = [
+ "Sphinx==7.2.6",
+ "ansys-sphinx-theme==0.14.0",
+ "sphinx-copybutton==0.5.2",
+ "sphinx-design==0.5.0",
+]
+
+[project.urls]
+Source = "https://github.com/ansys/pyansys"
+Documentation = "https://docs.pyansys.com"
+
+[tool.flit.module]
+name = "pyansys"
+
+[tool.black]
+line-length = 100
+
+[tool.isort]
+profile = "black"
+force_sort_within_sections = true
+line_length = 100
+default_section = "THIRDPARTY"
+src_paths = ["doc", "src"]
diff --git a/tools/links.py b/tools/links.py
index 640ed8d8..1162c383 100644
--- a/tools/links.py
+++ b/tools/links.py
@@ -31,6 +31,7 @@
"ansys-edb-core": "https://edb.core.docs.pyansys.com/version/stable", # noqa: E501
"ansys-geometry-core": "https://geometry.docs.pyansys.com/version/stable",
"ansys-fluent-core": "https://fluent.docs.pyansys.com/version/stable",
+ "ansys-hps-client": "https://hps.docs.pyansys.com/version/stable",
"ansys-mapdl-core": "https://mapdl.docs.pyansys.com/version/stable",
"ansys-math-core": "https://math.docs.pyansys.com/version/stable",
"ansys-mechanical-core": "https://mechanical.docs.pyansys.com/version/stable", # noqa: E501