Skip to main content

PyAnsys Python pypi PyPIact GH-CI Codecov MIT Black

Overview

PyOptiSLang is a Python wrapper for Ansys optiSLang. It supports Pythonic access to Ansys optiSLang to be able to communicate with Ansys optiSLang directly from Python. The latest ansys-optislang package provides these capabilities:

  • Start and manage local instances of Ansys optiSLang

  • Remote connections to Ansys optiSLang instances via TCP/IP

  • Create new Ansys optiSLang projects

  • Open existing Ansys optiSLang projects

  • Control Ansys optiSLang project execution

  • Save Ansys optiSLang projects

  • Execute Ansys optiSLang Python API scripts on backend side

  • Evaluate designs on root project level

  • Create and connect nodes

Documentation and issues

For comprehensive information on PyOptiSLang, see the latest release documentation. On the PyOptiSLang 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.

Installation

The ansys-optislang-core package supports Python 3.12 through 3.14 on Windows and Linux. Three modes of installation are available:

  • User installation

  • Developer installation

  • Offline installation

For either a developer or offline installation, consider using a virtual environment.

User installation

Install the latest release from PyPi with this command:

pip install ansys-optislang-core

Alternatively, install the latest PyOptiSLang GitHub package with this command:

pip install git+https://github.com/ansys/pyoptislang.git

Developer installation

If you plan on doing local development with GitHub, clone and install PyOptiSLang with this code:

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

A developer installation allows you to edit ansys-optislang-core files locally. Any changes that you make are reflected in your setup after restarting the Python kernel.

Offline installation

Using a wheelhouse can be helpful if you work for a company that restricts access to external networks. From the Releases page in the PyOptiSLang repository, you can find the wheelhouses for a particular release in its assets and download the wheelhouse corresponding to your setup.

You can then install PyOptiSLang and all of its dependencies from one single entry point that can be shared internally, which eases the security review of the PyOptiSLang package content.

For example, on Linux with Python 3.12, unzip the wheelhouse and install PyOptiSLang with code like this:

unzip PyOptiSLang-v0.1.0-wheelhouse-Linux-3.12.zip wheelhouse
pip install ansys-optislang-core -f wheelhouse --no-index --upgrade --ignore-installed

If you’re on Windows with Python 3.12, unzip the wheelhouse to a wheelhouse directory and then install using the same pip command as in the preceding Linux code example.

Dependencies

You must have a local licensed copy or a remote instance of optiSLang installed. The first supported version is 2023 R1.

Getting started

Using the Optislang class, you can either launch optiSLang locally or connect to an already running optiSLang instance. By default, PyOptiSLang uses local domain communication (Named Pipes on Windows and Unix Domain Sockets on Linux) in user scope. For remote connections, TCP/IP communication can be used optionally.

Launch optiSLang locally

For launching optiSLang locally, use the Optislang class without specifying either of the local_server_id or host and port arguments. This launches optiSLang locally and establishes a local domain communication channel. The communication_channel argument can be specified to use remote TCP/IP communication if desired. Other parameters can optionally be specified.

from ansys.optislang.core import Optislang

osl = Optislang()
osl.dispose()

Connect to an already running optiSLang instance

For connection to an already running optiSLang instance, you must specify either of the local_server_id or host and port arguments. Arguments related to the execution of a new optiSLang instance are ignored in this case.

from ansys.optislang.core import Optislang

host = "127.0.0.1"
port = 5310
osl = Optislang(host=host, port=port)
osl.dispose()

Basic usage

This code shows how to launch optiSLang locally, open and run a Python script file, save the results to a new project, and then close the connection:

from ansys.optislang.core import Optislang

osl = Optislang()
file_path = r"C:\Users\Username\my_scripts\myscript.py"
osl.application.project.run_python_file(path=file_path)
osl.application.save_copy("MyNewProject.opf")
osl.dispose()

License and acknowledgments

PyOptiSLang is licensed under the MIT license.

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

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

Download files

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

Source Distribution

ansys_optislang_core-1.6.0.tar.gz (781.7 kB view details)

Uploaded Source

Built Distribution

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

ansys_optislang_core-1.6.0-py3-none-any.whl (844.6 kB view details)

Uploaded Python 3

File details

Details for the file ansys_optislang_core-1.6.0.tar.gz.

File metadata

  • Download URL: ansys_optislang_core-1.6.0.tar.gz
  • Upload date:
  • Size: 781.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ansys_optislang_core-1.6.0.tar.gz
Algorithm Hash digest
SHA256 bec9016bcf691320f92774aa6a703a4f35a64638638f0a5904afbeb1cc136c4c
MD5 67cfe2eb177e811850d47d5d8140099b
BLAKE2b-256 a3849fe584875704da0364d275dad3dbe985c053eec40284d90718b288db5cbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_optislang_core-1.6.0.tar.gz:

Publisher: ci_cd.yml on ansys/pyoptislang

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_optislang_core-1.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ansys_optislang_core-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26142068bd1eefe408804603d7b4b9f526891d260a2c0a639e8c04a369c97883
MD5 1d1f897ea370395cb5afcf1a58bd15c3
BLAKE2b-256 b2a3354cccbd008fa19f0df363fabd226a0c868045acdb42ad69e8438d8411ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_optislang_core-1.6.0-py3-none-any.whl:

Publisher: ci_cd.yml on ansys/pyoptislang

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

Release history Release notifications | RSS feed

This release

1.6.0 This release

2 files

1.5.0

2 files

1.4.1

2 files

1.4.0

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.10.0

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 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