Skip to content

ansys/pysherlock

Repository files navigation

PySherlock

PyAnsys Python PyPI GH-CI Codecov MIT Black

PySherlock is a Python client library for the Ansys Sherlock product.

Overview

Ansys Sherlock is a reliability physics-based electronics design tool that provides fast and accurate life predictions for electronic hardware at the component, board, and system levels in early stage design.

PySherlock provides Pythonic access to Sherlock's functions, enabling users to automate and customize their specific workflows.

With PySherlock, you can perform many tasks, including these:

  • Launch a Sherlock gRPC server and a Sherlock client.
  • Import ECAD files and generate project reports.
  • Define life cycle events and profiles.
  • Generate a stackup and update a stackup layer.
  • Update a project parts list.
  • Perform layer view operations such as updating a mount point's location.
  • Export a trace or trace reinforcement model for integration with Ansys Workbench.
  • Execute one or more analyses.

Dependencies

You must have a licensed copy of Ansys Sherlock installed either on your local machine or a remote machine. To use a remote session, a connection to the remote machine must be available from your Python program.

Getting Started

PySherlock uses an environment variable called AWP_ROOT<ver>, where <ver> is the Sherlock release number, such as 242 for release 2024 R2. Each release version should have its own environment variable. This variable is how PySherlock finds a Sherlock installation for a specific version. If there are multiple versions, PySherlock will pick the latest.

On a Windows System, the environment variable AWP_ROOT<ver> is configured by the Ansys installer.

On a Linux system, the AWP_ROOT<ver> environment variable must be configured by the user. It must point to the absolute path of an Ansys installation directory. For example, if Sherlock 24R2 is installed in the following location /opt/ansys_inc/v242/sherlock/ , then an environment variable named AWP_ROOT242 must be created and set to /opt/ansys_inc/v242/. If there are multiple versions of Ansys tools installed, similar environment variables must be created for those versions.

For the rest of the setup please refer to the tutorial videos below.

Documentation and issues

For comprehensive information on PySherlock, see the latest release documentation.

On the PySherlock Issues page, you can create issues to submit questions, report bugs, and request new features. This is the best place to post questions and code.

Contributing

If you would like to test or contribute to the development of PySherlock, see Contribute in the PySherlock documentation.

License

PySherlock is licensed under the MIT license.

PySherlock makes no commercial claim over Ansys whatsoever. This library extends the functionality of Ansys Sherlock by adding a Python interface to Sherlock without changing the core behavior or license of the original software. The use of the interactive control of PySherlock requires a legally licensed copy of Sherlock.

For more information on Sherlock, see the Ansys Sherlock page on the Ansys website.