There is something about initial caps that makes a title look all knowledgeable and authoritative. However, some modesty is in place when writing this post about scientific computing with Python, which is more about making a list of essential libraries for use in our research group.

In compiling this list, I hope to create some rest in face of the ever evolving scientific Python ecosystem, so that students will know what to use. Where possible, data analysis scripts in our research should rely solely on libraries from this canon.

The criteria for designing this list. The list should

  • contain a limited number of libraries
  • form a complete toolset for chemists and physicists doing spectroscopy

The criteria for the included libraries. These should

  • be easy to install
  • be well-maintained with an active and viable community
  • be considered de facto standards for their specific use cases
  • play well with the other libraries

The list

  1. numpy
  2. scipy
  3. matplotlib
  4. xarray
  5. h5py
  6. lmfit
  7. pillow
  8. tifffile
  9. tqdm
  10. pyserial
  11. spyder
  12. jupyterlab

True, Spyder and JupyterLab are not Python libraries, but they are our essential tools for interacting with Python, and can be included in the installation of a conda environment.

Other libraries worth considering

The following libraries are more specialized but can be very powerful in the thing they do.

  1. xarray-lmfit
  2. pyMCR
  3. spectrochempy
  4. coolprop
  5. pyfvtool
  6. remi
  7. nicegui
  8. marimo
  9. UltraPlot