All Projects → harirakul → chemlib

harirakul / chemlib

Licence: MIT license
🧪 A comprehensive chemistry library for Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to chemlib

atom-pwa
Learn the basics of chemistry doing the tests and using the periodic table
Stars: ✭ 41 (+57.69%)
Mutual labels:  chemistry, periodic-table
periodic-table
Interactive Periodic Table which I made with React.js and CSS Grid. I was trying to memorize all the elements and thought, hey can I make this peculiar layout with my current CSS skills? I finally did
Stars: ✭ 92 (+253.85%)
Mutual labels:  chemistry, periodic-table
periodic-table.io
periodic-table.io
Stars: ✭ 37 (+42.31%)
Mutual labels:  chemistry, periodic-table
qmflows
This library tackles the construction and efficient execution of computational chemistry workflows
Stars: ✭ 35 (+34.62%)
Mutual labels:  chemistry, quantum-mechanics
periodum
Periodum: An Interactive, Open-Source Periodic Table!
Stars: ✭ 346 (+1230.77%)
Mutual labels:  chemistry, periodic-table
QCElemental
Periodic table, physical constants, and molecule parsing for quantum chemistry.
Stars: ✭ 116 (+346.15%)
Mutual labels:  chemistry, periodic-table
mendeleev
A python package for accessing various properties of elements, ions and isotopes in the periodic table of elements.
Stars: ✭ 107 (+311.54%)
Mutual labels:  chemistry, periodic-table
qp2
Quantum Package : a programming environment for wave function methods
Stars: ✭ 37 (+42.31%)
Mutual labels:  chemistry
EzReson
An efficient toolkit for chemical resonance analysis based on quantum chemistry calculations. It implements the quantitative theory of resonance by expansion of the wave function from a DFT/HF calculation in terms of those of the Lewis structures.
Stars: ✭ 14 (-46.15%)
Mutual labels:  chemistry
DLBFoam-1.0
DLBFoam: An open-source dynamic load balancing model for fast reacting flow simulations in OpenFOAM. https://doi.org/10.1016/j.cpc.2021.108073
Stars: ✭ 29 (+11.54%)
Mutual labels:  chemistry
lightdock
Protein-protein, protein-peptide and protein-DNA docking framework based on the GSO algorithm
Stars: ✭ 110 (+323.08%)
Mutual labels:  chemistry
chemistry-opencmis
Mirror of Apache Chemistry OpenCMIS
Stars: ✭ 47 (+80.77%)
Mutual labels:  chemistry
PySDM
Pythonic particle-based (super-droplet) warm-rain/aqueous-chemistry cloud microphysics package with box, parcel & 1D/2D prescribed-flow examples in Python, Julia and Matlab
Stars: ✭ 26 (+0%)
Mutual labels:  pypi-package
pycln
A formatter for finding and removing unused import statements.
Stars: ✭ 161 (+519.23%)
Mutual labels:  pypi-package
ChemistryFeaturization.jl
Interface package for featurizing atomic structures
Stars: ✭ 35 (+34.62%)
Mutual labels:  chemistry
isotope
Haskell library containing isotopic masses and relative abundances for elements from Hydrogen to Bismuth and Thorium and Uranium (excluding Technetium and promethium), i.e., all elements with naturally-occurring isotopes.
Stars: ✭ 17 (-34.62%)
Mutual labels:  chemistry
FastExpm.jl
Implementation of a fast exponential matrix for large matrices (full and sparse)
Stars: ✭ 22 (-15.38%)
Mutual labels:  quantum-mechanics
graph-nvp
GraphNVP: An Invertible Flow Model for Generating Molecular Graphs
Stars: ✭ 69 (+165.38%)
Mutual labels:  chemistry
drum-hat
Python library for the Pimoroni Drum HAT Raspberry Pi Add-on board.
Stars: ✭ 26 (+0%)
Mutual labels:  pypi-package
SciCompforChemists
Scientific Computing for Chemists text for teaching basic computing skills to chemistry students using Python, Jupyter notebooks, and the SciPy stack. This text makes use of a variety of packages including NumPy, SciPy, matplotlib, pandas, seaborn, NMRglue, SymPy, scikit-image, and scikit-learn.
Stars: ✭ 65 (+150%)
Mutual labels:  chemistry

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--},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].