Easy SimAuto (ESA)

Easy SimAuto (ESA): A Python Package that Simplifies Interacting with PowerWorld Simulator - Published in JOSS (2020)

https://github.com/mzy2240/esa

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    6 of 12 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

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

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 47
  • Watchers: 4
  • Forks: 13
  • Open Issues: 15
  • Releases: 15
Topics
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
Created over 6 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Citation

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/

Owner

  • Name: Zeyu Mao
  • Login: mzy2240
  • Kind: user
  • Location: Houston, TX
  • Company: DRW

Open-source enthusiast, power engineer, full-stack developer, and energy-sector researcher.

JOSS Publication

Easy SimAuto (ESA): A Python Package that Simplifies Interacting with PowerWorld Simulator
Published
June 17, 2020
Volume 5, Issue 50, Page 2289
Authors
Brandon L. Thayer ORCID
Texas A&M University, Pacific Northwest National Laboratory
Zeyu Mao ORCID
Texas A&M University
Yijing Liu ORCID
Texas A&M University
Katherine Davis ORCID
Texas A&M University
Thomas Overbye ORCID
Texas A&M University
Editor
Daniel S. Katz ORCID
Tags
PowerWorld Simulator Automation Server SimAuto ESA Power Systems Electric Grid Smart Grid Energy Numpy Pandas

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

GitHub Events

Total
  • Watch event: 5
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 2
  • Fork event: 2
Last Year
  • Watch event: 5
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 2
  • Fork event: 2

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 601
  • Total Committers: 12
  • Avg Commits per committer: 50.083
  • Development Distribution Score (DDS): 0.536
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 99
  • Total pull requests: 18
  • 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.83
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • blthayer (53)
  • mzy2240 (33)
  • faceb912 (3)
  • SaeedNsh (2)
  • Weifarers (2)
  • BlueDrgonDude64 (2)
  • weigao-123 (1)
  • abirchfield (1)
  • MaxB25 (1)
  • t-rob124 (1)
Pull Request Authors
  • blthayer (6)
  • CollinHeist (2)
  • BlueDrgonDude64 (2)
  • faoh (2)
  • mzy2240 (2)
  • TanBendong (1)
  • TThomas001 (1)
  • weigao-123 (1)
  • SmartJingJing123 (1)
  • danielskatz (1)
Top Labels
Issue Labels
enhancement (43) documentation (20) good first issue (9) bug (9) help wanted (7) question (5)
Pull Request Labels
bug (1) documentation (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 865 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 105
  • Total maintainers: 1
proxy.golang.org: github.com/mzy2240/ESA
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/mzy2240/esa
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: esa

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

  • Versions: 51
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 865 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 5.9%
Stargazers count: 10.5%
Average: 10.9%
Forks count: 11.9%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

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