I’ve been slowly learning atomate and running workflows, and I noticed a potential problem with the latest update of custodian. I installed atomate using mamba in the middle of May and I use a mamba environment to run atomate. The installed versions of relevant packages are as follows:
- atomate 1.0.3
- python 3.9.16
- fireworks 2.0.3
- pymatgen 2022.0.10
When first installed, the custodian version was as follows:
- custodian 2023.5.12
When trying to add a workflow to the launchpad via python or with the atwf command, I get the following error:
Traceback (most recent call last): File "/scratch/09341/jamesgil/atomate_test/band/mgo_bandstructure.py", line 5, in <module> from atomate.vasp.workflows.presets.core import wf_bandstructure File "/home1/09341/jamesgil/mambaforge/envs/atomate_env2/lib/python3.9/site-packages/atomate/vasp/workflows/__init__.py", line 1, in <module> from .presets.core import ( File "/home1/09341/jamesgil/mambaforge/envs/atomate_env2/lib/python3.9/site-packages/atomate/vasp/workflows/presets/core.py", line 14, in <module> from atomate.vasp.powerups import ( File "/home1/09341/jamesgil/mambaforge/envs/atomate_env2/lib/python3.9/site-packages/atomate/vasp/powerups.py", line 21, in <module> from atomate.vasp.firetasks.glue_tasks import CheckBandgap, CheckStability File "/home1/09341/jamesgil/mambaforge/envs/atomate_env2/lib/python3.9/site-packages/atomate/vasp/firetasks/__init__.py", line 30, in <module> from .run_calc import ( File "/home1/09341/jamesgil/mambaforge/envs/atomate_env2/lib/python3.9/site-packages/atomate/vasp/firetasks/run_calc.py", line 11, in <module> from custodian.vasp.handlers import ( ImportError: cannot import name 'MaxForceErrorHandler' from 'custodian.vasp.handlers' (/home1/09341/jamesgil/mambaforge/envs/atomate_env2/lib/python3.9/site-packages/custodian/vasp/handlers.py)
However, when I downgrade to custodian 2023.3.10, everything works completely fine and I’m able to add workflows and run them like normal.
Looking at the traceback and opening the custodian.vasp.handlers.py file, there is, in fact, no MaxForceErrorHandler class, but it is still called upon in atomate/vasp/firetasks/run_calc.py. If this is a version control problem on my end, then if someone has suggestions for package updates then I’d appreciate it. However, seeing as the custodian version is SO new, I figured this may be a development issue.