@mat3ra/periodic-table
v2025.1.18-1
Published
Data about chemical elements arranged in JSON format
Readme
Periodic Table
Data about chemical elements arranged in JSON format. The module also contains modules for accessing data in both Python and JavaScript/TypeScript.
1. Installation
1.1. JavaScript
The package can be installed from NPM as follow:
npm install @mat3ra/periodic-table
1.2. Python
pip install mat3ra-periodic-table
2. Usage
2.1. JavaScript
import {PERIODIC_TABLE, ChemicalElement} from "@mat3ra/periodic-table";
console.log(PERIODIC_TABLE.H);
const li = new ChemicalElement("Li");
console.log(li.atomicRadiusIn("bohr"));2.2. Python
from mat3ra.periodic_table import PERIODIC_TABLE
from mat3ra.periodic_table.bonds import ELEMENT_BONDS
from mat3ra.periodic_table.colors import ELEMENT_COLORS
assert PERIODIC_TABLE["H"]["name"] == "Hydrogen"
assert PERIODIC_TABLE["H"]["atomic_radius_pm"] == 25
bond = next(b for b in ELEMENT_BONDS if b["elements"] == ["H", "O"])
assert bond["energy"]["value"] == 4.75721615
assert bond["energy"]["units"] == "eV"
assert bond["length"]["value"] == 0.96
assert bond["length"]["units"] == "angstrom"
assert ELEMENT_COLORS["H"] == "#FFFFFF" # white3. Atomic Properties
name: element namesymbol: element symbolatomic_number: atomic numberatomic_mass: atomic mass in amuatomic_radius_pm: empirical atomic radius in pm by Slater (doi: 10.1063/1.1725697)covalent_radius_pm: covalent radius "2008 values" (doi: 10.1039/b801115j)van_der_Waal_radius_pm: van der Waals radius (doi: 10.1021/jp8111556, 10.1021/j100785a001)
4. Notes
- Colors are in CPK convention
5. Contributions
This repository is an open-source work-in-progress and we welcome contributions.
6. ToDos
- Add pre-commit hook to run
python build_modules.pybefore commit
7. Links
- Periodic table original source: GPeriodic, Open source Linux software: link
