TESPy

TESPy: Thermal Engineering Systems in Python - Published in JOSS (2020)

https://github.com/oemof/tespy

Science Score: 95.0%

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

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

Keywords

cooling energy-system exergy heating powerplant process-engineering python refrigeration simulation thermodynamic-cycles thermodynamics
Last synced: 4 months ago · JSON representation

Repository

Thermal Engineering Systems in Python (TESPy). This package provides a powerful simulation toolkit for thermodynamic modeling of thermal engineering plants such as power plants, heat pumps or refrigeration machines.

Basic Info
Statistics
  • Stars: 336
  • Watchers: 26
  • Forks: 112
  • Open Issues: 65
  • Releases: 53
Topics
cooling energy-system exergy heating powerplant process-engineering python refrigeration simulation thermodynamic-cycles thermodynamics
Created about 8 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Support

README.rst

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.

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

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
============
* **Open** Source
* **Generic** thermal engineering applications
* **Extendable** framework for the implementation of custom components, fluid
  property formulations and equations
* **Integration** of optimization capabilities through an API to pygmo
* **Postprocessing** features like exergy analysis and fluid property plotting

.. start-badges

.. list-table::
    :stub-columns: 1

    * - docs
      - |docs|
    * - tests
      - |pytests| |checks| |packaging| |coveralls|
    * - package
      - | |version| |wheel| |supported-versions| |commits-since|
    * - reference
      - |joss| |zenodo|

.. |docs| image:: https://readthedocs.org/projects/tespy/badge/?style=flat
    :target: https://readthedocs.org/projects/tespy
    :alt: Documentation Status

.. |pytests| image:: https://github.com/oemof/tespy/workflows/tox%20pytests/badge.svg
    :target: https://github.com/oemof/tespy/actions?query=workflow%3A%22tox+pytests%22
    :alt: tox pytest

.. |checks| image:: https://github.com/oemof/tespy/workflows/tox%20checks/badge.svg
    :target: https://github.com/oemof/tespy/actions?query=workflow%3A%22tox+checks%22
    :alt: tox checks

.. |packaging| image:: https://github.com/oemof/tespy/workflows/packaging/badge.svg
    :target: https://github.com/oemof/tespy/actions?query=workflow%3Apackaging
    :alt: packaging

.. |coveralls| image:: https://coveralls.io/repos/oemof/tespy/badge.svg?branch=main&service=github
    :alt: Coverage Status
    :target: https://coveralls.io/r/oemof/tespy

.. |version| image:: https://img.shields.io/pypi/v/tespy.svg
    :alt: PyPI Package latest release
    :target: https://pypi.org/project/tespy

.. |wheel| image:: https://img.shields.io/pypi/wheel/tespy.svg
    :alt: PyPI Wheel
    :target: https://pypi.org/project/tespy

.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/tespy.svg
    :alt: Supported Python versions
    :target: https://pypi.org/project/tespy

.. |commits-since| image:: https://img.shields.io/github/commits-since/oemof/tespy/latest/dev
    :alt: Commits since latest release
    :target: https://github.com/oemof/tespy/compare/main...dev

.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2555866.svg
   :alt: Release archive
   :target: https://doi.org/10.5281/zenodo.2555866

.. |joss| image:: https://joss.theoj.org/papers/590b0b4767606bce4d0ebe397d4b7a4f/status.svg
   :alt: Software Paper in JOSS
   :target: https://joss.theoj.org/papers/590b0b4767606bce4d0ebe397d4b7a4f

.. end-badges

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
================
If you have a working Python3 environment, use pypi to install the latest
tespy version:

.. code:: bash

  pip install 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
============

Online "Stammtisch"
-------------------

We have decided to start a reoccurring "Stammtisch" meeting for all interested
TESPy users and (potential) developers. You are invited to join us on every 3rd
Monday of a month at 17:00 CE(S)T for a casual get together. The first meeting
will be held at June, 20, 2022. The intent of this meeting is to establish a
more active and well-connected network of TESPy users and developers.

If you are interested, you can simply join the meeting at
https://meet.jit.si/tespy_user_meeting. We are looking forward to seeing you!

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.

Owner

  • Name: oemof community
  • Login: oemof
  • Kind: organization
  • Email: contact@oemof.org
  • Location: Germany

Open Energy Modelling Framework - A modular open source framework to model energy supply systems

JOSS Publication

TESPy: Thermal Engineering Systems in Python
Published
May 21, 2020
Volume 5, Issue 49, Page 2178
Authors
Francesco Witte ORCID
Center for Sustainable Energy Systems, Flensburg, Flensburg University of Applied Sciences
Ilja Tuschy
Center for Sustainable Energy Systems, Flensburg, Flensburg University of Applied Sciences
Editor
Kyle Niemeyer ORCID
Tags
Thermal Engineering Thermodynamics Power Plant Simulation

GitHub Events

Total
  • Create event: 54
  • Release event: 7
  • Issues event: 111
  • Watch event: 52
  • Delete event: 38
  • Issue comment event: 109
  • Push event: 292
  • Gollum event: 1
  • Pull request review event: 28
  • Pull request review comment event: 28
  • Pull request event: 84
  • Fork event: 26
