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
- Host: GitHub
- URL: https://github.com/oemof/exerpy
- Owner: oemof
- License: mit
- Created: 2024-06-26T05:46:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-27T15:36:15.000Z (28 days ago)
- Last Synced: 2025-12-18T23:54:22.785Z (7 days ago)
- Topics: exergoeconomic, exergy, exergy-analysis, second-law-of-thermodynamics, techno-economic
- Language: Python
- Homepage: https://exerpy.readthedocs.io/en/latest/
- Size: 22.4 MB
- Stars: 16
- Watchers: 1
- Forks: 3
- Open Issues: 4
- Releases: 3
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
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
- Name: oemof community
- Login: oemof
- Email: contact@oemof.org
- Kind: organization
- Description: Open Energy Modelling Framework - A modular open source framework to model energy supply systems
- Website: https://oemof.org
- Location: Germany
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/8503379?v=4
- Repositories: 17
- Last ynced at: 2024-04-16T01:14:39.887Z
- Profile URL: https://github.com/oemof
GitHub Events
Total
- Create event: 5
- Release event: 1
- Issues event: 8
- Watch event: 8
- Issue comment event: 2
- Push event: 34
- Pull request event: 4
- Fork event: 1
Last Year
- Create event: 5
- Release event: 1
- Issues event: 8
- Watch event: 8
- Issue comment event: 2
- Push event: 34
- Pull request event: 4
- Fork event: 1
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 | 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:
- pop-os.localdomain: 1
- ipu.dk: 1
- posteo.de: 1
- campus.tu-berlin.de: 1
- dlr.de: 1
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
Top Issue Authors
- fwitte (5)
- sertomas (1)
Top Pull Request Authors
- fwitte (4)
Top Issue Labels
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 796 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
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
- actions/checkout v1 composite
- actions/setup-python v2 composite
- actions/upload-artifact v4 composite
- actions/cache v3 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v1 composite
- actions/setup-python v2 composite
- numpy *
- pandas *
Score: 11.46834642157226