Skip to content
@pyiron

pyiron

Complex Workflows made easy

pyiron - Complex Workflows made easy

From rapid prototyping to high performance computing in material science

Website 🌐 Documentation 📚 Workshops 🧑‍🏫 Questions 💬
pyiron.org pyiron.readthedocs.io workshop.pyiron.org pyiron/FAQs

Different pyiron Versions

After the initial public release of pyiron a number of pyiron versions have been released. They cover the same scientific applications and primarily differ in the user interface and storage interface.

Stable / Classical pyiron Version 🏔️

The stable / classical pyiron version is developed based on the generic job object class to handle the execution and storage of atomistic calculations and their post-processing. It consists of the workflow manager pyiron_base and the pyiron_atomistics package which provides interfaces for a number of atomistic simulation codes and utilities.

Repository Description Coverage Documentation Conda Package
pyiron_atomistics An interface to atomistic simulation codes including but not limited to GPAW, LAMMPS, S/Phi/nX and VASP. codecov 📚 📦
pyiron_base A package for the core components e.g. the job management, data storage and resource management. codecov 📚 📦

Minimal pyiron Version ⚡

As part of the Exascale Atomistic Capability for Accuracy, Length, and Time (EXAALT) project, a pyiron version following the functional programming paradigm was developed to up-scale atomistic workflows to the Exascale. This minimal version is focused on performance and closly follows the user interface of the Python standard library. While initially developed specifically for Exascale computers it has been extended to support high performance computers (HPC) of any size. Furthermore, it fully separates the workflow component executorlib and the scientific component atomistics, meaning both can be either used as standalone packages or together. In contrast to the stable / classical pyiron version the minimal pyiron version does not provide any storage backend or database. The users are responsible to store their data.

Repository Description Coverage Documentation Conda Package
atomistics Interfaces for atomistic simulation codes and workflows codecov 📚 📦
executorlib Up-scale python functions for high performance computing (HPC) codecov 📚 📦

Next Generation pyiron 🚀

Based on the experience with the stable / classical pyiron version and the success of the minimal pyiron version, the pyiron framework continues to innovate in the field of workflows for materials science. At the current stage pyiron_workflow is planned to be the future replacement of pyiron_base towards a more functional approach to workflows, including a visual programming interface and hash based data storage.

Repository Description Coverage Documentation Conda Package
ironflow Prototype of a graphical user interface for pyiron (not under active development) Coverage Status 📦
pyiron_workflow Graph-and-node based workflows Coverage Status 📚 📦
pyironFlow React xyflow based visual programming interface for pyiron_workflow 📦

Beyond pyiron

In addition to the diffierent pyiron versions, the pyiron Github organisation hosts a number of tools and utilities which have been developed as part of the pyiron project.

Stand-alone Packages 🚚

To increase the maintainability of the pyiron project, there is a continuous release of spin-off packages which are used inside pyiron, but which can also be used as stand-alone packages:

Repository Description Coverage Documentation Conda Package
conda_subprocess Run a subprocess or python function in a separate conda environment. codecov 📦
pyfileindex Pythonic file system index codecov 📦
pyiron_lammps Parser for LAMMPS input and output files. codecov 📦
pyiron_ontology Leveraging ontologies for dynamic typing and guided workflow design Coverage Status 📚 📦
pyiron_vasp Parser for the Vienna Ab initio Simulation Package (VASP). codecov 📦
pylammpsmpi Parallel Lammps Python interface - control a mpi4py parallel LAMMPS instance from a serial python process or a Jupyter notebook. codecov 📦
pysqa Simple HPC queuing system adapter for Python on based jinja templates to automate the submission script creation. codecov 📚 📦
structuretoolkit Build, analyse and visualise atomistic structures for materials science. codecov 📦

Extensions for classical pyiron 🧭

Beyond the application to atomistic simulation as part of the pyiron_atomistics package, the workflow manager pyiron_base is not limited to atomistic simulation. So the team of pyiron developers in collaboration with MaterialDigital and NFDI Matwerk developed a series of pyiron extensions for different application in materials science.

Repository Description Coverage Documentation Conda Package
pyiron A meta package which seamlessly loads all the pyiron plugins installed on a given system. Coverage Status 📦
pyiron_contrib A package to collect contributions from the community and/or bleeding edge developments. Coverage Status 📚 📦
pyiron_dpd Automated Defect Phase Diagrams and Workflow Prototypes. Coverage Status
pyiron_electrochemistry Workflows and analysis tools for computational electrochemistry using pyiron. Coverage Status
pyiron_experimental Post processing workflows for experimental applications. Coverage Status 📦
pyiron_gpl A package for all interfaces which require a GPL license (default for pyiron is BSD). Coverage Status 📦
pyiron_gui Extended graphical user interface (GUI) for the stable pyiron version Coverage Status 📦
pyiron_potentialfit Fit machine learning interatomic potentials using pyiron. Coverage Status 📦

