Skip to main content

Thermal Engineering Systems in Python

TESPy stands for “Thermal Engineering Systems in Python” and provides a powerful simulation toolkit for thermal engineering plants such as various types of power plants (including organic rankine cycles), heat pumps or refrigeration machines. Due to its flexibility it is actually possible to model any kind of thermal energy conversion process, this also includes energy balancing of industrial processes, district heating or HVAC systems. It is part of the Open Energy Modelling Framework oemof and can be used as a standalone package.

https://raw.githubusercontent.com/oemof/tespy/9915f013c40fe418947a6e4c1fd0cd0eba45893c/docs/api/_images/logo_tespy_big.svg

With the TESPy package you are able to calculate stationary operation in order to design the process of thermal energy systems. From that point it is possible to simulate the offdesign behavior of your plant using underlying characteristics for each of the plants components. The package includes basic components, such as turbines, pumps, compressors, heat exchangers, pipes, mixers and splitters as well as some advanced components (derivatives of heat exchangers, drum).

Everybody is welcome to use and/or develop TESPy. Contribution is already possible on a low level by simply fixing typos in TESPy’s documentation or rephrasing sections which are unclear. If you want to support us that way please fork the TESPy repository to your own GitHub account and make changes as described in the GitHub guidelines: https://guides.github.com/activities/hello-world/

Key Features

  • Free and Open Source Software

  • Flexible models of thermal engineering applications due to component based architecture

  • Extendable framework for the implementation of custom components, fluid property formulations and equations

  • Integration of optimization capabilities through an API to pymoo

  • Postprocessing features like exergy analysis and fluid property plotting

docs

Documentation Status

tests

tox pytest tox checks packaging Coverage Status

package

PyPI Package latest release PyPI Wheel Supported Python versions Commits since latest release

reference

Software Paper in JOSS Release archive

Documentation

You can find the full documentation at readthedocs. Use the project site of readthedocs to choose the version of the documentation.

To get the latest news visit and follow our website.

Installing TESPy

The recommended way to install TESPy is with uv:

uv add tespy

Alternatively, use pip or conda:

pip install tespy
# or
conda install -c conda-forge tespy

If you want to use the latest features, you might want to install the developer version. See section Developing TESPy for more information. The developer version is not recommended for productive use.

Get in touch

Community meetings

There are online QA meetings every month, please check the oemof calendar for date, time and meeting link. You are invited to join us with your questions, issues and suggestions!

Furthermore, there are in-person community meetings. These are held once or twice a year. To learn about upcoming meetings, follow the blog over at https://oemof.org/ for the announcements.

User forum

We have implemented a discussion room on GitHub as user forum. If you have issues with setting up your model or any other question about using the software, you are invited to start a discussion there.

Examples

For a short introduction on how TESPy works and how you can use it, we provide an extensive user guide. You can download all python scripts of the examples and tutorials from this GitHub repository. They are included in the “tutorial” directory.

Citation

The scope and functionalities of TESPy have been documented in a paper published in the Journal of Open Source Software with an Open-Access license. Download the paper from https://doi.org/10.21105/joss.02178. As TESPy is a free software, we kindly ask that you add a reference to TESPy if you use the software for your scientific work. Please cite the article with the BibTeX citation below.

BibTeX citation:

@article{Witte2020,
    doi = {10.21105/joss.02178},
    year = {2020},
    publisher = {The Open Journal},
    volume = {5},
    number = {49},
    pages = {2178},
    author = {Francesco Witte and Ilja Tuschy},
    title = {{TESPy}: {T}hermal {E}ngineering {S}ystems in {P}ython},
    journal = {Journal of Open Source Software}
}

Furthermore, a paper on the exergy analysis feature has been published in the mdpi journal energies. You can download the pdf at https://doi.org/10.3390/en15114087. If you are using this feature specifically, you can reference it with the following BibTeX citation:

BibTeX citation:

