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
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.