Last Year
  • Create event: 55
  • Release event: 7
  • Issues event: 111
  • Watch event: 52
  • Delete event: 38
  • Issue comment event: 110
  • Push event: 292
  • Gollum event: 1
  • Pull request review event: 28
  • Pull request review comment event: 28
  • Pull request event: 85
  • Fork event: 26

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 3,486
  • Total Committers: 30
  • Avg Commits per committer: 116.2
  • Development Distribution Score (DDS): 0.099
Past Year
  • Commits: 445
  • Committers: 6
  • Avg Commits per committer: 74.167
  • Development Distribution Score (DDS): 0.083
Top Committers
Name Email Commits
Francesco Witte f****e@h****e 3,141
ChaofanChen c****n@u****e 65
MarBrandt 5****t 53
maltefritz m****z@w****e 33
Julius Meier j****r@g****e 23
jfreissmann j****n@w****e 20
tlmerbecks t****s@p****t 16
Jorrit Wronski j****r@i****k 15
anmartens a****s@t****e 15
Hannes Schneider h****r@t****e 14
jebu j****u@u****e 14
Ng Zhen Bin z****g@g****m 14
TimHoener t****4@g****e 12
stianchris c****g@p****e 8
matbock m****k@g****e 7
Benjamin W. Portner b****r@b****t 6
Vily-ipu v****y@i****k 5
Karim Shawky k****m@p****n 5
Shuang Chen s****n@u****e 4
Sergio Tomasinelli s****i@c****e 3
Paul-Jonas p****n@g****e 2
aburabazam a****n@w****e 2
uwe u****t@p****u 2
nkawerau 9****u 1
nilsstolze n****e@w****e 1
Taha Boussaid t****d@i****r 1
Nicholas Fry 6****y 1
Govind Menon 5****0 1
FranziPl f****r@b****e 1
Emil Navntoft Pedersen 1****p 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 257
  • Total pull requests: 380
  • Average time to close issues: 4 months
  • Average time to close pull requests: 29 days
  • Total issue authors: 58
  • Total pull request authors: 31
  • Average comments per issue: 1.4
  • Average comments per pull request: 1.02
  • Merged pull requests: 325
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 87
  • Pull requests: 89
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 9 days
  • Issue authors: 13
  • Pull request authors: 6
  • Average comments per issue: 0.55
  • Average comments per pull request: 0.67
  • Merged pull requests: 71
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • fwitte (161)
  • tlmerbecks (5)
  • stianchris (4)
  • govind-menon110 (4)
  • NicholasFry (4)
  • fw-bh (4)
  • TristanM-TD (4)
  • ShuangChen88 (4)
  • BenPortner (3)
  • arosen93 (3)
  • jase64 (2)
  • jowr (2)
  • Matt-haug (2)
  • yaqoub12 (2)
  • YoannUniKS (2)
Pull Request Authors
  • fwitte (296)
  • jfreissmann (13)
  • maltefritz (12)
  • tlmerbecks (8)
  • BenPortner (6)
  • jbueck (5)
  • MarBrandt (5)
  • sertomas (4)
  • ShuangChen88 (3)
  • jowr (2)
  • FriederikeTUB (2)
  • Nzb0731 (2)
  • nkawerau (2)
  • HaSchneider (2)
  • anmartens (2)
Top Labels
Issue Labels
bug (36) enhancement (29) documentation (15) help wanted (13) core (13) API (12) components (10) question (7) wontfix (1) deprecated feature (1)
Pull Request Labels
enhancement (3) documentation (1) help wanted (1) components (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 3,695 last-month
  • Total dependent packages: 4
    (may contain duplicates)
  • Total dependent repositories: 5
    (may contain duplicates)
  • Total versions: 139
  • Total maintainers: 1
proxy.golang.org: github.com/oemof/tespy
  • Versions: 48
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
pypi.org: tespy

Thermal Engineering Systems in Python (TESPy)

  • Versions: 76
  • Dependent Packages: 4
  • Dependent Repositories: 5
  • Downloads: 3,695 Last month
Rankings
Dependent packages count: 3.2%
Stargazers count: 5.0%
Forks count: 5.2%
Average: 5.7%
Dependent repos count: 6.7%
Downloads: 8.2%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: tespy

Thermal Engineering Systems in Python (TESPy). This package provides a powerful simulation toolkit for thermal engineering plants such as power plants, district heating systems or heat pumps.

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 21.5%
Stargazers count: 26.2%
Average: 33.2%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 4 months ago

Dependencies

.github/workflows/packaging.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/tox_checks.yml actions
  • actions/cache v2 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
docs/requirements.txt pypi
  • sphinx >=1.3
  • sphinx-rtd-theme *
  • sphinxcontrib-bibtex *
pyproject.toml pypi
  • CoolProp >=6.4,<7
  • jinja2 *
  • matplotlib >=3.2.1,<4
  • numpy >=1.13.3,<2
  • pandas >=1.3.0,<3
  • tabulate >=0.8.2,<0.9