Skip to main content

chemlib

⚗️🔬👨‍🔬🧪
Chemistry Library

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
  • Quantum Mechanics
    • Electromagnetic Waves
      • Frequency, Wavelength, Energy per photon
    • Energy in nth Hydrogen Orbital
    • Rydberg Equation

Galvanic Cell Diagrams

Zn-Cu Galvanic Cell

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--},
}

Release files for chemlib 2.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chemlib 2.2.4
File Size Uploaded
chemlib-2.2.4.tar.gz 102.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chemlib 2.2.4
File Interpreter ABI Platform
chemlib-2.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 203.1 kB

Release files / chemlib-2.2.4.tar.gz

Download URL chemlib-2.2.4.tar.gz
Size 102.7 kB
Tags Source
SHA-256 checksum
How to use checksums
af5bcfeea506a22acf001170148449bf2eab6e1d4a788715fc3f9ead15c6fe36
BLAKE2b-256 checksum
How to use checksums
874589d90a0c6d5cb5cffb5d8591741f27a8ef406f631e41d1273121e54c64ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release files / chemlib-2.2.4-py3-none-any.whl

Download URL chemlib-2.2.4-py3-none-any.whl
Size 100.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7061ff0ff6951d914e10fa635b021ae498ebad6ff20d5c777870aff853eb3203
BLAKE2b-256 checksum
How to use checksums
ba449f036c684c0271198f5ef6bda85ca9abdc2e6005909f9763ca2119e305cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

This release

2.2.4 This release

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.9

1 release file

2.1.8

1 release file

2.1.7

1 release file

2.1.6

1 release file

2.1.5

1 release file

2.1.4

1 release file

2.1.3

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.1

1 release file

2.0

1 release file

1.9

1 release file

1.8

1 release file

1.7

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page