Skip to main content

A Python wrapper for Ansys Speos

Project description

PyAnsys Python PyPI Codecov GH-CI MIT Ruff

Project overview

PySpeos is a Python library that gathers functionalities and tools based on remote API provided by gRPC server of Ansys software Speos .

Installation

Installation can be done using the published package or the repository sources.

Package

This repository is deployed as the Python packages ansys-speos-core. As usual, installation is done by running:

pip install ansys-speos-core

Sources

Prerequisite: user needs to have a GitHub account and a valid Personal Access Token (see GitHub Settings/Developer settings/Personal access tokens/Generate new token).

Clone and install

git clone https://github.com/ansys/pyspeos.git
cd pyspeos
python -m pip install --upgrade pip
pip install -U pip tox
tox -e style
pip install -e .

Functionalities

All sources are located in src/ folder.

from ansys.speos.core.speos import Speos

speos = Speos(host="localhost", port=50098)

Documentation and issues

Documentation for the latest stable release of PySpeos is hosted at PySpeos 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 PySpeos Issues page, you can create issues to report bugs and request new features. On the PySpeos 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.

The documentation sources are stored in doc folder and generated using Sphinx. To build it manually :

pip install -U pip tox
pip install .[doc]
tox -e doc && your_browser_name .tox/doc_out/index.html

Testing

Tests and assets are in tests and tests/assets folder. Running PySpeos tests requires a running SpeosRPC server. A configuration file allows to choose between a local server and a Docker server (by default).

Test configuration file

The configuration file tests/local_config.json located in tests folder contains several parameters that can be changed according to your needs, for example:

  • SpeosServerOnDocker (Boolean): Speos server launched in a Docker container.

  • SpeosServerPort (integer): Port used by Speos server for HTTP transfer.

Start server

The first option is to use the Docker image from the PySpeos repository on Github.

Use a GitHub personal access token with permission for reading packages to authorize Docker to access this repository. For more information, see Managing your personal access tokens in the GitHub documentation. Save the token to a file with this command:

echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > GH_TOKEN.txt

Since the Docker image contains no license server, you will need to enter your license server IP address in the LICENSE_SERVER environment variable. Then, to launch SpeosRPC server with product version 2025.1, you can run:

export GH_USERNAME=<my-github-username>
export LICENSE_SERVER=1055@XXX.XXX.XXX.XXX

cat GH_TOKEN.txt | docker login ghcr.io -u "$GH_USERNAME" --password-stdin
docker pull ghcr.io/ansys/speos-rpc:252
docker run --detach --name speos-rpc -p 127.0.0.1:50098:50098 -e ANSYSLMD_LICENSE_FILE=$LICENSE_SERVER --entrypoint /app/SpeosRPC_Server.x ghcr.io/ansys/speos-rpc:252 --host 0.0.0.0

On the other hand, the SpeosRPC server can be started locally.

For Windows:

%AWP_ROOT251%\Optical Products\SPEOS_RPC\SpeosRPC_Server.exe

For Linux:

$AWP_ROOT251\OpticalProducts\SPEOS_RPC\SpeosRPC_Server.x

And test configuration file tests/local_config.json must be updated to use local server:

{
   "SpeosServerOnDocker": false,
   "SpeosContainerName" : "speos-rpc",
   "SpeosServerPort": 50098
}

Launch unit tests

pip install .[tests]
pytest -vx

Use jupyter notebook

pip install .[jupyter]
jupyter notebook

jupyter notebook can be downloaded from the documentations example section.

Features

Information of the latest stable release features:

PySpeos core features

Features supported in the latest release can be found at:

Speos RPC features

Speos RPC is based on a gRPC server and provides APIs to interact with Speos solver.

Features supported in the latest Speos RPC can be found at: Ansys Speos for developers Speos RPC.

License

PySpeos is licensed under the MIT license. The full license can be found in the root directory of the repository, see LICENSE.

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_speos_core-0.6.3.tar.gz (108.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansys_speos_core-0.6.3-py3-none-any.whl (152.0 kB view details)

Uploaded Python 3

File details

Details for the file ansys_speos_core-0.6.3.tar.gz.

File metadata

  • Download URL: ansys_speos_core-0.6.3.tar.gz
  • Upload date:
  • Size: 108.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ansys_speos_core-0.6.3.tar.gz
Algorithm Hash digest
SHA256 14430afc33ba8e1dcc6aaa1a1651c403701c667a982cde9764745528182ddc34
MD5 eac9726a5ca0ca646e3fa31030dbdf5c
BLAKE2b-256 81d370ab77cc70623d6f31a9dd88334c532e6f40f9b179364ba43bf05fb6116b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_speos_core-0.6.3.tar.gz:

Publisher: ci_cd.yml on ansys/pyspeos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansys_speos_core-0.6.3-py3-none-any.whl.

File metadata

File hashes

Hashes for ansys_speos_core-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 024538667abda44acf7b9c42e9b7d9da553cc005e20298bb15386b516809c628
MD5 4f903c1ffedec956307806eeec07c8aa
BLAKE2b-256 fa6a47206a472df2286867b024cc4b64e06b677fd5912d6c4f41e1eeb7415962

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_speos_core-0.6.3-py3-none-any.whl:

Publisher: ci_cd.yml on ansys/pyspeos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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