skillfed

janaf

Python wrapper for NIST-JANAF Thermochemical Tables

janaf v1.4.0 531.8K downloads/30d#6,152 on PyPI11
Permissive license 0BSD Active released

What it is and what it does

janaf is a Python wrapper around the NIST-JANAF Thermochemical Tables, a curated reference database of thermodynamic properties for chemical compounds. It lets you search for compounds by formula and retrieve their thermochemical data—heat capacity, entropy, Gibbs free energy, formation enthalpy, and more—across a temperature range, parsed directly into a polars DataFrame for analysis and calculation.

The package includes corrections for known data quality issues in the original NIST tables (missing signs, formatting gaps, stray comment lines) and exposes the underlying data as structured columns. It depends only on polars for data handling, making it lightweight to install. The bundled thermochemical data comes from NIST's official tables, though the wrapper itself is newly maintained.

Use it for:

  • Look up standard formation enthalpies and Gibbs free energies for compounds at reference temperature (298.15 K) for equilibrium calculations.
  • Retrieve heat capacity and entropy data across a temperature range for thermodynamic simulations or process design.
  • Search for thermochemical properties of a specific compound by chemical formula to validate or supplement experimental measurements.
  • Extract tabular thermodynamic data into a DataFrame for batch analysis or integration into a larger computational chemistry workflow.
  • Verify compound identifiers and available temperature ranges before performing high-temperature thermodynamic calculations.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Searches and parses NIST-JANAF thermochemical tables into polars DataFrames, with corrections for common data quality issues in the source tables.

Yes, if you need reliable access to NIST-JANAF thermochemical reference data in Python. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and integrates cleanly with polars. The permissive license and low dependency count make it a straightforward addition to chemistry or materials science workflows. Not necessary if you already have direct access to NIST tables or use a different thermodynamic database.

Install

janaf on PyPI

pip

pip install janaf

uv

uv add janaf

poetry

poetry add janaf

Installing janaf

Before you install

Low install friction with a single polars dependency. Active maintenance with a recent release (31 days ago) and current commits; supports Python 3.10 through 3.15.

License in practice

Licensed under 0BSD (permissive), allowing unrestricted use. Note that the bundled NIST-JANAF data itself carries a separate NIST disclaimer regarding accuracy and liability.

Quickstart

pip install janaf

import janaf
table = janaf.search(formula="CO2$")
df = table.df
value = df.filter(pl.col("T(K)").is_close(298.15)).item(0, "delta-f H")

Requires polars to be installed; Python 3.10 or later.

Verify before relying

  • Scope of data corrections applied (missing signs, missing tabs, comment lines) and whether they affect all compounds or specific subsets
  • Whether search supports compound names, formulas, or both; regex support indicated but full query syntax not detailed

Package facts

License 0BSD (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — polars
Maintenance actively maintained — 31 days since the last release
Last repo commit
First released
Downloads 531,795/month — #6,152 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: janaf-1.4.0-py3-none-any.whl

Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Implementation :: CPythonTopic :: Scientific/Engineering :: ChemistryTopic :: Scientific/Engineering :: Physics

Tags

thermochemical data lookupNIST JANAF tableschemical compound thermodynamicsparse thermochemical tablesenthalpy entropy datachemical property databasethermodynamic reference data
thermodynamicschemistry-datanist-reference

More Physics packages