Skip to content

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.sh and DeWorks_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