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

This project is supported by German and European digitalization initiatives in the field of materials science:

Material Digital NFDI Matwerk MaterialsCommons

The pyiron developers closely collaborate with workflow standardization initiatives and the Python scientific computing community to establish Python functions as workflow nodes:

Python Workflow Definition Workflows.community NumFocus

pyiron Versions

After the initial public release of pyiron the pyiron developers continue to extend the functionality of pyiron and prototype new workflow concepts.

Stable pyiron 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.

Repository Description Coverage Documentation Conda Package
pyiron A meta package which seamlessly loads all installed pyiron plugins. Still it is recommended to install pyiron_atomistics directly rather than pyiron. 📚 📦
pyiron_atomistics An interface to atomistic simulation codes including but not limited to GPAW, LAMMPS, S/Phi/nX and VASP. It is compatible to the atomistic simulation environment and extends its functionality. codecov 📚 📦
pyiron_base A package containing the core components e.g. the job management, data storage and resource management. With the @job decorator every Python function can be converted into a pyiron job object. codecov 📚 📦
pyiron_potentialfit Fit machine learning interatomic potentials using pyiron. 📦

Next Generation pyiron 🚀

Based on the experience with the stable pyiron version and the success of the standalone packages, the pyiron framework continues to innovate in the field of workflows for materials science.

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 📚 📦
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
atomistics Interfaces for atomistic simulation codes and workflows codecov 📚 📦
bagofholding Pickle-like storage for python objects with browsing, version control, and partial loading . codecov 📚 📦
conda_subprocess Run a subprocess or python function in a separate conda environment. codecov 📦
executorlib Up-scale python functions for high-performance computing (HPC) 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 📚 📦
pyiron_snippets Short, dependency-free pieces of code that are useful for pyiron (and python in general) Coverage 📚 📦
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 📚 📦
semantikon Provide type hinting and interpreters for scientific context on node inputs and outputs. Coverage 📦
sphinx_parser Parser for the S/PHI/nX DFT simulation code. codecov 📦
structuretoolkit Build, analyse and visualise atomistic structures for materials science. codecov 📦

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_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 414 55

  2. pyiron_atomistics pyiron_atomistics Public

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

    Python 45 18

  3. executorlib executorlib Public

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

    Python 42 3

  4. pylammpsmpi pylammpsmpi Public

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

    Python 33 5

  5. pysqa pysqa Public

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

    Python 31 8

  6. pyiron_base pyiron_base Public

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

    Python 22 14

Repositories

Showing 10 of 63 repositories