Change log#


  • Updates to plotting (cleaner plots and titles to include scientific notation)

  • Updated documentation and tutorial workflows (according to JOSS review suggestions ).

  • Add GH Actions linting workflow

  • Update installation and setup instructions (remove redundant issues).


  • Initial version of differential absorption spectra (DAS) functionality from @LucasGVerga.

  • Updates to GitHub Actions tests (now tests macos, ubuntu and windows).


  • Addition of MAPI example outputs download instructions to DFT example by @youngwonwoo.

  • Update to from_dict() method for Tas objects by @kavanase & @LucasGVerga


  • Change of np.arange to np.linspace to avoid e_grid arrays with sizes different from NEDOS. (see the warning on numpy.arange documentation)


  • Remove broken links from docs


  • Add bg option to TASGenerator.from_vasp_outputs() to allow scissor shifting of the bandgap to match experiment.

  • Implement vectorised band filtering functions, massive speedup in processing times.

  • Implement memory sharing for large arrays within multiprocessing.


  • Minor documentation and website updates.


  • Reduce the sum over band transitions to the energy mesh (min(-6, -energy_max), max(6, energy_max)) to make parsing of VASP optics more efficient.

  • Switch to semantic versioning.


  • Remake PyTASER MP example workflow

  • Update PyPI releasing workflow

  • Update minor MPRester API issue


  • Add multiprocessing functionality to dramatically speed up parsing of large kpoint sets / large numbers of electronic bands, and add example notebook and HPC script for this.


  • Add functionality to parse orbital derivatives from VASP optics calculations, to incorporate oscillator strengths in the prediction of TAS spectra.

  • Add functionality to save and load Tas objects to json file, to save time on re-analysing later on.

  • Update plotting to avoid overlapping lines, ensure colour-consistency when the number of transitions changes, remove redundant transitions from the legend, pass kwargs to plt.legend() etc.

  • Add the from_vasp_outputs() class method for TASGenerator() to directly generate from VASP outputs (streamlines this process).

  • Add yaxis = “jdos_diff”, “tas_absorption_only” and “alpha” plotting options.

  • Add tests and examples for all the above changes.

  • temp and conc are passed through from the initial user specification, to avoid confusion if changing later in plotting functions and expecting TAS to be re-calculated.

  • General clean-up, avoidance of unnecessary warnings, addition of error catches, docstrings expansion…