A curated list of awesome Python frameworks, libraries, software and resources related to Chemistry.
Inspired by awesome-python.
Table of contents
Packages and tools for general chemistry.
- batchcalculator - A GUI app based on wxPython for calculating the correct amount of reactants (batch) for a particular composition given by the molar ratio of its components.
- cctbx - The Computational Crystallography Toolbox.
- chemlib - A robust and easy-to-use package that solves a variety of chemistry problems.
- chempy - ChemPy is a package useful for chemistry (mainly physical/inorganic/analytical chemistry).
- GoodVibes - A Python program to compute quasi-harmonic thermochemical data from Gaussian frequency calculations.
- ionize - Calculates the properties of individual ionic species in aqueous solution, as well as aqueous solutions containing arbitrary sets of ions.
- mendeleev - A package that provides a python API for accessing various properties of elements from the periodic table of elements.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- periodictable - This package provides a periodic table of the elements with support for mass, density and xray/neutron scattering information.
- pybel - Pybel provides convenience functions and classes that make it simpler to use the Open Babel libraries from Python.
- pycroscopy - Scientific analysis of nanoscale materials imaging data.
- pyEQL - A set of tools for conventional calculations involving solutions (mixtures) and electrolytes.
- pyiron - pyiron - an integrated development environment (IDE) for computational materials science.
- pymatgen - Python Materials Genomics is a robust, open-source library for materials analysis.
- symfit - a curve-fitting library ideally suited to chemistry problems, including fitting experimental kinetics data.
- symmetry - Symmetry is a library for materials symmetry analysis.
- stk - A library for building, manipulating, analyzing and automatic design of molecules, including a genetic algorithm.
Packages for atomistic simulations and computational chemistry.
- amp - Is an open-source package designed to easily bring machine-learning to atomistic calculations.
- Atomic Silumation Environment (ASE) - Is a set of tools and modules for setting up, manipulating, running, visualizing and analyzing atomistic simulations.
- basis_set_exchange - A library containing basis sets for use in quantum chemistry calculations. In addition, this library has functionality for manipulation of basis set data.
- CACTVS - Cactvs is a universal, scriptable cheminformatics toolkit, with a large collection of modules for property computation, chemistry data file I/O and other tasks.
- ccdc - An API for the Cambridge Structural Database System.
- cclib - A library for parsing output files various quantum chemical programs.
- cinfony - A common API to several cheminformatics toolkits (Open Babel, RDKit, the CDK, Indigo, JChem, OPSIN and cheminformatics webservices).
- chainer-chemistry - A Library for Deep Learning in Biology and Chemistry.
- chemlab - Is a library that can help the user with chemistry-relevant calculations.
- chemml - A machine learning and informatics program suite for the analysis, mining, and modeling of chemical and materials data.
- deepchem - Deep-learning models for Drug Discovery and Quantum Chemistry.
- emmet - A package to 'build' collections of materials properties from the output of computational materials calculations.
- fromage - The "FRamewOrk for Molecular AGgregate Excitations" enables localised QM/QM' excited state calculations in a solid state environment.
- GPAW - Is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE).
- horton - Helpful Open-source Research TOol for N-fermion system, a quantum-chemistry program that can perform computations involving model Hamiltonians.
- Indigo - Universal cheminformatics libraries, utilities and database search tools.
- MAML - Aims to provide useful high-level interfaces that make ML for materials science as easy as possible.
- mathchem - Is a free open source package for calculating topological indices and other invariants of molecular graphs.
- MDAnalysis - Is an object-oriented library to analyze trajectories from molecular dynamics (MD) simulations in many popular formats.
- MDTraj - Package for manipulating molecular dynamics trajectories with support for multiple formats.
- MMTK - The Molecular Modeling Toolkit is an Open Source program library for molecular simulation applications.
- MolMod - A library with many components that are useful to write molecular modeling programs.
- OPEM - Open source PEM (Proton Exchange Membrane) fuel cell simulation tool.
- pGrAdd - A library for estimating thermochemical properties of molecules and adsorbates using group additivity.
- phonopy - An open source package for phonon calculations at harmonic and quasi-harmonic levels.
- PLAMS - Python Library for Automating Molecular Simulation: input preparation, job execution, file management, output processing and building data workflows.
- pMuTT - A library for ab-initio thermodynamic and kinetic parameter estimation.
- PorePy - A Simulation Tool for Fractured and Deformable Porous Media.
- ProDy - An open source package for protein structural dynamics analysis with a flexible and responsive API.
- Psi4 - A hybrid Python/C++ open-source package for quantum chemistry.
- pyEMMA - Library for the estimation, validation and analysis Markov models of molecular kinetics and other kinetic and thermodynamic models from molecular dynamics data.
- pygauss - An interactive tool for supporting the life cycle of a computational molecular chemistry investigations.
- PyQuante - Is an open-source suite of programs for developing quantum chemistry methods
- pysic - A calculator incorporating various empirical pair and many-body potentials.
- Pyscf - A quantum chemistry package written in Python.
- pyvib2 - A program for analyzing vibrational motion and vibrational spectra.
- RDKit - Open-Source Cheminformatics Software.
- ReNView - A program to visualize reaction networks.
- stk - A library for building, manipulating, analyzing and automatic design of molecules.
- QUIP - A collection of software tools to carry out molecular dynamics simulations.
- tsase - The library which depends on ASE to tackle transition state calculations.
Packages for viewing molecular structures.
- ase-gui - The graphical user-interface allows users to visualize, manipulate, and render molecular systems and atoms objects.
- chemview - An interactive molecular viewer designed for the IPython notebook.
- imolecule - An embeddable webGL molecule viewer and file format converter.
- nglview - A Jupyter widget to interactively view molecular structures and trajectories.
- PyMOL - A user-sponsored molecular visualization system on an open-source foundation, maintained and distributed by Schrödinger.
- pymoldyn - A viewer for atomic clusters, crystalline and amorphous materials in a unit cell corresponding to one of the seven 3D Bravais lattices.
- sumo - A toolkit for plotting and analysis of ab initio solid-state calculation data.
- surfinpy - A library for the analysis, plotting and visualisation of ab initio surface calculation data.
Providing a python layer for accessing chemical databases
- ChemSpiPy - ChemSpider wrapper, that allows chemical searches, chemical file downloads, depiction and retrieval of chemical properties.
- CIRpy - An interface for the Chemical Identifier Resolver (CIR) by the CADD Group at the NCI/NIH.
- pubchempy - PubChemPy provides a way to interact with PubChem in Python.
- awesome-cheminformatics Another list focuses on Cheminformatics, including tools not only in Python.