Skip to main content

Pythonic interface to Ansys Motor-CAD.

Project description

PyAnsys Python PyPI GH-CI Codecov MIT Black

Overview

Ansys Motor-CAD is a dedicated design and analysis tool for electric motors. It enables rapid and accurate multiphysics design and analysis of electric machines across the full-operating spectrum.

PyMotorCAD uses a Python JSON-RPC (remote procedure call) interface for Motor-CAD to launch or connect with a Motor-CAD instance, either locally or from a remote machine via HTTP. With PyMotorCAD, you can programmatically create, interact with, and control a Motor-CAD model, with or without using the Motor-CAD GUI.

Documentation and issues

Documentation for the latest stable release of PyMotorCAD is hosted at PyMotorCAD 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.

You can also view or download the PyMotorCAD cheat sheet. This one-page reference provides syntax rules and commands for using PyMotorCAD.

On the PyMotorCAD Issues page, you can create issues to report bugs and request new features. On 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.

Installation

PyMotorCAD has two installation modes: user and developer.

Install in user mode

Before installing PyMotorCAD in user mode, run this command to ensure that you have the latest version of pip:

python -m pip install -U pip

Then, run this command to install PyMotorCAD:

python -m pip install ansys-motorcad-core

Install in developer mode

Installing PyMotorCAD in developer mode allows you to modify the source and enhance it.

Note: Before contributing to this project, ensure that you are familiar with all guidelines in the PyAnsys Developer’s Guide.

To install in developer mode, complete these steps:

  1. Clone the pymotorcad repository with this command:

    git clone https://github.com/ansys/pymotorcad
  2. Create a fresh-clean Python environment and then activate it with these commands:

    # Create a virtual environment
    python -m venv .venv
    
    # Activate it in a POSIX system
    source .venv/bin/activate
    
    # Activate it in Windows CMD environment
    .venv\Scripts\activate.bat
    
    # Activate it in Windows Powershell
    .venv\Scripts\Activate.ps1
  3. Ensure that you have the latest required build system and documentation, testing, and CI tools with this command:

    python -m pip install -U pip tox
  4. Install the project in editable mode with this command:

    python -m pip install --editable ansys-motorcad-core
  5. Verify your development installation with this command:

    tox

Testing

This project takes advantage of tox. This tool allows you to automate common development tasks (similar to Makefile), but it is oriented towards Python development.

While Makefile has rules, tox has environments. In fact, tox creates its own virtual environment to guarantee the project’s integrity by isolating anything being tested.

tox commands

Here are commands for running various checks in the tox environment:

  • tox -e style: Checks for coding style quality.

  • tox -e py: Checks for unit tests.

  • tox -e py-coverage: Checks for unit testing and code coverage.

  • tox -e doc: Checks for the documentation-building process.

Raw testing

If required, you can call style commands, such as black, isort, and flake8, or unit testing commands, such as`pytest`_, from the command line. However, using these commands does not guarantee that your project is being tested in an isolated environment, which is why tools like tox exist.

Style checks

The style checks take advantage of pre-commit. Developers are not forced but encouraged to install this tool by running this command:

python -m pip install pre-commit && pre-commit install

Documentation builds

To build documentation, you can run the usual rules provided in the Sphinx Makefile with a command like this:

make -C doc/ html && your_browser_name doc/html/index.html

However, the recommended way of checking documentation integrity is to use a tox command like this:

tox -e doc && your_browser_name .tox/doc_out/index.html

Distribution

If you would like to create either source or wheel files, run the following commands to install the building requirements and execute the build module:

python -m pip install -U pip
python -m build
python -m twine check dist/*

License and acknowledgements

PyMotorCAD is licensed under the MIT license. For more information, see the LICENSE file.

PyMotorCAD makes no commercial claim over Ansys whatsoever. This library extends the capability of Ansys Motor-CAD by adding a Python interface to Motor-CAD without changing the core behaviour or license of the original software. Using PyMotorCAD for interactive control of Motor-CAD requires a legally licensed copy of Motor-CAD.

For more information on Motor-CAD, see the Ansys Motor-CAD page on the Ansys website.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansys_motorcad_core-0.4.0.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

ansys_motorcad_core-0.4.0-py3-none-any.whl (51.2 kB view details)

Uploaded Python 3

File details

Details for the file ansys_motorcad_core-0.4.0.tar.gz.

File metadata

  • Download URL: ansys_motorcad_core-0.4.0.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for ansys_motorcad_core-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e10e1e3772e5da5629171bfb3c40b304a93913119ed2ae1bcbc582352f427334
MD5 9f27cc1421c093d09cc708b36e1f3a51
BLAKE2b-256 0546938014fcf645302eaae4d4f76ee4a2f8be7f7311fdd7f9c28746c601923c

See more details on using hashes here.

File details

Details for the file ansys_motorcad_core-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ansys_motorcad_core-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce1a95b4d2329ed3fd59f427c7317c31bfd1339884585b4a5142b074d076f607
MD5 594c9c00d5f2bc0f774b9f85dabaf10e
BLAKE2b-256 e02efb819f7d70aaf414d2b7b20a6dcd620a28325c45e38359c3cacc027197f4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page