ansys / pyansys

Delivering PyAnsys libraries as a bundle
https://docs.pyansys.com
MIT License
146 stars 84 forks source link

PyAnsys metapackage

|pyansys| |python| |pypi| |downloads| |GH-CI| |MIT| |Ruff| |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

.. |Ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: Ruff

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

Other tools delivered as part of the metapackage are:

Much effort is underway to continue expanding and developing packages in the PyAnsys GitHub <https://github.com/ansys/>_ 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 <https://discuss.ansys.com/>.

By default, the PyAnsys metapackage installs these core modules:

Additionally, the pyansys metapackage contains certain extra targets that can be installed upon request:

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 <https://pypi.org/project/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 <https://github.com/ansys/pyansys/releases>_ 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.10 to 3.12. 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.10, unzip the wheelhouse archive and install it with the following commands:

.. code:: bash

unzip pyansys-v2025.1.dev0-wheelhouse-Linux-3.10-core.zip wheelhouse
pip install pyansys -f wheelhouse --no-index --upgrade --ignore-installed

If you're on Windows with Python 3.10, unzip to a wheelhouse directory and then install using the same pip command as in the previous example.

Consider installing using a virtual environment <https://docs.python.org/3/library/venv.html>_.

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:

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 <https://www.ansys.com/>_.