Awesome Python Chemistry


Python programming language is becoming the language of choice for large number of scientists and it doesn't take much effort to realize why this is happening. One of the most important reasons is it's simplicity that does not compromise it's power. It has a relatively low entry point since simple python expressions resemble statements in English but at the same time it's a mature language used as an indispensable tool in many operating systems, it powers up web services, and is used in large scale applications. Moreover it has a great documentation system, helpful community and a lot of online resources that offer everything from short tutorials to university programming courses.

It is so popular among scientists between a broad range of domains that there is now a meeting called SciPy conference dedicated to scientific applications of Python. It is a great initiative that encourages collaboration and blurs the lines between different fields of scientific inquiry like: chemistry, physics, mathematics, computer science and many more, which is crucial for research innovations.

The popularity didn't go unnoticed by an even wider audience since one of the most influential scientific journals (Nature) published this article that recommends picking up Python to work much more efficiently, improve handling of big data sets and create beautiful visualizations. You could also communicate your research results more efficiently through building websites or web applications (also with Python tools). Collaboration and publishing also became more efficient with Jupyter notebooks that were highlighted in another article. If you are curious to see Python and Jupyter working together for various applications (including scientific ones) have a look at the gallery of interesting Jupyter notebooks.

There are already a lot of useful tools, packages and libraries written in Python to help you improve your research and most of them can be found on PyPI or github. However finding relevant content might be a bit difficult due to to the sheer number of packages on PyPI or repositories on github, therefore I decided to create a list of packages that are related to chemistry (since I'm a chemist) inspired by the awesome list repo. You can find the list in a repository on github and below in this post. Additionally I included some of the more useful scientific packages from the awesome-python list.

I am quite sure that the list below is not complete and there are a lot more useful packages that should be included. If you would like to suggest a package that is not mentioned yet, please write an issue on github or submit a pull request. If both of the above sound difficult you can always write a commend below or drop me an email.

Awesome Python Chemistry

A curated list of awesome Python frameworks, libraries, software and resources related to Chemistry.

Inspired by awesome-python.

General Chemistry

Packages and tools for general chemistry.


Packages for atomistic simulations and computational chemistry.

Molecular Visualization

Packages for viewing molecular structures.

General Scientific Packages

Packages for scientific computing and data analyzing.

Data Visualization

Libraries for visualizing data.