Recently, we have been creating a new version of the website for the BigDFT code. One of the goals for the new website is to present a new workflow for using BigDFT. In the past, the code was used by preparing input files manually and then running the program. However, for a few years now we have been developing the PyBigDFT python bindings for BigDFT . The new workflow will have you write python code that can handle everything from pre-processing, to running calculations, to analyzing the results.
With this in mind, we have been developing some new tutorials for how to use the code. Each of these tutorials is build from a jupyter notebook that we imported into sphinx. I think this is a very fun way to write tutorials, you can almost do a mini study and share it with the world. Every time I add to the tutorials, I realize there are some new features I would like to develop.
One thing I would like to try to demonstrate in these tutorials is the ability of PyBigDFT to work with other code bases. To me, being able to quickly mix a variety of libraries is the exceptional part of python. In my recent tutorial on Geometry Optimization, I do just this. In the first part, we go from a SMILES string to an optimized geometry, by integrating openbabel into a BigDFT workflow. In the second part, a slab is created with the aid of the Atomic Simulation Environment. In another tutorial , I integrate PyBigDFT with a machine learning framework called qmlcode. Developing clear datastructures that enable transformations like this is definitely one of our goals for PyBigDFT.
 Ratcliff, Laura E., William Dawson, Giuseppe Fisicaro, Damien Caliste, Stephan Mohr, Augustin Degomme, Brice Videau et al. "Flexibilities of wavelets as a computational basis set for large-scale electronic structure calculations." The Journal of Chemical Physics 152, no. 19 (2020): 194110.