Skip to main content

PyAnsys Python PyPI PyPI Downloads GH-CI Codecov MIT Black pre-commit.ci

Overview

PyMechanical Stubs generates __init__.py files from assembly files in the Mechanical application to create python files that can be used for autocomplete with PyMechanical. Stubs are generated for each version of Mechanical, starting with 2024 R1.

clr-stubs generate Python stubs for .NET assemblies using pythonnet. These stubs are intended to be used by the autocomplete engine of editors like Atom, Sublime, and VS Code, as well as for python documentation generation (for example, with Sphinx)

Why clr-stubs?

If you are writing python code using .NET modules via pythonnet’s clr.AddReference, your IDE’s autocomplete (which usually runs python) will not be able to follow any .NET namespaces or libraries.

The workaround in clr-stubs is to create ‘stubs’ or ‘fakes’ with the same namespaces, types, and metadata that would typically be available in a pure python library. The ‘stubs’ can then be used by your IDE’s autocomplete.

Manually create __init__.py files

  1. Install Mechanical 2024 R1 or R2.

    Note

    Ensure the environment variable, AWP_ROOTDV_DEV, is set to the location of Mechanical 2024 R1 or R2 (C:\Program Files\Ansys Inc\v242).

  2. Clone the repository.

    git clone https://github.com/ansys/pymechanical-stubs.git
  3. Run stub_generator/create_files.py to generate the stubs from Mechanical 2024 R1 or R2.

    python stub_generator/create_files.py

    Note

    There may be an Unhandled Exception when the stubs are done running. If the message, “Done creating all Mechanical stubs” appears, proceed to the next step.

  4. Next, create and activate a virtual environment:

    python -m venv .venv

    Windows:

    .venv\Scripts\activate.bat

    Linux:

    source .venv/bin/activate
  5. Install ansys-mechanical-stubs

    pip install -e .
  6. Make the Sphinx documentation

    make -C doc html

    Note

    You can ignore any current warning messages. It is a lengthy process to generate the documentation.

Installation

You can use pip to install PyMechanical Stubs.

pip install ansys-mechanical-stubs

To install the latest development version, run these commands:

git clone https://github.com/ansys/pymechanical-stubs
cd pymechanical-stubs
pip install -e .

Install in offline mode

If you lack an internet connection or you do not have access to the private Ansys PyPI packages repository, you should install PyMechanical Stubs by downloading the wheelhouse archive for your corresponding machine architecture from the repository’s Releases page.

Each wheelhouse archive contains all of the Python wheels necessary to install PyMechanical Stubs from scratch on Windows, Linux, and MacOS from Python 3.10 to 3.12. In addition, you can install the wheelhouse on a new virtual environment that does not include any previously installed dependencies.

For example, on Linux with Python 3.10, unzip the wheelhouse archive and install it with these commands:

unzip ansys-mechanical-stubs-v0.1.9-wheelhouse-ubuntu-latest-3.10 -d wheelhouse
pip install ansys-mechanical-stubs -f wheelhouse --no-index --upgrade --ignore-installed

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

Note

If desired, you can install the wheelhouse on an isolated or virtual system. See Creation of virtual environments in the Python documentation for the required steps.

Basic usage

This code shows how to import PyMechanical Stubs and its basic capabilities:

from typing import TYPE_CHECKING
import ansys.mechanical.core as mech

if TYPE_CHECKING:
    import ansys.mechanical.stubs.v261.Ansys as Ansys

geometry_import_group = app.Model.GeometryImportGroup
geometry_import = geometry_import_group.AddGeometryImport()

# Lines that start with "Ansys." will autocomplete as you type
geometry_import_format = (
    Ansys.Mechanical.DataModel.Enums.GeometryImportPreference.Format.Automatic
)
geometry_import_preferences = Ansys.ACT.Mechanical.Utilities.GeometryImportPreferences()

Alternatively, you can enable autocomplete in VS Code’s settings.json file with the following steps:

  1. Run pip install ansys-mechanical-core.

  2. Run ansys-mechanical-ideconfig in the terminal to retrieve the information for VS Code’s settings.json file:

    ansys-mechanical-ideconfig --ide vscode --target user --revision 242

    The command returns the path to the settings.json file. Open the file and add the lines from the command output.

  3. Once the settings.json file is updated, you only need to import Ansys to enable autocomplete:

    from typing import TYPE_CHECKING
    import ansys.mechanical.core as mech
    
    if TYPE_CHECKING:
        import Ansys
        from Ansys.Mechanical.DataModel.Enums import *
    
    geometry_import_group = app.Model.GeometryImportGroup
    geometry_import = geometry_import_group.AddGeometryImport()
    
    # Lines that start with "Ansys." will autocomplete as you type
    geometry_import_format = (
        Ansys.Mechanical.DataModel.Enums.GeometryImportPreference.Format.Automatic
    )
    geometry_import_preferences = Ansys.ACT.Mechanical.Utilities.GeometryImportPreferences()

Documentation and issues

Documentation for the latest stable release of PyMechanical Stubs is hosted at PyMechanical Stubs documentation.

In the upper right corner of the documentation’s title bar, there is an option for switching from viewing the documentation for the latest stable release to viewing the documentation for the development version or previously released versions.

On the PyMechanical Stubs Issues page, you can create issues to report bugs and request new features. On the PyMechanical Stubs Discussions page or the Discussions page on the Ansys Developer portal, you can post questions, share ideas, and get community feedback.

To reach the project support team, email pyansys.core@ansys.com.

Credits

This project is inspired by [ironpython-stubs](https://github.com/gtalarico/ironpython-stubs) but is developed from scratch.

Release files for ansys-mechanical-stubs 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ansys-mechanical-stubs 0.1.15
File Size Uploaded
ansys_mechanical_stubs-0.1.15.tar.gz 5.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ansys-mechanical-stubs 0.1.15
File Interpreter ABI Platform
ansys_mechanical_stubs-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 11.2 MB

Release files / ansys_mechanical_stubs-0.1.15.tar.gz

Download URL ansys_mechanical_stubs-0.1.15.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
e622efe52ca45b7129a1b6748eefcb45ea983e6eea0d1dc3d493fa47a0193b0c
BLAKE2b-256 checksum
How to use checksums
13ee41714ec9a853c33fa9c7fa0b546d391623834674d8b6a7ec3d1afa99dced
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / ansys_mechanical_stubs-0.1.15-py3-none-any.whl

Download URL ansys_mechanical_stubs-0.1.15-py3-none-any.whl
Size 5.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b27bda364f51b8114c461a6242c79f87bdba724494f8fd1f8ed3d6a21a0a9d2b
BLAKE2b-256 checksum
How to use checksums
679d70554ef92fb1deaeddb06fa9b36de714d1b89d4b6b313622381e970e10bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page