Skip to content

v0.7.0: The multi 🧵 release

Compare
Choose a tag to compare
@Andrew-S-Rosen Andrew-S-Rosen released this 12 Mar 19:46
· 831 commits to main since this release

Summary

After countless PRs to upstream codes and some messing around with the innards of quacc, you can now run multiple @jobs in a single Python process. This was historically not possible because quacc had to make os.chdir calls to the calculation working directory, which breaks thread safety. These calls to os.chdir have now been successfully removed with proper directory handling in ASE and Custodian, and the removal of all relative paths in quacc.

Of course, there are several other additions and bugfixes, as outlined below.

Changelog

Added

  • Added a non_scf_job for VASP

Changed

  • There are no more os.chdir calls to ensure thread safety
  • Use pymatgen.io.ase.MSONAtoms to make MSONable Atoms
  • Changed default NEDOS value from 5001 to 3001 for VASP static jobs (10x the default)

Fixed

  • Fixed multithreaded @task distribution with VASP and Q-Chem
  • Fixed a bug where, with Prefect, the State would raise an indexing error when passing around deferred dict entries
  • Fixed a bug when job_parameters and job_decorators are both passed to customize_funcs()
  • Raise a ValueError when the user provides SCRATCH_DIR or RESULTS_DIR as a relative path

PRs

New Contributors

Full Changelog: v0.6.10...v0.7.0