An open API service indexing awesome lists of open source software.

https://github.com/ansys/pyseascape

Pythonic interface to Ansys RedHawk-SC, Totem-SC and other seascape tools
https://github.com/ansys/pyseascape

Last synced: about 1 month ago
JSON representation

Pythonic interface to Ansys RedHawk-SC, Totem-SC and other seascape tools

Awesome Lists containing this project

README

        

******************
PySeascape library
******************

|pyansys| |python| |pypi| |GH-CI| |build| |MIT| |black|

.. |pyansys| image:: https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC
:target: https://docs.pyansys.com/
:alt: PyAnsys

.. |python| image:: https://img.shields.io/pypi/pyversions/ansys-seascape?logo=pypi
:target: https://pypi.org/project/ansys-seascape/
:alt: Python

.. |build| image:: https://img.shields.io/github/actions/workflow/status/ansys/pyseascape/ci_cd.yml?branch=main&style=flat
:target: https://github.com/ansys/pyseascape/actions/workflows/ci_cd.yml?query=workflow%3A%22GitHub+CI%22
:alt: Build

.. |pypi| image:: https://img.shields.io/pypi/v/ansys-seascape.svg?logo=python&logoColor=fff
:target: https://pypi.org/project/ansys-seascape
:alt: PyPI

.. |GH-CI| image:: https://github.com/ansys/pyseascape/actions/workflows/ci_cd.yml/badge.svg
:target: https://github.com/ansys/pyseascape/actions/workflows/ci_cd.yml
:alt: GH-CI

.. |MIT| image:: https://img.shields.io/badge/License-MIT-yellow.svg
:target: https://opensource.org/licenses/MIT
:alt: MIT

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat
:target: https://github.com/psf/black
:alt: Black

A pythonic remotable interface to RedHawkSC and TotemSC that allows integration with other PyAnsys and Python libraries.

How to install
--------------

Install from PyPI
^^^^^^^^^^^^^^^^^

User installation can be performed by running:

.. code:: bash

pip install ansys-seascape

OR

.. code:: bash

python -m pip install ansys-seascape

Install from latest Github source
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fetch latest source from github:

.. code:: bash

cd
git clone https://github.com/ansys/pyseascape.git

(Optional) Create and enable virtual environment. Please refer to official `venv`_ documentation for more help regarding virtual environment setup.

.. code:: bash

# 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

Install the project

.. code:: bash

cd pyseascape
pip install .

Install additional requirements (if needed):

.. code:: bash

python -m pip install .[tests]
python -m pip install .[doc]

Usage
-----

*Note: Either a local installation or remote connection to licensed RedHawk-SC is required to use the pyseascape library. \
This only offers a remotable frontend interface that can run directly in native Python on any machine.*

Launching local RedHawk-SC in backend
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: python

from ansys.seascape import RedHawkSC

gp = RedHawkSC(executable=path_to_executable)

OR

.. code:: python

from ansys import seascape

gp = seascape.RedHawkSC(executable=path_to_executable)

Connecting to remote RedHawk-SC session
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: python

from ansys.seascape import RedHawkSC

url_and_port = url_or_ip_to_redhawksc_server + ":" + port
gp = RedHawkSC(url=url_and_port)

All RedHawk-SC global functions can be called using prefix of RedHawkSC object name. Object methods can be called as normal.

Running RedHawk-SC commands
^^^^^^^^^^^^^^^^^^^^^^^^^^^

For example:

.. code:: python

# If gp = RedHawkSC(...)
db = gp.open_db(db_name) # Returns a SeascapeDB remotable object
db.create_design_view(...)

# Creating RedHawk-SC objects
inst = gp.Instance("Inst_Name")

# RedHawk-SC modules must also be prefixed by gp
# E.g. using voltage_impact module
gp.voltage_impact.helpers.get_pgimpact_histograms(...)

Accessing RedHawk-SC help
-------------------------

RedHawk-SC native help function supports command based as well as keyword based help.
This help can be accessed remotely as well.

.. code:: python

# If gp = RedHawkSC(...)

# command based help
gp.help(command="gp.Scatter")

# keyword based help
gp.help(keyword="scatter")

Known issues and limitations
----------------------------

GUI features have not yet been implemented. Hence, commands like open_console_window, open_scheduler_window etc. do not work yet. Commands like gp.scatter_plot also does not work as it requires drawing gui plots

Documentation
-------------

Please refer to RedHawk-SC Documentation.

.. LINKS AND REFERENCES
.. _black: https://github.com/psf/black
.. _flake8: https://flake8.pycqa.org/en/latest/
.. _isort: https://github.com/PyCQA/isort
.. _PyAnsys Developer's guide: https://dev.docs.pyansys.com/
.. _pre-commit: https://pre-commit.com/
.. _pytest: https://docs.pytest.org/en/stable/
.. _Sphinx: https://www.sphinx-doc.org/en/master/
.. _pip: https://pypi.org/project/pip/
.. _tox: https://tox.wiki/
.. _venv: https://docs.python.org/3/library/venv.html