chemicals
Chemical properties component of Chemical Engineering Design Library (ChEDL)
What it is and what it does
Chemicals is a reference library for chemical and thermodynamic data, providing lookup functions and calculation methods for over 20,000 substances. It wraps extensive databanks (critical properties, vapor pressure, heat capacity, transport properties) and makes them available on-demand, so you only load the data you need. The library is built around SI units and accessed primarily by CAS Registry Number, returning None when data is unavailable rather than guessing.
It serves engineers, scientists, and process modelers who need reliable chemical constants and property correlations. The package integrates with NumPy for vectorized operations, Numba for JIT compilation, and Pint for unit tracking. It is a core dependency of BioSTEAM and similar process simulation frameworks. Data comes from cited, openly published sources—not an exhaustive recommended-value repository, but a practical collection of working correlations and coefficients.
Use it for:
- Look up molecular weight, critical temperature, or heat of formation for a chemical by name or CAS number.
- Calculate vapor pressure or heat capacity at a given temperature using Antoine or other correlation methods.
- Solve flash calculations or vapor-liquid equilibrium problems in process simulation.
- Retrieve safety and toxicity information for a chemical in a batch workflow.
- Accelerate thermodynamic calculations using Numba-compiled functions in performance-critical code.
- Track units of measure in chemical property calculations using Pint Quantity objects.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Retrieves and calculates chemical properties and constants for over 20,000 chemicals, including molecular weight, boiling/melting points, vapor pressure, heat capacity, viscosity, and thermodynamic phase equilibrium solutions.
Yes. Chemicals is actively maintained, has no known vulnerabilities, installs cleanly, and is the standard reference library for chemical data in Python process engineering. Install it if you need reliable chemical constants, property correlations, or thermodynamic phase equilibrium routines. The MIT license poses no barrier. Skip it only if your use case requires proprietary or specialized data not in its databanks.
Install
chemicals on PyPI
pip
pip install chemicalsuv
uv add chemicalspoetry
poetry add chemicalsInstalling chemicals
Before you install
Low friction installation with a pure Python wheel. Actively maintained with a recent release (68 days ago) and steady repository activity. Depends on scipy, numpy, pandas, and fluids—all well-established scientific libraries.
License in practice
MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install chemicals
from chemicals import CAS_from_any, MW, Tb
CAS_water = CAS_from_any('Water')
molecular_weight = MW(CAS_water) # Returns 18.01528 g/mol
boiling_point = Tb(CAS_water) # Returns 373.124 K
Requires Python 3.9 or later.
Verify before relying
- Whether the on-demand databank loading actually reduces memory footprint in typical workflows.
- Performance characteristics when querying properties for large numbers of chemicals sequentially.
- Completeness and accuracy of data for chemicals outside common industrial compounds.
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, numpy, pandas |
| Maintenance | actively maintained — 68 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 434,026/month — #6,698 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: chemicals-1.5.2-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
janafSearches and parses NIST-JANAF thermochemical…
permissive · top 15,000 on PyPI
thermoThermo calculates temperature and…
permissive · top 15,000 on PyPI
iapwsCalculates thermodynamic and transport…
copyleft · top 15,000 on PyPI
mendeleevProvides a Python API to query properties of…
permissive · top 15,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
aimsim-coreProvides core molecular featurization and…
permissive · top 15,000 on PyPI
mordredcommunityCalculates molecular descriptors from chemical…
permissive · top 15,000 on PyPI
pymbarpymbar implements the multistate Bennett…
permissive · top 15,000 on PyPI