A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Easy SimAuto

An easy-to-use Power System Analysis Automation Platform atop PowerWorld's Simulator Automation Server.
https://github.com/mzy2240/ESA

Category: Energy Systems
Sub Category: Grid Analysis and Planning

Keywords

automation contingency-analysis esa graph-analysis hpc numba numpy pandas power-flow powersystem powerworld powerworld-simulator python pythran simauto simulator simulator-automation-server smart-grid transient-stability

Last synced: about 12 hours ago
JSON representation

Repository metadata

Easy SimAuto (ESA): An easy-to-use Power System Analysis Automation Environment atop PowerWorld Simulator Automation Server (SimAuto)

README.rst

          Easy SimAuto (ESA)
==================
.. image:: https://img.shields.io/pypi/v/esa.svg
   :target: https://pypi.org/project/esa/
.. image:: https://img.shields.io/pypi/pyversions/esa.svg
   :target: https://pypi.org/project/esa/
.. image:: https://img.shields.io/discord/1114563747651006524
   :target: https://discord.gg/V9v8NRCT
.. image:: https://joss.theoj.org/papers/10.21105/joss.02289/status.svg
   :target: https://doi.org/10.21105/joss.02289
.. image:: https://img.shields.io/pypi/l/esa.svg
   :target: https://github.com/mzy2240/ESA/blob/master/LICENSE
.. image:: https://pepy.tech/badge/esa/month
   :target: https://pepy.tech/project/esa
.. image:: https://img.shields.io/badge/coverage-100%25-brightgreen
   :target: https://pypi.org/project/esa/


Easy SimAuto (ESA) is an easy-to-use Power System Analysis Automation
Platform atop PowerWorld's Simulator Automation Server (SimAuto).
ESA wraps all PowerWorld SimAuto functions, supports Auxiliary scripts,
provides helper functions to further simplify working with SimAuto and
also turbocharges with native implementation of SOTA algorithms. Wherever
possible, data is returned as Pandas DataFrames, making analysis a breeze.
ESA is well tested and fully `documented`_.

`Documentation`_
----------------

For quick-start directions, installation instructions, API reference,
examples, and more, please check out ESA's `documentation`_.

If you have your own copy of the ESA repository, you can also view the
documentation locally by navigating to the directory ``docs/html`` and
opening ``index.html`` with your web browser.

If you want to use ESA or SimAuto from julia, definitely check `EasySimauto.jl `__
for a julia wrapper of ESA.

Citation
--------

If you use ESA in any of your work, please use the citation below.

