SFILES 2.0 is an open-source Python package for converting process flow diagrams (PFDs) and piping and instrumentation diagrams (P&IDs) into an extended text-based representation. This package is developed in conjunction with the paper:
The repository provides tools for:
- Representing flowsheets as graphs
- Converting graphs to SFILES 2.0 strings and back
- Demonstrating the notation rules, structure, and conversion algorithm for SFILES 2.0
If you use SFILES 2.0 in your work, please cite:
@article{vogel2023sfiles,
title={SFILES 2.0: an extended text-based flowsheet representation},
author={Vogel, Gabriel and Hirtreiter, Edwin and Schulze Balhorn, Lukas and Schweidtmann, Artur M},
journal={Optimization and Engineering},
volume={24},
number={4},
pages={2911--2933},
year={2023},
publisher={Springer}
}
Install the package via pip:
pip install SFILES2To explore the source code and examples:
git clone https://github.com/process-intelligence-research/SFILES2.git
cd SFILES2
pip install .Use the following to explore SFILES 2.0 capabilities:
- Run the Jupyter notebook
demonstration.ipynb - Or execute
run_demonstration.pyfor a CLI-based example
These demonstrate SFILES 2.0 strings for a variety of PFDs and P&IDs.
![]() |
Gabriel Vogel | |
| Edwin Hirtreiter | |
|
![]() |
Lukas Schulze Balhorn | |
![]() |
Artur M. Schweidtmann | |
This project is licensed under the MIT License.
📧 Contact


