Skip to main content

An easy-to-use library that quickly performs chemistry calculations.

Project description

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

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

To-Do

  • Building Empirical Formulas
  • Combustion Analysis
  • Hydrates
  • Percent Yield
  • Molarity and pH
  • Thermochemistry

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chemlib-2.1.7.tar.gz (92.3 kB view details)

Uploaded Source

File details

Details for the file chemlib-2.1.7.tar.gz.

File metadata

  • Download URL: chemlib-2.1.7.tar.gz
  • Upload date:
  • Size: 92.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.8.3

File hashes

Hashes for chemlib-2.1.7.tar.gz
Algorithm Hash digest
SHA256 d7e6faaca331bb773fcca3763a3a25824a6536c56909f254fe7cecfbfabd5b3a
MD5 9dff0f3d4b2702fe854eaf875f16e8bb
BLAKE2b-256 87ad5a9d8049960d8023ea85c0f6250737212254b17d71a6f6fab7f353cd5ffe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page