Infrastructure 🤖

In addition to the pyiron software packages in this organisation, there are a couple of repositories to automate the maintainence of the pyiron project:

Repository Description
actions A centralized location for our GitHub actions
docker-stacks Ready-to-run Docker images containing pyiron applications
pyiron-installer pyiron installer based on conda constructor
pyiron_module_template A template to generate a new pyiron module.
pyiron-publication-template Template repository - how to publish your pyiron workflow
pyiron-resources Resource folder for pyiron - an integrated development environment (IDE) for computational materials science.

Publication 📚

Example publication demonstrating how pyiron accelerates research and covers the whole simulation life cycle up to the publication of the results:

Repository Title Authors Journal
pyiron_meltingpoint A fully automated approach to calculate the melting temperature of elemental crystals Li-Fang Zhu, Jan Janssen, Shoji Ishibashi, Fritz Körmann, Blazej Grabowski and Joerg Neugebauer Computational Materials Science 187, 110065
pyiron_generalized_dipole Generalized dipole correction for charged surfaces in the repeated-slab approach Christoph Freysoldt, Arpit Mishra, Michael Ashton and Joerg Neugebauer Physical Review B 102, 045403
pyiron_md_montecarlo Interplay of Chemistry and Faceting at Grain Boundaries in a Model Al Alloy Huan Zhao, Liam Huber, Wenjun Lu, Nicolas J. Peter, Dayong An, Frédéric De Geuser, Gerhard Dehm, Dirk Ponge, Joerg Neugebauer, Baptiste Gault and Dierk Raabe Physical Review Letters 124, 106102

Pinned Loading

  1. pyiron pyiron Public

    pyiron - an integrated development environment (IDE) for computational materials science.

    Jupyter Notebook 386 49

  2. pyiron_atomistics pyiron_atomistics Public

    pyiron_atomistics - an integrated development environment (IDE) for atomistic simulation in computational materials science.

    Python 45 15

  3. pylammpsmpi pylammpsmpi Public

    Parallel Lammps Python interface - control a mpi4py parallel LAMMPS instance from a serial python process or a Jupyter notebook

    Python 31 5

  4. pysqa pysqa Public

    Simple HPC queuing system adapter for Python on based jinja templates to automate the submission script creation.

    Python 26 8

  5. pyiron_base pyiron_base Public

    Core components of the pyiron integrated development environment (IDE) for computational materials science

    Python 21 14

  6. ironflow ironflow Public

    Prototype of a graphical user interface for pyiron (unstable)

    Python 19 3

Repositories

Showing 10 of 58 repositories
  • atomistics Public

    Interfaces for atomistic simulation codes and workflows

    pyiron/atomistics’s past year of commit activity
    Jupyter Notebook 4 BSD-3-Clause 3 17 (1 issue needs help) 11 Updated Mar 1, 2025
  • pyironFlow Public

    react xyflow for pyiron

    pyiron/pyironFlow’s past year of commit activity
    Jupyter Notebook 2 BSD-3-Clause 1 12 2 Updated Mar 1, 2025
  • conda_subprocess Public

    Run a subprocess or python function in a separate conda environment.

    pyiron/conda_subprocess’s past year of commit activity
    Python 4 BSD-3-Clause 1 4 3 Updated Mar 1, 2025
  • pyiron_atomistics Public

    pyiron_atomistics - an integrated development environment (IDE) for atomistic simulation in computational materials science.

    pyiron/pyiron_atomistics’s past year of commit activity
    Python 45 BSD-3-Clause 15 138 (9 issues need help) 20 Updated Mar 1, 2025
  • pyiron_vasp Public

    Parser for the Vienna Ab initio Simulation Package (VASP)

    pyiron/pyiron_vasp’s past year of commit activity
    Python 0 BSD-3-Clause 0 4 1 Updated Mar 1, 2025
  • .github Public

    GitHub templates

    pyiron/.github’s past year of commit activity
    1 1 0 0 Updated Mar 1, 2025
  • structuretoolkit Public

    build, analyse and visualise atomistic structures for materials science

    pyiron/structuretoolkit’s past year of commit activity
    Python 7 BSD-3-Clause 1 11 8 Updated Mar 1, 2025
  • semantikon Public
    pyiron/semantikon’s past year of commit activity
    Python 0 BSD-3-Clause 0 1 0 Updated Feb 28, 2025
  • executorlib Public

    Up-scale python functions for high performance computing (HPC)

    pyiron/executorlib’s past year of commit activity
    Python 17 BSD-3-Clause 3 15 3 Updated Feb 28, 2025
  • docker-stacks Public

    Ready-to-run Docker images containing pyiron applications

    pyiron/docker-stacks’s past year of commit activity
    Dockerfile 3 BSD-3-Clause 1 8 12 Updated Feb 28, 2025