PySpeos library
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()
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 .[graphics] --group 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:261
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:261 --transport_insecure --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 . --group tests
pytest -vx
Use jupyter notebook
pip install . --group 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.
Release files for ansys-speos-core 0.9.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ansys_speos_core-0.9.2.tar.gz | 195.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ansys_speos_core-0.9.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 441.2 kB
Release files / ansys_speos_core-0.9.2.tar.gz
| Download URL | ansys_speos_core-0.9.2.tar.gz |
|---|---|
| Size | 195.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a65b9963c6ddcff899236bd06171905f4fa92d27dd6cdc203d5be5c3a00296e8
|
|
BLAKE2b-256 checksum How to use checksums |
6a5dadda3bfa2e66e31be06a447ab7418535109dd9f268c1a3925c64b7c588f5
|
| 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 Sep 16, 2026.
Transparency logRelease files / ansys_speos_core-0.9.2-py3-none-any.whl
| Download URL | ansys_speos_core-0.9.2-py3-none-any.whl |
|---|---|
| Size | 246.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3af1b506de0b19d63a321722c93f0d8784ad44f67a516ee72049ff0c94920de4
|
|
BLAKE2b-256 checksum How to use checksums |
c0cae806beea12690c906b7f23ca9798dba9181d4e7c7e698d93ad79c5c0fc1d
|
| 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 Sep 16, 2026.
Transparency log