thermo
Chemical properties component of Chemical Engineering Design Library (ChEDL)
What it is and what it does
Thermo is a chemical engineering library that retrieves constant properties and calculates temperature and pressure-dependent thermodynamic and transport properties for pure chemicals and mixtures. It supports rigorous phase equilibrium calculations using equations of state (such as Peng-Robinson) and a simpler interface for quick property lookups by chemical name. The library loads chemical constants and correlations from internal databases and provides methods to compute properties like enthalpy, entropy, heat capacity, density, viscosity, thermal conductivity, and surface tension across a range of conditions.
The package is designed for engineers, scientists, and technicians who need to model chemical behavior in simulations, design calculations, or analysis workflows. It depends on scipy for numerical methods, pandas for data storage and retrieval, fluids for additional correlations, and chemicals for chemical identification and constant properties. The library runs on all major operating systems and supports modern Python versions.
Use it for:
- Calculate thermodynamic properties (enthalpy, entropy, heat capacity) for a pure compound at specified temperature and pressure.
- Perform flash calculations to determine phase split and composition for a multicomponent mixture at given conditions.
- Retrieve vapor pressure, density, viscosity, and thermal conductivity for a chemical by name without manual data lookup.
- Solve for unknown conditions (e.g., temperature at a given vapor pressure) using property inversion methods.
- Model chemical mixtures with interaction parameters and equations of state for process simulation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Thermo calculates temperature and pressure-dependent thermodynamic and transport properties for pure chemicals and mixtures, including phase equilibria calculations using equations of state.
Yes. Thermo is actively maintained, has no known vulnerabilities, installs with low friction, and is licensed permissively under MIT. It fills a specific need for chemical property calculations in engineering workflows. Install it if you work with thermodynamic modeling, phase equilibria, or chemical property lookups; skip it if your work does not involve chemical engineering calculations.
Install
thermo on PyPI
pip
pip install thermouv
uv add thermopoetry
poetry add thermoInstalling thermo
Before you install
Low install friction with a pure-Python wheel and four runtime dependencies (fluids, scipy, pandas, chemicals). Active maintenance with a release 32 days ago and 777 repository stars.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute Thermo freely provided you include the license notice.
Quickstart
pip install thermo
from thermo.chemical import Chemical
tol = Chemical('toluene')
print(tol.rho, tol.Cp, tol.k, tol.mu)
Requires Python 3.9 or later.
Verify before relying
- Whether the package's four runtime dependencies (fluids, scipy, pandas, chemicals) introduce any known vulnerabilities or maintenance concerns.
- How the package handles edge cases or invalid inputs in flash calculations and property lookups.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — fluids, scipy, pandas, chemicals |
| Maintenance | actively maintained — 32 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 421,993/month — #6,784 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: thermo-0.6.1-py3-none-any.whl
Keywords: chemical engineering, chemistry, mechanical engineering, thermodynamics, databases, cheminformatics, engineering, viscosity, density, heat capacity, thermal conductivity, surface tension, combustion, environmental engineering, solubility, vapor pressure, equation of state, molecule
Tags
More Physics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
sympySymPy is a Python library for symbolic…
permissive · top 1,000 on PyPI
pydicomPydicom reads, modifies, and writes DICOM…
permissive · top 5,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
CoolPropCoolProp provides thermodynamic and transport…
permissive · top 5,000 on PyPI
pyquaternionProvides quaternion representation,…
permissive · top 5,000 on PyPI
canteraCantera is a suite of tools for chemical…
permissive · top 15,000 on PyPI
chemicalsRetrieves and calculates chemical properties…
permissive · top 15,000 on PyPI
iapwsCalculates thermodynamic and transport…
copyleft · top 15,000 on PyPI
janafSearches and parses NIST-JANAF thermochemical…
permissive · top 15,000 on PyPI
periodictableProvides a periodic table of the elements with…
permissive · top 15,000 on PyPI
mordredcommunityCalculates molecular descriptors from chemical…
permissive · top 15,000 on PyPI
chempropChemprop trains and deploys message passing…
permissive · top 15,000 on PyPI
vasprun-xmlParses VASP calculation output from vasprun.xml…
permissive · top 15,000 on PyPI