From 7e789ec8d5829af20ea4e23e8bbe50ae1943bf61 Mon Sep 17 00:00:00 2001 From: Adithya Krishnan Date: Sun, 5 Jan 2025 22:52:49 -0500 Subject: [PATCH 1/4] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cca69ce..e4de299 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Barfi serves as an abstraction of Graphical Programming, Flow-Based Programming, Many existing visual Flow-Based Programming (FBP) libraries/frameworks operate within their own confined isolated environments, limiting their usability as components in existing applications or scripts. Barfi addresses this by decoupling the graphical programming interface from the computation environment, which eables easy integration into existing apps. The graphical interface is provided through a Streamlit widget: `st_flow` (with a Jupyter Notebook widget currently in development), while the computation environment is managed independently via the `ComputeEngine`. -> Note: The current version >= 1.0.0 introduces many changes from <= 0.7.0. Check the (changelog)[./CHANGELOG.md] for more info on this. Versions will no longer be maintained. +> Note: The current version >= 1.0.0 introduces many changes from <= 0.7.0. Check the [changelog](./CHANGELOG.md) for more info on this. Versions will no longer be maintained. ## Quickstart @@ -38,8 +38,8 @@ Follow this getting started guide on building your first `Blocks`, creating a `F ## Migration from v0 -If you were using the versions <= 0.7.0, a migration guide is being written. For using version >= 1.0.0, conceptually all the concepts remain with a minor API changes. v1.0.0 introduces a stronger type checking mechanism, and decouples and `SchemaManager` and `ComputeEngine` from the UI by providing separate classes to run those functions. You can check the API docs to get familiarized on how to use them. +If you were using the versions <= 0.7.0, a migration guide is being written. For using version >= 1.0.0, conceptually all the concepts remain with a minor API changes. v1.0.0 introduces a stronger type checking mechanism, and decouples and `SchemaManager` and `ComputeEngine` from the UI by providing separate classes to run those functions. You can check the API docs to get familiarized on how to use them. ## Under the hood -The Flow Editor UI is built using [ReactFlow](https://reactflow.dev/). \ No newline at end of file +The Flow Editor UI is built using [ReactFlow](https://reactflow.dev/). From 069ded92c21463ecd7623e290b26c9357456213d Mon Sep 17 00:00:00 2001 From: Adithya Krishnan Date: Sun, 5 Jan 2025 22:53:58 -0500 Subject: [PATCH 2/4] complete TODO --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO b/TODO index f0d7b98..8aa94ea 100644 --- a/TODO +++ b/TODO @@ -64,4 +64,4 @@ - [x] move st_flow from base to st along with response types - [x] test optional dependencies - [x] ruff lint checks and format -- [ ] release 1.0.0 +- [x] release 1.0.0 From 180a42f6506d044e6d8bffe10b349df25fcda0f5 Mon Sep 17 00:00:00 2001 From: Adithya Krishnan Date: Sun, 5 Jan 2025 22:54:06 -0500 Subject: [PATCH 3/4] Delete TODO --- TODO | 67 ------------------------------------------------------------ 1 file changed, 67 deletions(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index 8aa94ea..0000000 --- a/TODO +++ /dev/null @@ -1,67 +0,0 @@ -# TODOs - -## P0 - -- [x] migrate to poetry for better deps management and local dev experience -- [x] test the static files build in src -- [x] migrate frontend client to react -- [x] migrate to using react-flow - - [x] add react-flow to the frontend src - - [x] custom nodes based on what was available from baklava.js, cutom design from the examples given - - [x] investigate the schema that react-flow generates - - [x] react-flow to barfi schema - - [x] test is the schema + compute engine works - - [x] test for naming multiple nodes of same type (add a number generator to increase it incrementally) - - [x] investigate schema sent from python st.client to the ui-client for making the migration possible - - [x] able to construct the graph given a schema -- [x] make export in ui simple and handle migrations in the backend -- [x] change custom node to base block node -- [x] custom actions on react flow -> node store - - [x] delete node on ui -> del node in -- [x] v1 types for editor state to export - - [x] nodes -> ?? - - [x] remove id from interfaces. - - [x] migrate all the data types from both barfi and ui to match each other, as the conversion to and from the barfi state happens in the ui, which maintains the actual model - - [x] connections -> outputNode, outputNodeInterface, inputNode, inputNodeInterface -- [x] add strong type cheing on the python side -- [x] add schema version to the schema saved and sent from ui-flow -- [x] test and check if options work - - [x] if options from schema are loaded - - [x] if options -- [x] add text display option in the block -- [x] fix type conversion for integer and number options -- [x] state data are different across all the places. - - [x] when a component is loaded from schema to editor, option values must be loaded from the store. essentially option values must only be from the store. - - [x] when a block is loaded from barfi-state into editor, it must be transformed to be in type `Node` - - [x] keep node and baseBlock different. but you can refresh the nodes added to the editor from the baseblock. - - [x] migrate BarfitateNode to FlowStateNode. -- [x] check data scemas and types across the app from base-block, node, base-block are different in py and ts - - [x] ideal should be blacks have only "name", nodes have name which is the label and type which is the name from baseblock -- [x] migrate the TextOption to a display option with display as text -- [x] check for redundant data types as name, type, label which would mean different acroos frontend and backend -- [x] check for low haning TODOs across fe and be - -## P1 - -- [x] algorithm changes - - [x] move away from networkx - - [x] multiple root nodes, implying multple flows possible - - [x] find root nodes and create a execute graph - - [x] create a DAG and execute it - - [x] apply for multiple roots -- [x] add compute engine for adding functional compute logic to blocks -- [x] check if there are no duplicates of blocks with same block name, ex: results, result -- [x] inputs and outputs in the flowschema store the value type and not the values themselves -- [x] rename /frontend to ui-barfi and move it to archive to not confuse future devs -- [x] Check all TODOs -- [x] add documentation -- [x] update readme -- [x] update changelog -- [x] update dev notes -- [x] update docs for the images and other pages -- [x] nits -> change base_blocks to just blocks in st_flow, compute and other places -- [x] nits -> change flow.flow.types to flow.types -- [x] move st_flow from base to st along with response types -- [x] test optional dependencies -- [x] ruff lint checks and format -- [x] release 1.0.0 From 395aaf19f93def5a34fe189d340a2df67e49e3fd Mon Sep 17 00:00:00 2001 From: Adithya Krishnan Date: Sun, 5 Jan 2025 22:54:41 -0500 Subject: [PATCH 4/4] update mkd files --- CHANGELOG => CHANGELOG.md | 0 DEVELOPER => DEVELOPER.md | 0 ROADMAP => ROADMAP.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename CHANGELOG => CHANGELOG.md (100%) rename DEVELOPER => DEVELOPER.md (100%) rename ROADMAP => ROADMAP.md (100%) diff --git a/CHANGELOG b/CHANGELOG.md similarity index 100% rename from CHANGELOG rename to CHANGELOG.md diff --git a/DEVELOPER b/DEVELOPER.md similarity index 100% rename from DEVELOPER rename to DEVELOPER.md diff --git a/ROADMAP b/ROADMAP.md similarity index 100% rename from ROADMAP rename to ROADMAP.md