Dependencies
DeWorks relies on a collection of scientific, workflow, and utility libraries to support materials modelling, job execution, data processing, and serialisation. The list below is derived from the full codebase import analysis, environment setup scripts, and provided documentation.
This page outlines the required and optional dependencies needed to run DeWorks successfully.
Python Version
DeWorks requires:
-
Python ≥ 3.10 (declared in
pyproject.toml) -
Python 3.11 recommended (as used in all environment scripts)
Core Python Dependencies
These libraries are imported throughout the codebase and form the essential runtime requirements for DeWorks:
Workflow and Automation
-
jobflow – workflow creation and management
-
jobflow_remote – remote execution and job monitoring
-
atomate2 – DFT workflows and standardised calculation sets
Materials Science Tooling
-
pymatgen – structure objects, composition handling, symmetry, file I/O
-
mp_api – Materials Project data access
-
emmet – schema support for materials data
-
phonopy – phonon calculations (optional, used by phonon processes)
Data and Utility Libraries
-
numpy – numerical operations
-
pandas – tabular data handling and result tables
-
matplotlib – plotting utilities for output visualisation
-
monty – serialisation helpers (
MSONable, JSON utilities) -
glom – nested dictionary extraction and manipulation
-
pydash – functional utilities for deep dict/list handling
-
datetime_truncate – timestamp normalisation
Model and Schema Framework
-
pydantic – all DeWorks models (
mat_info,mat_record,process,PROPERTY, etc.) -
typing_extensions – advanced type hints where required
System and Standard Library (bundled with Python)
Used extensively throughout the codebase:
-
abc,dataclasses,functools,enum,collections -
os,shutil,pathlib,importlib,contextlib -
uuid,re,typing,concurrent.futures(These do not require installation.)
Optional or Indirect Dependencies
-
These libraries appear in specific modules but are not required for all workflows:
-
phonopy – required only for phonon-related processes
-
IPython – optional, used for rich terminal output or debugging in notebooks
Development and Environment Tools
These tools are recommended for developing or extending DeWorks:
-
conda – environment management
-
JupyterLab – interactive notebooks (installed via conda-forge)
-
pip – used for editable installation (
pip install -e .) -
pytest (not found in the codebase, but recommended for testing)
Environment scripts reference:
-
DeWorks_env.shandDeWorks_env.ps1 -
editable installation and core workflow dependencies
-
Python 3.11 environments
Summary of Mandatory Third-Party Libraries
Below is the consolidated list of non-standard dependencies detected from the full code analysis:
-
atomate2 -
jobflow -
jobflow_remote -
mp_api -
pymatgen -
emmet -
phonopy(optional for phonon workflows) -
pydantic -
pandas -
matplotlib -
numpy -
monty -
glom -
pydash -
datetime_truncate -
typing_extensions