Registry / data / janaf
library1.2.1pypypi✓ verified 82d ago

janaf is a Python wrapper for the NIST-JANAF Thermochemical Tables, providing programmatic access to thermodynamic data for various chemical species. The current version is 1.2.1, with releases occurring a few times a year, often including dependency updates and minor feature enhancements.

pip install janaf
INSTALL
IMPORT
SIG · JANAF
J
janaf
datapythonv1.2.1
Install
7.8s avg
Import
Disk
389MB
Pass rate
9/ 10
Env Coverage9 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.2.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 7.88s
py 3.11
✓ —
✓ 7.53s
py 3.12
✓ —
✓ 7.53s
py 3.13
✓ —
✓ 7.6s
py 3.9
✕ build_error
✓ 8.45s
389MB installed
● package 389MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Table
from janaf import Table
from janaf import get_table
search
from janaf import search
index
from janaf import index

This quickstart demonstrates how to fetch thermochemical data for a species (e.g., H2O) using `janaf.get_table()` and access the data as a pandas DataFrame. It also shows how to retrieve specific property values.

from janaf import get_table # Get thermochemical data for Water water_table = get_table("H2O") # Access data as a pandas DataFrame print("\nWater Table (first 5 rows):\n", water_table.df.head()) # Access specific properties print(f"\nEnthalpy (H) at 298.15 K: {water_table.df.loc[298.15, 'H/RT']} RT") # Get data for another species oxygen_table = get_table("O2") print("\nOxygen Table (first 5 rows):\n", oxygen_table.df.head())
Debug
Known issues
breakingPython 3.8 support was dropped in `janaf` v1.2.1. If you are using Python 3.8 or older, you must either upgrade your Python version or pin `janaf` to a version older than 1.2.1.
fix
Upgrade Python to 3.9+ or use `pip install 'janaf<1.2.1'`.
affects: >=1.2.1
breakingAs of v1.1.0, `janaf` no longer performs runtime imputation of missing data points (e.g., for `cp0/R`). If your code relied on these estimated values for certain species or temperature ranges, you might now encounter `NaN` values where data was previously provided.
fix
Update your code to explicitly handle `NaN` values (e.g., `dropna()`, `fillna()`, or manual interpolation) or ensure your data sources cover the full range of interest. Alternatively, pin `janaf` to `<1.1.0` if this imputation behavior is critical.
affects: >=1.1.0
gotchaThe `Table.to_xarray()` method requires the optional `xarray` dependency to be installed. If `xarray` is not installed, calling this method will result in an `AttributeError`.
fix
Install `janaf` with the `xarray` extra: `pip install "janaf[xarray]"` or install `xarray` separately: `pip install xarray`.
affects: >=1.2.0
Upgrade
Version history
1.2.1latest on PyPI · released Feb 18, 2026
Audit
Dependencies
numpyrequiredCore dependency for numerical operations.
pandasrequiredCore dependency for data handling (DataFrames).
xarrayoptionalRequired for the Table.to_xarray() method.
Agent activity
15 hits · last 30 days
node
12
Resources