An easy-to-use library that quickly performs chemistry calculations.
Project description
chemlib
A pure Python package that supports a variety of functions pertaining to the vast field of chemistry.
Installation
Use the Python Package Installer (PyPI):
$ pip install -U chemlib
Features
- Properties of all Elements
- Compounds
- Formula
- Molar Mass
- Percentage Composition by Mass
- Stoichiometric Amounts
- Oxidation States/Numbers
- Empirical Formulae
- Empirical Formula by Percentage Composition
- Combustion Analysis of Hydrocarbons
- Aqueous Solutions
- Solute
- Molarity (mol/L)
- Stoichiometric Amounts
- Dilutions
- Chemical Reactions
- Formula
- Balancing the Equation
- Combustion Reactions
- Stoichiometric Amounts
- Limiting Reagent
- Electrochemistry
- Galvanic (Voltaic) Cells
- Anode, Cathode, Cell Potential, Diagram
- Electrolysis
- Galvanic (Voltaic) Cells
- Quantum Mechanics
- Electromagnetic Waves
- Frequency, Wavelength, Energy per photon
- Energy in nth Hydrogen Orbital
- Rydberg Equation
- Electromagnetic Waves
Galvanic Cell Diagrams
Elements
>>> from chemlib import Element
>>> boron = Element('B') #Declare Element from its symbol
>>> boron.properties
{'AtomicNumber': 5.0, 'Element': 'Boron', 'Symbol': 'B', 'AtomicMass': 10.811, 'Neutrons': 6.0, 'Protons': 5.0, 'Electrons': 5.0, 'Period': 2.0, 'Group': 13.0, 'Phase': 'solid', 'Radioactive': False, 'Natural': True, 'Metal': False, 'Nonmetal': False, 'Metalloid': True, 'Type': 'Metalloid', 'AtomicRadius': '1.2', 'Electronegativity': 2.04, 'FirstIonization': '8.298', 'Density': '2.34', 'MeltingPoint': '2573.15', 'BoilingPoint': '4200', 'Isotopes': 6.0, 'Discoverer': 'Gay-Lussac', 'Year': '1808', 'SpecificHeat': '1.026', 'Shells': 2.0, 'Valence': 3.0, 'Config': '[He] 2s2 2p1', 'MassNumber': 11.0}
>>> boron.AtomicMass
10.811
Compounds
>>> from chemlib import Compound
>>> nitric_acid = Compound("HNO3")
>>> nitric_acid.occurences
{'H': 1, 'N': 1, 'O': 3}
>>> nitric_acid.molar_mass()
63.01
>>> nitric_acid.percentage_by_mass('O') #Get percentage composition by mass of a constituent element of choice
76.174
Stoichiometric conversions with compounds
Accepted inputs: grams, moles, and molecules
>>> from chemlib import Compound
>>> water = Compound('H2O')
>>> water.formula
'H₂O₁'
>>> water.get_amounts(grams = 2)
{'Compound': 'H₂O₁', 'Grams': 2, 'Moles': 0.111, 'Molecules': 6.685e+22}
>>> water.get_amounts(moles = 1)
{'Compound': 'H₂O₁', 'Grams': 18.01, 'Moles': 1, 'Molecules': 6.02e+23}
>>> water.get_amounts(molecules = 1.0e+24)
{'Compound': 'H₂O₁', 'Grams': 29.917, 'Moles': 1.6611, 'Molecules': 1e+24}
Balancing Chemical Reactions
>>> from chemlib import Compound, Reaction
>>> H2 = Compound('H2')
>>> O2 = Compound('O2')
>>> H2O = Compound('H2O')
>>> r = Reaction(reactants = [H2, O2], products = [H2O])
>>> r.formula
'1H₂ + 1O₂ --> 1H₂O₁'
>>> r.is_balanced
False
>>> r.balance()
>>> r.formula
'2H₂ + 1O₂ --> 2H₂O₁'
>>> r.is_balanced
True
Citing
If you use chemlib in your scientific work, please consider citing:
| H. R. Ambethkar, chemlib - A Python chemistry library , 2020-- . Available at: https://github.com/harirakul/chemlib.
The reference in the BibLaTeX format:
@software{chemlib2020,
author = {Ambethkar, Hari},
title = {{chemlib} -- A Python chemistry library},
url = {https://github.com/harirakul/chemlib},
version = {2.1.9},
date = {2020--},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chemlib-2.2.4.tar.gz.
File metadata
- Download URL: chemlib-2.2.4.tar.gz
- Upload date:
- Size: 102.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af5bcfeea506a22acf001170148449bf2eab6e1d4a788715fc3f9ead15c6fe36
|
|
| MD5 |
07f6d7b92dac68f1fcda5914b87d3af3
|
|
| BLAKE2b-256 |
874589d90a0c6d5cb5cffb5d8591741f27a8ef406f631e41d1273121e54c64ff
|
File details
Details for the file chemlib-2.2.4-py3-none-any.whl.
File metadata
- Download URL: chemlib-2.2.4-py3-none-any.whl
- Upload date:
- Size: 100.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7061ff0ff6951d914e10fa635b021ae498ebad6ff20d5c777870aff853eb3203
|
|
| MD5 |
d4f15e4f7a5645eebfbf0198bba5eb31
|
|
| BLAKE2b-256 |
ba449f036c684c0271198f5ef6bda85ca9abdc2e6005909f9763ca2119e305cf
|