@article{Witte2022,
    doi = {10.3390/en15114087},
    year = {2022},
    volume = {15},
    number = {11},
    article-number = {4087},
    issn = {1996-1073},
    author = {Witte, Francesco and Hofmann, Mathias and Meier, Julius and Tuschy, Ilja and Tsatsaronis, George},
    title = {Generic and Open-Source Exergy Analysis—Extending the Simulation Framework TESPy},
    journal = {Energies}
}

Additionally, you have the possibility to cite a specific version of TESPy to make your work reproducible. The source code of every version is published on zenodo. Find your version here: https://doi.org/10.5281/zenodo.2555866.

License

Copyright (c) Francesco Witte

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tespy-0.11.2.tar.gz (20.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tespy-0.11.2-py3-none-any.whl (384.2 kB view details)

Uploaded Python 3

File details

Details for the file tespy-0.11.2.tar.gz.

File metadata

  • Download URL: tespy-0.11.2.tar.gz
  • Upload date:
  • Size: 20.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for tespy-0.11.2.tar.gz
Algorithm Hash digest
SHA256 3113f10e1f2cd1b2f8e7b5197ebfd20a54baedd4ce09e3d3a1127d124e8fdcad
MD5 b551a5911f001f57c00bc85e92cffae3
BLAKE2b-256 ecf321895e7026eb01fb5221200340c0e9b86ba79e06e37b51d80b25edbf505a

See more details on using hashes here.

File details

Details for the file tespy-0.11.2-py3-none-any.whl.

File metadata

  • Download URL: tespy-0.11.2-py3-none-any.whl
  • Upload date:
  • Size: 384.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for tespy-0.11.2-py3-none-any.whl
Algorithm Hash digest
SHA256 236eaa1fdb8d97afa03e199a4c2a2aa62939d414c886ffd61a7f081b816af672
MD5 fdb36cc34ea746928b5aab18a0082815
BLAKE2b-256 8260ab22c707995ec4c384f493d674f31630435a6770cbcbe28eb61dcfe5c1ed

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.11.2 This release

2 files

0.11.1.post3

2 files

0.11.1.post2

2 files

0.11.1.post1

2 files

0.11.1

2 files

0.11.0

2 files

0.10.2

2 files

0.10.1.post2

2 files

0.10.1.post1

2 files

0.10.1

2 files

0.10.0

2 files

0.9.16.post3

2 files

0.9.16.post2

2 files

0.9.16.post1

2 files

0.9.16

2 files

0.9.15.post1

2 files

0.9.15

2 files

0.9.14

2 files

0.9.13.post2

2 files

0.9.13.post1

2 files

0.9.13

2 files

0.9.12

2 files

0.9.11.post1

2 files

0.9.11

2 files

0.9.10.post1

2 files

0.9.10

2 files

0.9.9.post2

2 files

0.9.9.post1

2 files

0.9.9

2 files

0.9.8.post3

2 files

0.9.8.post2

2 files

0.9.8.post1

2 files

0.9.8

2 files

0.9.7.post1

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5.post1

2 files

0.9.5

2 files

0.9.4.post2

2 files

0.9.4.post1

2 files

0.9.4

2 files

0.9.3.post2

2 files

0.9.3.post1

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0.post2

2 files

0.9.0.post1

2 files

0.9.0

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0.post4

2 files

0.8.0.post3

2 files

0.8.0.post2

2 files

0.8.0.post1

2 files

0.8.0

2 files

0.7.9

2 files

0.7.8.post2

2 files

0.7.8.post1

2 files

0.7.8

2 files

0.7.7

2 files

0.7.6.post1

2 files

0.7.6

2 files

0.7.5

2 files

0.7.4

2 files

0.7.3

2 files

0.7.2.post2

2 files

0.7.2.post1

2 files

0.7.2

2 files

0.7.1.post1

2 files

0.7.1

2 files

0.7.0.post1

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3.post5

2 files

0.4.3.post4

2 files

0.4.3.post3

2 files

0.4.3.post2

2 files

0.4.3.post1

1 file

0.4.3

2 files

0.4.2.post2

2 files

0.4.2.post1

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3.post1

1 file

0.0.3

1 file

0.0.2.post1

1 file

0.0.2

1 file

0.0.1.post1

1 file

0.0.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page