https://github.com/exabyte-io/periodic-table
Data about chemical elements arranged in JSON format
https://github.com/exabyte-io/periodic-table
chemical-elements cheminformatics chemistry data-science materials materials-informatics periodic-table periodic-table-of-elements
Last synced: 3 months ago
JSON representation
Data about chemical elements arranged in JSON format
- Host: GitHub
- URL: https://github.com/exabyte-io/periodic-table
- Owner: Exabyte-io
- License: other
- Created: 2018-11-19T22:48:29.000Z (over 6 years ago)
- Default Branch: dev
- Last Pushed: 2024-03-14T19:45:09.000Z (over 1 year ago)
- Last Synced: 2024-04-26T02:44:12.214Z (about 1 year ago)
- Topics: chemical-elements, cheminformatics, chemistry, data-science, materials, materials-informatics, periodic-table, periodic-table-of-elements
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@exabyte-io/periodic-table.js
- Size: 268 KB
- Stars: 0
- Watchers: 10
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://badge.fury.io/js/%40mat3ra%2Fperiodic-table)
[](https://badge.fury.io/py/mat3ra-periodic-table)
[](https://www.apache.org/licenses/LICENSE-2.0)# 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:
```bash
npm install @mat3ra/periodic-table```
### 1.2. Python
```bash
pip install mat3ra-periodic-table```
## 2. Usage
### 2.1. JavaScript
```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
```python
from mat3ra.periodic_table import PERIODIC_TABLE
from mat3ra.periodic_table.bonds import ELEMENT_BONDS
from mat3ra.periodic_table.colors import ELEMENT_COLORSassert PERIODIC_TABLE["H"]["name"] == "Hydrogen"
assert PERIODIC_TABLE["H"]["atomic_radius_pm"] == 25bond = 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" # white
```## 3. Atomic Properties
- `name`: element name
- `symbol`: element symbol
- `atomic_number`: atomic number
- `atomic_mass`: atomic mass in amu
- `atomic_radius_pm`: empirical atomic radius in pm by Slater (doi: [10.1063/1.1725697](https://doi.org/10.1063/1.1725697))
- `covalent_radius_pm`: covalent radius "2008 values" (doi: [10.1039/b801115j](https://doi.org/10.1039/b801115j))
- `van_der_Waal_radius_pm`: van der Waals radius (doi: [10.1021/jp8111556](https://doi.org/10.1021/jp8111556), [10.1021/j100785a001](https://doi.org/10.1021/j100785a001))## 4. Notes
- Colors are in CPK convention
## 5. Contributions
This repository is an [open-source](LICENSE.md) work-in-progress and we welcome contributions.
## 6. ToDos
- Add pre-commit hook to run `python build_modules.py` before commit
## 7. Links
1. Periodic table original source: GPeriodic, Open source Linux software: [link](http://gperiodic.seul.org/)