A package to manage thermodynamic states


conda install

  • linux-64  v0.2.2
  • win-64  v0.2.2
  • noarch  v0.5.0
  • 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 or 3.6. 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, or Pint is already installed in your environment, the conda-forge::pint can be omitted. If you do not have an environment with Python 3.5 or 3.6, 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, for Python 3.5 only. This is because version 6.1.0 of CoolProp is only available for Python 3.5 from pip. bash pip install thermostate

ThermoState is a pure-Python package that supports any Python version 3.5 and higher. Binary installers for CoolProp (which has a C-extension for its Python interface) are only available for Python 3.5 (pip) and Pythons 3.5 and 3.6 (Conda). Other versions of Python can be supported by compiling CoolProp locally, for which instructions are available on the CoolProp documentation. Once CoolProp is installed, installing ThermoState can be done by 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.

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. - 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) © 2018 Anaconda, Inc. All Rights Reserved.