Fredrik Pihl, Hongyu Teng, Everly Precia Suresh Kumar, Romy Sophia Richter, Ana Georgieska, Brandon Alexander and Frank Cruz.
Please install the precommit hooks for automatic linting and formatting:
cd client
npm installcd client
npm install
npm run build
npm run startcd server
uv run uvicorn main:app --reloadThere are also two scripts that can be used for deployment. You can deploy the server in the VM, the project is already installed there (inside test/mmrp).
This will install all dependencies and build the client.
./scripts/setup.shThis will run the server. Once the server is deployed, you can run the application on http://<VM_IP>:8000/ as long as you are connected to the VPN. You can also pass command line arguments to the script (for example --workers 2).
./scripts/run.shDraw the needed example configuration on the canvas and export it. When you export, the JSON contains extra frontend data that needs to be removed. To convert to Target JSON for storing in the backend, follow the steps below:
{
"metadata": { "version": "1.0", "timestamp": "" },
"data": { "nodes": [], "edges": [] }
}Target JSON:
{
"name": "My Pipeline",
"nodes": [],
"edges": []
}Convert field names:
moduleClass->module_classinputFormats->input_formatsoutputFormats->output_formatspixelFormat->pixel_formatcolorSpace->color_space
and so on.
Remove properties that are frontend-only, e.g.:
measured,flag,options(outsideconstraints), etc.
Ensure edges expose the following keys and remove other excess keys:
{
"id": "e1-e2",
"source": "n1",
"target": "n2",
"sourceHandle": "output-0-handle",
"targetHandle": "input-0-handle"
}