--- id: thermo version: "0.6.1" license: MIT license_treatment: permissive maintenance: active --- # thermo — Chemical properties component of Chemical Engineering Design Library (ChEDL) License: permissive · Maintenance: active · Downloads: 422.0K/mo ## 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 above — 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 pip install thermo uv add thermo poetry add thermo ## Installing 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_current - Install friction: low - Maintenance: active - Downloads: 422.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags thermodynamic properties calculator, chemical property database, phase equilibrium flash calculations, equation of state solver, mixture thermodynamics, vapor pressure enthalpy entropy, chemical engineering properties, thermodynamics, chemical-engineering, phase-equilibrium [View on SkillFed](https://skillfed.io/packages/thermo) · [View on PyPI](https://pypi.org/project/thermo/)