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

Stable Version 🏔️

The stable pyiron version is developed based on the generic job object class to handle the execution and storage of atomistic calculations and their post-processing. Two primary packages are available:

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. Coverage Status 📚 📦
pyiron_base A package for the core components e.g. the job management, data storage and resource management. Coverage Status 📚 📦

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
atomistics Interfaces for atomistic simulation codes and workflows Coverage Status 📚 📦
conda_subprocess Run a subprocess or python function in a separate conda environment. Coverage Status 📦
executorlib Scale serial and MPI-parallel python functions over hundreds of compute nodes all from within a jupyter notebook or serial python process. Coverage Status 📚 📦
pyfileindex Pythonic file system index Coverage Status 📦
pyiron_ontology Leveraging ontologies for dynamic typing and guided workflow design Coverage Status 📚 📦
pylammpsmpi Parallel Lammps Python interface - control a mpi4py parallel LAMMPS instance from a serial python process or a Jupyter notebook. Coverage Status 📦
pysqa Simple HPC queuing system adapter for Python on based jinja templates to automate the submission script creation. Coverage Status 📚 📦
structuretoolkit Build, analyse and visualise atomistic structures for materials science. Coverage Status 📦

Extensions 🧭

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_continuum Modules for pyiron supporting continuum scale simulations and workflows. 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 📦

Next Generation Developments 🚀

Based on the experience with the stable pyiron version and the success of the stand-alone packages, 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:

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 📚 📦

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 367 49

  2. pyiron_atomistics pyiron_atomistics Public

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

    Python 44 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 30 4

  4. pysqa pysqa Public

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

    Python 23 7

  5. pyiron_base pyiron_base Public

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

    Python 20 14

  6. pyiron_meltingpoint pyiron_meltingpoint Public

    Forked from lfzhu-phys/Melting

    A fully automated approach to determine the melting temperature of crystalline materials

    Jupyter Notebook 18 10

Repositories

Showing 10 of 53 repositories
  • executorlib Public

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

    pyiron/executorlib’s past year of commit activity
    Python 14 BSD-3-Clause 3 25 1 Updated Nov 19, 2024
  • pyiron_workflow Public

    Graph-and-node based workflows

    pyiron/pyiron_workflow’s past year of commit activity
    Python 12 BSD-3-Clause 1 31 2 Updated Nov 19, 2024
  • stinx Public
    pyiron/stinx’s past year of commit activity
    Python 0 BSD-3-Clause 0 0 0 Updated Nov 19, 2024
  • atomistics Public

    Interfaces for atomistic simulation codes and workflows

    pyiron/atomistics’s past year of commit activity
    Jupyter Notebook 3 BSD-3-Clause 3 17 (1 issue needs help) 9 Updated Nov 19, 2024
  • pyfileindex Public

    PyFileIndex - pythonic file system index

    pyiron/pyfileindex’s past year of commit activity
    Python 7 BSD-3-Clause 0 1 0 Updated Nov 19, 2024
  • structuretoolkit Public

    build, analyse and visualise atomistic structures for materials science

    pyiron/structuretoolkit’s past year of commit activity
    Python 7 BSD-3-Clause 0 11 9 Updated Nov 19, 2024
  • pyiron_dataclasses Public

    Dataclasses for the pyiron workflow framework

    pyiron/pyiron_dataclasses’s past year of commit activity
    Python 0 BSD-3-Clause 0 0 0 Updated Nov 19, 2024
  • pylammpsmpi Public

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

    pyiron/pylammpsmpi’s past year of commit activity
    Python 30 BSD-3-Clause 4 7 4 Updated Nov 19, 2024
  • pysqa Public

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

    pyiron/pysqa’s past year of commit activity
    Python 23 BSD-3-Clause 7 16 7 Updated Nov 19, 2024
  • 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 0 4 1 Updated Nov 19, 2024