Processforge
A lightweight Python framework for process simulation, coupling hydraulic, thermal, and reactor workflows.
Install
Install the pf command-line tool with uv:
uv tool install processforge
For CoolProp-backed units:
uv tool install "processforge[coolprop]"
Optional solver backends:
uv tool install "processforge[eo]"
uv tool install "processforge[eo-casadi]"
uv tool install "processforge[modelica]"
Quick start
-
Install the tool
uv tool install processforge
-
Download an example flowsheet
curl -O https://raw.githubusercontent.com/urjanova/processforge/master/flowsheets/hydraulic-chain.json
-
Initialize, plan, and apply
pf init pf plan hydraulic-chain.json pf apply hydraulic-chain.json
planvalidates the flowsheet (schema, DOF, units) without running the solver;applysolves it and stores a snapshot. -
Look at the output
pf applywrites results underoutputs/:*_results.zarr— simulation results store*_validation.xlsx— validation report*.pfstate/— versioned snapshot store with alatestpointer
For flowsheets with Tank units (dynamic), use
pf runinstead ofpf applyto solve with the SM solver.
Python API
from processforge import EOFlowsheet, validate_flowsheet
config = validate_flowsheet("flowsheets/hydraulic-chain.json")
fs = EOFlowsheet(config, backend="scipy")
results = fs.run()
Usage and Docker
Processforge is also available as Docker images, and can be run in the cloud. See the usage guide for CLI commands, workflows, Docker, and cloud notes.
Flowsheets
The core of Processforge is the flowsheet JSON format, which defines materials, units, and recycle rules. See below for more information on the formats and example flowsheets.
- docs/flowsheets.md : flowsheet JSON format, materials, units, and recycle rules
- flowsheets/ : example flowsheets shipped with the repo
License
BSD 3-Clause License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file processforge-0.2.40.tar.gz.
File metadata
- Download URL: processforge-0.2.40.tar.gz
- Upload date:
- Size: 151.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d525706dd8320244c5b0b92aea78fe4f2054a6ac657191c482676c266ab0173e
|
|
| MD5 |
3d42d6de13917740efb9c06d189e6856
|
|
| BLAKE2b-256 |
ca240401e2d69efc98b8775220e0fdbaeba39d12c58aa5789f0b73e9a671b887
|
File details
Details for the file processforge-0.2.40-py3-none-any.whl.
File metadata
- Download URL: processforge-0.2.40-py3-none-any.whl
- Upload date:
- Size: 175.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c3601d749a9544ca5b2d31ba9bcc4239a8297b4ded35e4394eefcac002df69f
|
|
| MD5 |
6466b4f5fd1edf25ebac3036a6d263bc
|
|
| BLAKE2b-256 |
8fa1dbc0581f990f5b2e42fa8cc6bddfe345097740aed5e15a0a595e5eae427a
|