Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
763f901
custom_macro creation part 1
juliusmittler Oct 18, 2024
6e5b910
custom_macro creation part 2
juliusmittler Oct 18, 2024
85634f4
updated pyironflow to current state
juliusmittler Feb 17, 2025
d5aa4d7
updated pyironflow to current state
juliusmittler Feb 17, 2025
d283838
delete temporary files
juliusmittler Feb 17, 2025
e12ceb6
added jupyter notebook "macro"
juliusmittler Feb 20, 2025
b094fcf
updated gitignore
juliusmittler Feb 20, 2025
b4b51bd
ghostNodes and node sizes
juliusmittler Feb 28, 2025
5e9cb7a
Update before switching Base
juliusmittler Apr 24, 2025
de2949c
update
juliusmittler May 22, 2025
e400134
update
juliusmittler May 22, 2025
00724cd
modified for macros
juliusmittler May 22, 2025
9f160bd
basic macro nodes
juliusmittler May 22, 2025
df9e28c
update
juliusmittler May 22, 2025
9422f24
in/out demo
juliusmittler May 23, 2025
97b4c84
update
juliusmittler Jun 12, 2025
a21c3a7
update
juliusmittler Jun 12, 2025
2ef217e
selection/temp_sub_node_list
juliusmittler Jun 26, 2025
6543e43
autosorting macros
juliusmittler Jun 26, 2025
5af48a0
Update for Transfer
juliusmittler Aug 14, 2025
f7c2cc7
updated to current version
juliusmittler Aug 29, 2025
a7ae4d6
update to current version
juliusmittler Aug 29, 2025
3dc8018
cleanup
juliusmittler Aug 29, 2025
3088481
Revert "cleanup"
juliusmittler Aug 29, 2025
66039b0
Revert "update to current version"
juliusmittler Aug 29, 2025
ba00ae8
Revert "updated to current version"
juliusmittler Aug 29, 2025
5084bed
cleanup
juliusmittler Aug 29, 2025
646afd2
cleanup + MacroInOutNode
juliusmittler Sep 1, 2025
b11c13d
updated to main
juliusmittler Nov 14, 2025
7ee9640
Loops and cleanup
juliusmittler Feb 27, 2026
5fd9ec7
removed notebooks
juliusmittler Feb 27, 2026
3b5e47e
trimming files down
juliusmittler Feb 27, 2026
8380bca
Update .gitignore
juliusmittler Feb 27, 2026
b1b7ca4
cleanup
juliusmittler Feb 27, 2026
8fb36a7
for-loops
juliusmittler Mar 30, 2026
d3c6689
loop update
juliusmittler Apr 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.idea/
.ipynb_checkpoints/
.vscode/
node_modules/
pyironflow/static/
.coverage
.DS_Store
.pre-commit-config.yaml
pyiron.log
*.pyc
*.zip
*Zone.Identifier
pyiron_nodes/
.ipynb
Untitled.ipynb
Binary file not shown.
197 changes: 197 additions & 0 deletions Untitled1.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4925e4b4-b37a-4b3c-aadf-78be8457a1b5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K⠹\u001b[1G\u001b[0K⠸\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K⠴\u001b[1G\u001b[0K⠦\u001b[1G\u001b[0K⠧\u001b[1G\u001b[0K⠇\u001b[1G\u001b[0K⠏\u001b[1G\u001b[0K⠋\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K⠹\u001b[1G\u001b[0K⠸\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K⠴\u001b[1G\u001b[0K⠦\u001b[1G\u001b[0K⠧\u001b[1G\u001b[0K⠇\u001b[1G\u001b[0K⠏\u001b[1G\u001b[0K⠋\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K⠹\u001b[1G\u001b[0K⠸\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K⠴\u001b[1G\u001b[0K⠦\u001b[1G\u001b[0K⠧\u001b[1G\u001b[0K⠇\u001b[1G\u001b[0K⠏\u001b[1G\u001b[0K⠋\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K⠹\u001b[1G\u001b[0K⠸\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K⠴\u001b[1G\u001b[0K⠦\u001b[1G\u001b[0K⠧\u001b[1G\u001b[0K⠇\u001b[1G\u001b[0K⠏\u001b[1G\u001b[0K⠋\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K⠹\u001b[1G\u001b[0K⠸\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K\n",
"up to date, audited 94 packages in 4s\n",
"\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K\n",
"\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K7 packages are looking for funding\n",
"\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K run `npm fund` for details\n",
"\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K\n",
"\u001b[31m\u001b[1m5\u001b[22m\u001b[39m vulnerabilities (4 \u001b[33m\u001b[1mmoderate\u001b[22m\u001b[39m, 1 \u001b[31m\u001b[1mhigh\u001b[22m\u001b[39m)\n",
"\n",
"To address issues that do not require attention, run:\n",
" npm audit fix\n",
"\n",
"To address all issues (including breaking changes), run:\n",
" npm audit fix --force\n",
"\n",
"Run `npm audit` for details.\n",
"\u001b[1G\u001b[0K⠼\u001b[1G\u001b[0K"
]
}
],
"source": [
"!npm install react react-dom @xyflow/react @anywidget/react"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "d07b9901-3395-4a1e-8125-329aa3e4787c",
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"from pathlib import Path\n",
"\n",
"sys.path.insert(0, str(Path(Path.cwd())))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "7fd7a9da-c9ca-41a5-8dbb-7fcc1ef02f0e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K\n",
" \u001b[37mpyironflow/static/\u001b[0m\u001b[1mwidget.js\u001b[0m \u001b[33m1.8mb ⚠️\u001b[0m\n",
" \u001b[37mpyironflow/static/\u001b[0m\u001b[1mwidget.css\u001b[0m \u001b[36m16.6kb\u001b[0m\n",
"\n",
"⚡ \u001b[32mDone in 359ms\u001b[0m\n",
"\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K"
]
}
],
"source": [
"!npx esbuild js/widget.jsx --minify --format=esm --bundle --outdir=pyironflow/static"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "72f313da-7e59-4b1e-99bd-1ba873a0b77c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K\n",
" \u001b[37mpyironflow/nodeeditor_static/\u001b[0m\u001b[1mwidget.js\u001b[0m \u001b[33m1.8mb ⚠️\u001b[0m\n",
" \u001b[37mpyironflow/nodeeditor_static/\u001b[0m\u001b[1mwidget.css\u001b[0m \u001b[36m16.6kb\u001b[0m\n",
"\n",
"⚡ \u001b[32mDone in 357ms\u001b[0m\n",
"\u001b[1G\u001b[0K⠙\u001b[1G\u001b[0K"
]
}
],
"source": [
"!npx esbuild js/widget.jsx --minify --format=esm --bundle --outdir=pyironflow/nodeeditor_static"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "844ac6b5-fcde-45c7-a414-8e8478a42707",
"metadata": {},
"outputs": [],
"source": [
"from pyiron_workflow import Workflow\n",
"#from typing import Optional\n",
"from pyironflow.pyironflow import PyironFlow\n",
"from pyironflow.nodeeditor import NodeEditor\n",
"from pyironflow.wf_extensions import get_nodes\n",
"#import pyiron_nodes\n",
"#from pyironflow.macro import get_node_instance_type\n",
"\n",
"#from pyiron_workflow import Workflow\n",
"#from pyiron_workflow.channels import NotData\n",
"#from pyironflow.themes import get_color\n",
"#from pyironflow.macro import get_node_instance_type\n",
"#from pyironflow.wf_extensions import get_import_path, create_macro\n",
"\n",
"import anywidget\n",
"import pathlib\n",
"import traitlets\n",
"import os\n",
"import json\n",
"import importlib\n",
"import typing\n",
"import ipywidgets as widgets\n",
"from pyiron_workflow.nodes.while_loop import while_node_factory\n",
"from pyiron_workflow.nodes.for_loop import for_node_factory\n",
"from pyiron_workflow.nodes.for_loop import for_node\n",
"import pyiron_workflow as pwf"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "38e4f2e0-880f-437f-a365-2ca1f26d5a6b",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'fib' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[10], line 11\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;129m@as_function_node\u001b[39m()\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21madd_1\u001b[39m(a: Optional[\u001b[38;5;28mfloat\u001b[39m \u001b[38;5;241m|\u001b[39m \u001b[38;5;28mint\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m a\u001b[38;5;241m+\u001b[39m\u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 9\u001b[0m fibonacci_loop \u001b[38;5;241m=\u001b[39m while_node_factory(\n\u001b[1;32m 10\u001b[0m pwf\u001b[38;5;241m.\u001b[39mstd\u001b[38;5;241m.\u001b[39mLessThan,\n\u001b[0;32m---> 11\u001b[0m \u001b[43mfib\u001b[49m\u001b[38;5;241m.\u001b[39mFibonacci,\n\u001b[1;32m 12\u001b[0m [(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnext\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mobj\u001b[39m\u001b[38;5;124m\"\u001b[39m)],\n\u001b[1;32m 13\u001b[0m [(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnext\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mthis\u001b[39m\u001b[38;5;124m\"\u001b[39m),(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnow\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlast\u001b[39m\u001b[38;5;124m\"\u001b[39m)],\n\u001b[1;32m 14\u001b[0m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[1;32m 16\u001b[0m )\n",
"\u001b[0;31mNameError\u001b[0m: name 'fib' is not defined"
]
}
],
"source": [
"from pyiron_workflow import as_function_node, as_macro_node\n",
"import typing\n",
"from typing import Optional\n",
"\n",
"@as_function_node()\n",
"def add_1(a: Optional[float | int] = None):\n",
" return a+1\n",
"\n",
"fibonacci_loop = while_node_factory(\n",
" pwf.std.LessThan,\n",
" fib.Fibonacci,\n",
" [(\"next\", \"obj\")],\n",
" [(\"next\", \"this\"),(\"now\", \"last\")],\n",
" True,\n",
" False,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ae574756-596c-44a6-b335-52eb4b51ec9d",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading