/pyansys

Delivering PyAnsys libraries as a bundle

Primary LanguagePythonMIT LicenseMIT

PyAnsys metapackage

PyAnsys Python PyPI PyPI Downloads GH-CI MIT Black 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.

PyAnsys

The pyansys metapackage ensures compatibility between these PyAnsys packages:

  • PyACP: Pythonic interface to Ansys Composite PrepPost (ACP).
  • PyAdditive: Pythonic interface to the Ansys Additive service.
  • PyAdditive Widgets: PyAdditive widget toolkit to visualize additive parametric study results.
  • PyAEDT: Pythonic interface to Ansys Electronics Desktop (AEDT).
  • PyAnsys Geometry: Pythonic interface to the Ansys Geometry service.
  • PyAnsys Math: Pythonic interface to PyAnsys Math libraries.
  • PyAnsys Sound: Pythonic interface to Ansys Sound.
  • PyConceptEV: Pythonic interface to Ansys ConceptEV library.
  • PyDPF - Core: Pythonic interface to the Data Processing Framework (DPF) for building advanced and customized workflows.
  • PyDPF - Post: Pythonic interface to access and post process Ansys solver result files.
  • PyDPF - Composites: Pythonic interface to postprocess 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: Pythonic interface to the Ansys Electronics Database (EDB) client library.
  • PyEDB - Core: Pythonic interface to Ansys Electronics Database (EDB).
  • PyEnSight: Pythonic interface to EnSight, the Ansys simulation postprocessor.
  • PyFluent: Pythonic interface to Ansys Fluent.
  • 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.
  • PyModelCenter: Pythonic interface for Ansys ModelCenter
  • 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: Python library to acquire geometries and prepare surface and volume meshes for multiple solvers.
  • 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.
  • PyWorkbench: Pythonic interface to Ansys Workbench.
  • Shared Components: Shared Ansys software components to enable package interoperability and minimize maintenance.

Other tools delivered as part of the metapackage are:

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:

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 with this command:

python -m pip install -U pip

Then, install the pyansys metapackage with this command:

python -m pip install pyansys

If you are interested in installing an extra target such as fluent-all, you use a command like this:

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:

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

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.

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:

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:

2024.2.0

Any subsequent patched version of this package would be:

2024.2.1
2024.2.2
2024.2.3
...

You can request a specific version install when using pip to install your package:

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.