Skip to content

Next steps #68

Open
Open
@JNmpi

Description

@JNmpi

At our workflow hackathons at the ADIS meeting, we had some interesting discussions including a wish list from the user perspective. I am also thinking a lot about features that we need in the pyiron_workflow module to realize a syntax and functionality that is close to that of pyiron_base and pyiron_atomistic, but that contains all the nice architectural features that we get with the node-based approach. Below is a likely rather incomplete list of features, modules, etc. that in my opinion are crucial. It would be helpful if we could extend and prioritize this list. Also, it would be helpful if volunteers adopt the specifications and developments of these features.

  • Use ironflow's graphical user interface and connect it to the workflow model. @samwaseda mentioned that he would be interested in looking into this development. (cf. https://github.com/pyiron/pyiron-xyflow)
  • Provide functionality present in ironflow: e.g. batch (ideally in connection with executors) and show to access and process node data
  • Provide functionality for *saving and loading workflows: wf.save('my_workflow') and wf.save('my_workflow')
  • Provide functions to (optionally) store node input and output data in hdf5. Provide filters to define which data objects should be stored or not stored together with logging levels.
  • Same as above for storing/loading node and data objects into/from databases
  • Add ontologic typing
  • Provide easy access to executors and efficient and automatic distribution of the node-generated tasks
  • Provide drawing tools to show the provenance of an executed workflow, i.e., similar to the graphs produced by AIIDA

As overarching guiding principles of the required functionality we should test and benchmark against pyiron_base/atomistics and ironflow. The new pyiron_workflow class should provide an easy approach to realize the same functionality. As an example see the https://github.com/pyiron/pyiron_workflow/tree/JNmpi_lammps_nodes branch where I tried to construct lammps-based workflows that closely mimic our pyiron syntax (see e.g. the jupyter notebook in this branch: pyiron_like_workflows.ipynb).

### Tasks

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions