A package to manage thermodynamic states


conda install

  • linux-64  v0.2.2
  • win-64  v0.2.2
  • noarch  v0.5.2
  • osx-64  v0.2.2
To install this package with conda run:
conda install -c bryanwweber thermostate



This package provides a wrapper around CoolProp that integrates Pint for easy state management in any unit system.

The preferred installation method is to use conda. Using Conda, ThermoState can be installed for either Python 3.5, 3.6, or 3.7. If you have an existing Conda environment with one of those Python versions, installing ThermoState can be done by bash conda install -c bryanwweber thermostate conda-forge::pint This installs Pint from the conda-forge channel; if you would like to use another channel to install Pint, change the conda-forge to be the name of the channel you prefer. If Pint is already installed in your environment, the conda-forge::pint can be omitted entirely. If you do not have an environment with Python 3.5, 3.6, or 3.7, you can create a new environment with bash conda create -n thermostate -c bryanwweber thermostate conda-forge::pint

Alternatively, ThermoState can be installed with pip. bash pip install thermostate

ThermoState is a pure-Python package that supports any Python version 3.5 and higher. To install from source, clone the source code repository and install using pip. bash git clone https://github.com/bryanwweber/thermostate cd thermostate pip install .

Documentation can be found at https://bryanwweber.github.io/thermostate/. The documentation contains a short tutorial, examples, and API documentation for the package.

If you have used ThermoState in your work, we would appreciate including a citation to the software! ThermoState has been published in JOSE, available at the link below. DOI For those using Bib(La)TeX, you can use the following entry bibtex @article{weber_thermostate_2018, title = {{ThermoState}: {A} state manager for thermodynamics courses}, volume = {1}, issn = {2577-3569}, shorttitle = {{ThermoState}}, url = {https://jose.theoj.org/papers/10.21105/jose.00033}, doi = {10.21105/jose.00033}, number = {8}, urldate = {2018-10-24}, journal = {Journal of Open Source Education}, author = {Weber, Bryan}, month = oct, year = {2018}, pages = {33} }

We welcome contributions from anyone in the community. Please look at the Contributing instructions for more information. This project follows the Contributor Covenant Code of Conduct, version 1.4. In short, be excellent to each other.

TravisCI: Build Status Appveyor: Build status codecov

Anaconda-Server Badge Version Anaconda-Server Badge Downloads

All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning. - Install conda-verify on Travis when building tags to fix a warning from conda-build - Formatted thermostate.py with the Black formatter - Broken link in CONTRIBUTING.md to LICENSE.md - Installation instructions for CoolProp updated for Python 3.7 - Equality checking for States now considers the substance [#17]. Resolves #16 (Thanks @egurra!) - JOSE badge to README - Allow version 6.2.* of CoolProp - Install CoolProp package for Python 3.7 from conda - License year in LICENSE.md. Happy new year! :tada: - Add JOSE paper - Add installation, documentation, code of conduct, and contributing links to README - Document the classes in the abbreviations module - Example of a cascade refrigeration cycle using EE units - Test on Python 3.7 using the nightly version of CoolProp - Use the generic Python 3 for the intersphinx config rather than version specific - Fix numpy and matplotlib need to be installed on Travis to build the docs - Fix typo in code of conduct - Don't load the Sphinx coverage extensions - Travis PyPI password - Add codemeta.json - Fix builds in .travis.yml - Can't use Python 3.6 type hinting with Python 3.5 - _render_traceback_ function added to StateError to improve formatting of the traceback in IPython and Jupyter - Add several examples demonstrating the use of ThermoState - Bump intersphinx mapping to Python 3.7 - Change docs license to CC-BY 4.0 - Ignore more pytest files - Added flake8 configuration to setup.cfg since linter-flake8 reads it and ignores built-in options - Only define _render_traceback_ if IPython is installed - Added _render_traceback_ function to improve traceback formatting of pint.DimensionalityError - Added oxygen, nitrogen, and carbondioxide as available substances to the Tutorial - Distributions are now uploaded to PyPI - Conda packages are noarch builds - Appveyor tests run in a single job to speed them up - Minimum Python version is 3.5 - Oxygen (O2) is available as a substance - Nitrogen (N2) is available as a substance - Deploy doctr to the root directory (see drdoctr/doctr#157 and drdoctr/doctr#160) - Carbon dioxide is available as a substance - The software version is available as the module-level __version__ attribute - Equality comparison of State instances - Improve several error messages - Refactor property getting/setting to use less boilerplate code - Preface all class attributes with _ - Refactor _set_properties to use CoolProp low-level API - Phase as a gettable attribute of the State - Isobutane is an available substance - Add cp and cv to Tutorial - Updated Tutorial with more detail of setting properties - Fail Travis when a single command fails - Tutorial in the docs using nbsphinx for formatting - Specific heat capacities at constant pressure and volume are now accessible via cp and cv attributes - Offset units are automatically converted to base units in Pint - Unknown property pairs are no longer allowed to be set - Rename units module to abbreviations so it no longer shadows units registry in thermostate - Common unit abbreviations in thermostate.EnglishEngineering and thermostate.SystemInternational - Typo in CHANGELOG.md - Fix Anaconda.org upload keys - Only load pytest-runner if tests are being run - First Release

PRIVACY POLICY  |  EULA (Anaconda Cloud v2.33.29) © 2019 Anaconda, Inc. All Rights Reserved.