.. code:: latex

    @article{ESA,
      doi = {10.21105/joss.02289},
      url = {https://doi.org/10.21105/joss.02289},
      year = {2020},
      publisher = {The Open Journal},
      volume = {5},
      number = {50},
      pages = {2289},
      author = {Brandon L. Thayer and Zeyu Mao and Yijing Liu and Katherine Davis and Thomas J. Overbye},
      title = {Easy SimAuto (ESA): A Python Package that Simplifies Interacting with PowerWorld Simulator},
      journal = {Journal of Open Source Software}
    }

Installation
------------

Please refer to ESA's `documentation `__ for full, detailed installation
directions. In many cases, ESA can simply be installed by:

.. code:: bat

    python -m pip install esa
    
Simulator Compatibility
-----------------------

Currently ESA supports PW Simulator V17, V18, V19, V20, V21, V22 and V23.


Testing Coverage
----------------

The ESA team works hard to ensure ESA is well tested, and we strive for
100% testing coverage (sometimes we cannot due to lack of specific add-ons). The table below shows the most up-to-date
testing coverage data for ESA, using `coverage
`__.

.. table:: ESA's testing coverage as of 2023-05-31 (Git commit: 7180cc9)
    :widths: auto
    :align: left

    +-----------------+-------------------+-----------------+-----------------+--------------------+
    | Name            |   Num. Statements |   Missing Lines |   Covered Lines |   Percent Coverage |
    +=================+===================+=================+=================+====================+
    | esa/__init__.py |                 2 |               0 |               2 |           100      |
    +-----------------+-------------------+-----------------+-----------------+--------------------+
    | esa/saw.py      |              1206 |               2 |            1204 |            99.8342 |
    +-----------------+-------------------+-----------------+-----------------+--------------------+

License
-------

`Apache License 2.0 `__

Contributing
------------

We welcome contributions! Please read ``contributing.md``.

.. _documentation: https://mzy2240.github.io/ESA/
.. _documented: https://mzy2240.github.io/ESA/

        

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Mao"
  given-names: "Zeyu"
- family-names: "Thayer"
  given-names: "Brandon"
- family-names: "Liu"
  given-names: "Yijing"
title: "Easy SimAuto (ESA)"
version: 1.2.6
doi: 10.21105/joss.02289
date-released: 2022-02-20
url: "https://github.com/mzy2240/ESA"
preferred-citation:
  type: article
  authors:
    - family-names: "Mao"
      given-names: "Zeyu"
    - family-names: "Thayer"
      given-names: "Brandon"
    - family-names: "Liu"
      given-names: "Yijing"
    - family-names: "Davis"
      given-names: "Katherine"
    - family-names: "Overbye"
      given-names: "Thomas"
  doi: "10.21105/joss.02289"
  url: "https://doi.org/10.21105/joss.02289"
  journal: "The Journal of Open Source Software"
  title: "Easy SimAuto (ESA): A Python Package that Simplifies Interacting with PowerWorld Simulator"
  volume: 5
  number: 50
  pages: 2289
  year: 2020

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 601
Total Committers: 12
Avg Commits per committer: 50.083
Development Distribution Score (DDS): 0.536

Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
mzy2240 m****y@g****m 279
Brandon Thayer b****r@t****u 234
SmartJingJing123 y****6@g****m 58
Zeyu Mao z****o@d****m 11
faoh 3****h 6
SanjanaKunkolienkar 9****r 5
Daniel S. Katz d****z@i****g 3
Collin Heist c****t@g****m 1
ThomasC_TT t****n@t****u 1
yiji21 y****1@t****u 1
Wei Gao w****o@d****u 1
CIR Overbye Group c****p@E****u 1

Committer domains:


Issue and Pull Request metadata

Last synced: about 12 hours ago

Total issues: 99
Total pull requests: 17
Average time to close issues: 24 days
Average time to close pull requests: 1 day
Total issue authors: 10
Total pull request authors: 10
Average comments per issue: 2.66
Average comments per pull request: 0.82
Merged pull request: 15
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 1
Past year average time to close issues: N/A
Past year average time to close pull requests: about 1 hour
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 1.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/mzy2240/ESA

Top Issue Authors

  • blthayer (53)
  • mzy2240 (33)
  • faceb912 (3)
  • SaeedNsh (2)
  • Weifarers (2)
  • BlueDrgonDude64 (2)
  • weigao-123 (1)
  • t-rob124 (1)
  • abirchfield (1)
  • MaxB25 (1)

Top Pull Request Authors

  • blthayer (6)
  • faoh (2)
  • mzy2240 (2)
  • TanBendong (1)
  • CollinHeist (1)
  • TThomas001 (1)
  • BlueDrgonDude64 (1)
  • weigao-123 (1)
  • SmartJingJing123 (1)
  • danielskatz (1)

Top Issue Labels

  • enhancement (43)
  • documentation (20)
  • good first issue (9)
  • bug (9)
  • help wanted (7)
  • question (5)

Top Pull Request Labels

  • bug (1)
  • documentation (1)

Package metadata

pypi.org: esa

Easy SimAuto (ESA): An easy-to-use Python connector to PowerWorld Simulator Automation Server (SimAuto).

  • Homepage: https://github.com/mzy2240/ESA
  • Documentation: https://esa.readthedocs.io/
  • Licenses: Apache License 2.0
  • Latest release: 1.3.5 (published almost 2 years ago)
  • Last Synced: 2025-04-25T14:02:54.761Z (1 day ago)
  • Versions: 51
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 2,519 Last month
  • Rankings:
    • Dependent packages count: 4.786%
    • Downloads: 5.887%
    • Stargazers count: 10.496%
    • Average: 10.929%
    • Forks count: 11.923%
    • Dependent repos count: 21.552%
  • Maintainers (1)

Dependencies

setup.py pypi
  • networkx *
  • numba *
  • numpy *
  • pandas *
  • pypiwin32 *
  • pywin32 *
  • scipy *
  • toolz *
  • tqdm *

Score: 14.444848551357957