iapws
Python implementation of standards from The InternationalAssociation for the Properties of Water and Steam
Decision gist · record as of 2026-08-14
Yes, if you need IAPWS standard thermodynamic calculations for water, steam, ice, or seawater. The package is actively maintained, has no known vulnerabilities, and installs with minimal friction. The GPLv3 copyleft license is a blocker only for proprietary closed-source projects; academic, research, and open-source work can use it freely.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with a single runtime dependency on scipy.
- Active maintenance with a recent release (140 days ago) and ongoing repository activity.
License · maintenance · safety
gpl v3 (copyleft) — GPLv3 copyleft license: any derivative work or software that links this library must also be open-source under GPLv3. Suitable for academic and open-source projects; proprietary software integration requires careful licensing review.
last release 2026-03-27 (140 days) · last repo commit 2026-06-14 · 197 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 517,087 downloads/mo, #6,229 on PyPI
Alternatives
Verify before relying
pip install iapws
from iapws import IAPWS97
sat_steam = IAPWS97(P=1, x=1) # saturated steam at 1 bar
print(sat_steam.h) # enthalpy in kJ/kg- Whether the package handles edge cases and convergence issues mentioned in the TODO (two-phase region for IAPWS95 and D2O) without user workarounds.
- Performance characteristics for large-scale batch calculations beyond the multiprocessing example shown.
What it is and what it does
iapws is a Python library that implements the full set of IAPWS (International Association for the Properties of Water and Steam) standards for calculating thermodynamic and transport properties. It covers water and steam (IF97, 95), ice (06), seawater (08), and heavy water (17). Given pressure, temperature, or quality state variables, it computes properties like enthalpy, entropy, density, and specific heat.
The library is designed for scientific and engineering applications that need accurate steam table lookups and thermodynamic calculations. It depends only on scipy for numerical operations and is available as a pure Python wheel. The package includes multiprocessing support for batch calculations and is actively maintained with support for current Python versions.
Use it for
- Calculate steam properties for power plant cycle analysis given pressure and temperature inputs.
- Determine saturation conditions (enthalpy, entropy) for thermodynamic process modeling.
- Compute seawater thermodynamic properties for oceanographic or desalination engineering.
- Batch-process multiple thermodynamic states using the multiprocessing-enabled from_list method.
- Retrieve ice properties at specific temperature and pressure for cryogenic or glaciology applications.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need IAPWS standard thermodynamic calculations for water, steam, ice, or seawater.
The package is actively maintained, has no known vulnerabilities, and installs with minimal friction. The GPLv3 copyleft license is a blocker only for proprietary closed-source projects; academic, research, and open-source work can use it freely.
Install
iapws on PyPI
Before you install
Low friction: pure Python wheel with a single runtime dependency on scipy. Active maintenance with a recent release (140 days ago) and ongoing repository activity.
License in practice
GPLv3 copyleft license: any derivative work or software that links this library must also be open-source under GPLv3. Suitable for academic and open-source projects; proprietary software integration requires careful licensing review.
Quickstart
pip install iapws
from iapws import IAPWS97
sat_steam = IAPWS97(P=1, x=1) # saturated steam at 1 bar
print(sat_steam.h) # enthalpy in kJ/kg
Verify before relying
- Whether the package handles edge cases and convergence issues mentioned in the TODO (two-phase region for IAPWS95 and D2O) without user workarounds.
- Performance characteristics for large-scale batch calculations beyond the multiprocessing example shown.
Package facts
| License | gpl v3 copyleft |
| Python support | Supports the current Python release !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagescipy |
| Maintenance | Actively maintained 140 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 517,087 / month, #6,229 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Natural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonTopic :: Scientific/EngineeringTopic :: Scientific/Engineering :: ChemistryTopic :: Scientific/Engineering :: PhysicsTopic :: Software Development :: Libraries :: Python Modules |
Evidence: iapws-1.5.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “steam table calculations”
- iapwsCalculates thermodynamic and transport properties of water, steam,…
- vdfSerializes and deserializes Valve's KeyValue (VDF) text format to and…
- periodictableProvides a periodic table of the elements with computed properties…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also gsw · thermo · chemicals · CoolProp · cantera · janaf · pymbar · vasprun-xml · epiweeks · periodictable