ExerPy

A Python library designed to perform detailed exergy analysis of energy conversion systems.
https://github.com/oemof/exerpy

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

exergoeconomic exergy exergy-analysis second-law-of-thermodynamics techno-economic

Keywords from Contributors

exergonomic energy-system cooling heating powerplant process-engineering refrigeration thermodynamic-cycles

Last synced: about 19 hours ago
JSON representation

Repository metadata

Open source exergy analysis tool based on tabular input data from different simulation software

README.rst

          #################################
ExerPy: Exergy Analysis in Python
#################################

ExerPy is a Python library designed to perform detailed exergy analysis of
energy conversion systems. It builds on the exergy analysis methodology
implemented in TESPy, while extending its capabilities to seamlessly integrate
with simulation tools such as Ebsilon Professional, Aspen Plus, and TESPy itself.
ExerPy enables engineers and researchers to identify inefficiencies and optimize
the performance of thermodynamic systems through automated workflows and
consistent data handling.

With its advanced features, ExerPy calculates both physical and chemical exergy,
allowing users to analyze both individual components and entire systems. This
helps to identify where and why exergy losses occur, facilitating strategies to improve
efficiency, reduce costs, and support sustainable energy usage.

.. figure:: https://raw.githubusercontent.com/oemof/exerpy/refs/heads/main/docs/_static/images/logo_exerpy_big.svg
    :align: center

************
Key Features
************

- **Comprehensive Exergy Analysis**: Calculate physical and chemical exergy, perform component-level and system-wide analysis.
- **Flexible Integration**: Compatible with multiple simulation tools (Ebsilon Professional, Aspen Plus, TESPy).
- **Advanced Component Library**: Pre-built components for common energy system elements (turbines, heat exchangers, etc.).
- **Extensible Architecture**: Easy-to-use framework for implementing custom components and analysis methods.
- **Robust Data Handling**: Consistent fluid property models and automated data extraction from simulation tools.
- **Open Source**: MIT licensed, free for academic and commercial use.

***************
Getting Started
***************

============
Installation
============
You can install the latest version of ExerPy using pip:

.. code:: bash

    pip install exerpy

===================
Quick Start Example
===================
Here's a simple example how to perform an exergy analysis using ExerPy:

Custom json
-----------

.. code:: python

    from exerpy import ExergyAnalysis

    model_path = 'my_model.json'

    ean = ExergyAnalysis.from_json(model_path, chemExLib='Ahrendts')

    fuel = {"inputs": ['Fuel'], "outputs": []}
    product = {"inputs": ['Power'], "outputs": []}

    ean.analyse(E_F=fuel, E_P=product)
    ean.exergy_results()

Exported tespy model
--------------------

.. code:: python

    from exerpy import ExergyAnalysis

    model_path = 'tespy_model_export.json'

    ean = ExergyAnalysis.from_tespy(model_path, chemExLib='Ahrendts')

    fuel = {"inputs": ['Fuel'], "outputs": []}
    product = {"inputs": ['Power'], "outputs": []}

    ean.analyse(E_F=fuel, E_P=product)
    ean.exergy_results()

You can also use a tespy network object instead!

Ebsilon model
-------------

.. code:: python

    from exerpy import ExergyAnalysis

    model_path = 'my_model.ebs'

    ean = ExergyAnalysis.from_ebsilon(model_path, chemExLib='Ahrendts')

    fuel = {"inputs": ['Fuel'], "outputs": []}
    product = {"inputs": ['Power'], "outputs": []}

    ean.analyse(E_F=fuel, E_P=product)
    ean.exergy_results()

For more detailed tutorials and examples, see the
`online documentation `__.

********
Citation
********

If you use ExerPy in your scientific work, please consider citing it to support
ongoing development. You can cite ExerPy using the following BibTeX entry:

.. code::

    @software{ExerPy,
         author = {Tomasinelli, Sergio and Witte, Francesco and Müller, Robert},
         title = {{ExerPy}: Exergy Analysis in Python},
         note = {Supervision: Prof. Dr.-Ing. Fontina Petrakopoulou}
         url = {https://github.com/oemof/exerpy},
         version = {0.0.3},
         year = {2025}
    }

*******
License
*******

MIT License

Copyright (c) Sergio Tomasinelli

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 338
Total Committers: 6
Avg Commits per committer: 56.333
Development Distribution Score (DDS): 0.494

Commits in past year: 214
Committers in past year: 3
Avg Commits per committer in past year: 71.333
Development Distribution Score (DDS) in past year: 0.509

Name Email Commits
Francesco Witte f****e@d****e 171
Sergio Tomasinelli s****i@c****e 146
Robert r****r@p****e 14
Jorrit Wronski j****r@i****k 3
Karim Shawky k****m@p****n 3
aburabazam a****n@w****e 1

Committer domains:


Issue and Pull Request metadata

Last synced: about 1 month ago

Total issues: 6
Total pull requests: 4
Average time to close issues: 2 months
Average time to close pull requests: about 1 month
Total issue authors: 2
Total pull request authors: 1
Average comments per issue: 0.33
Average comments per pull request: 0.75
Merged pull request: 3
Bot issues: 0
Bot pull requests: 0

Past year issues: 6
Past year pull requests: 4
Past year average time to close issues: 2 months
Past year average time to close pull requests: about 1 month
Past year issue authors: 2
Past year pull request authors: 1
Past year average comments per issue: 0.33
Past year average comments per pull request: 0.75
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

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

Top Issue Authors

  • fwitte (5)
  • sertomas (1)

Top Pull Request Authors

  • fwitte (4)

Top Issue Labels

Top Pull Request Labels


Package metadata

pypi.org: exerpy

Exergy analysis for tabular input data

  • Homepage: https://github.com/oemof/exerpy
  • Documentation: https://exerpy.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 0.0.3 (published about 2 months ago)
  • Last Synced: 2025-12-21T23:03:36.757Z (4 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 796 Last month
  • Rankings:
    • Dependent packages count: 8.944%
    • Average: 31.137%
    • Forks count: 31.237%
    • Stargazers count: 33.967%
    • Dependent repos count: 50.399%
  • Maintainers (1)

Dependencies

.github/workflows/packaging.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v4 composite
.github/workflows/tox_checks.yml actions
  • actions/cache v3 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/tox_pytest.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • numpy *
  • pandas *

Score: 11.46834642157226