Registry / workflow / atomate

atomate

JSON →
library1.1.0pypypiunverified

atomate provides pre-built, robust workflows for computational materials science, primarily leveraging the VASP code and integrating with the FireWorks workflow management system. It builds upon pymatgen, custodian, and maggma for comprehensive materials data handling and job execution. The current version is 1.1.0, with releases occurring a few times a year to add features and fix bugs.

pip install atomate
INSTALL
IMPORT
SIG · ATOMATE
A
atomate
workflowpythonv1.1.0
Install
42.7s avg
Import
Disk
779MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.1.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
build_error
glibc
py 3.103.910 runs
installs and imports cleanly · install 42.7s · import 0.000s · 736MB
779MB installed
● package 779MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

wf_static
from atomate.vasp.workflows.base import wf_static
from atomate.vasp.workflows.base import wf_static

This quickstart demonstrates how to define a basic VASP static energy workflow using atomate. It requires `pymatgen` for structure definition and outputs a `FireWorks.Workflow` object. To actually execute this workflow, you will need a properly configured FireWorks environment, a running MongoDB instance, and the VASP executable accessible on your system. The `vasp_cmd` and `db_file` parameters are critical for job execution and result storage.

import os from atomate.vasp.workflows.base import wf_static from pymatgen.core import Structure # Define a simple structure for a quick example structure = Structure( lattice=[[3, 0, 0], [0, 3, 0], [0, 0, 3]], species=["Fe", "O"], coords=[[0, 0, 0], [0.5, 0.5, 0.5]] ) # Set VASP command and database file path from environment variables if available # These are crucial for running actual simulations. vasp_cmd = os.environ.get('VASP_CMD', 'vasp_std') # Default to 'vasp_std' if not set db_file = os.environ.get('ATOMATE_DB_FILE', None) # If None, atomate looks for default FireWorks config # Create a static energy workflow for this structure # Note: This code *defines* the workflow; running it requires FireWorks setup, # a VASP executable, and a MongoDB database. workflow = wf_static( structure=structure, vasp_cmd=vasp_cmd, db_file=db_file ) print(f"Successfully created atomate workflow: {workflow.name}") print(f"This workflow contains {len(workflow.fws)} FireWorks.") print("To run, ensure FireWorks is configured (FW_CONFIG_FILE), MongoDB is running, and VASP is accessible.") # Example of how you would submit (requires FireWorks LaunchPad setup): # from fireworks import LaunchPad # lpad = LaunchPad.auto_load() # lpad.add_wf(workflow) # print("Workflow added to LaunchPad. Use 'lpad_launch --nlaunches 1' to start.")
Debug
Known issues
breakingMajor architectural changes occurred in atomate prior to version 1.0 (e.g., introduction of 'atomate2' as a separate project with jobflow). If migrating from very old versions (<0.9.x), expect significant API differences.
fix
Consult the atomate 1.x documentation and relevant FireWorks documentation for updated API calls. Consider a fresh installation if upgrading from highly outdated versions.
affects: <1.0.0
gotchaatomate relies heavily on FireWorks for workflow management. You must have a working FireWorks installation with a configured `FW_CONFIG_FILE` pointing to a MongoDB instance to run workflows.
fix
Follow the FireWorks installation guide (fireworks.readthedocs.io) to set up your `FW_CONFIG_FILE` and ensure MongoDB is running and accessible. Common environment variables are `FW_CONFIG_FILE` and `VASP_CMD`.
affects: All versions
gotchaVASP executable must be available on your system where FireWorks jobs are launched. The `vasp_cmd` parameter in workflows and firetasks specifies how to call VASP.
fix
Ensure VASP is installed, compiled, and its executable is in your system's PATH or explicitly provided to `vasp_cmd` (e.g., `vasp_cmd='/path/to/vasp_std'`).
affects: All versions using VASP workflows
gotchaThe `pip install atomate` command installs a minimal set of dependencies. For full functionality or specific integrations, you may need to install additional packages (e.g., `pymatgen[full]`, `atomate-vasp` if using split versions, or other specific database connectors).
fix
Review the `atomate` documentation or `setup.py` on GitHub for required optional dependencies based on your specific use case. Consider `pip install "pymatgen[full]"` as a common addition.
affects: All versions
Upgrade
Version history
1.1.0latest on PyPI · released Aug 25, 2023
Audit
Dependencies
pymatgenrequiredCore materials analysis library for structures, calculations, etc.
fireworksrequiredWorkflow management system for submitting and managing jobs.
custodianrequiredRobust job management for error handling and self-correction in calculations.
maggmarequiredData store abstraction for handling calculation results.
Agent activity
36 hits · last 30 days
node
33
OpenAI (training)
1
Resources
atomate — pip install atomate · libregistry