* wip: workflow visualization
* feat: update the UI to add execution animation
* feat: clickable nodes with event metadata
* chore: styling 💅
* chore: make the backend agnostic with respect to Cytoscape
* wip: expose internal events
* chore: add test
* feat: handle state change
* feat: expose internal events
* fix: accept also no events as output
* chore: implement suggestions discussed offline
* fix: adjust for 3.9
* chore: implementing pr review feedback
* fix: patch for unhashable dicts
* feat: refactoring and renaming according to PR review feedback
* chore: renaming and state handling
* chore: move StateSnapshot into StepStateChanged; docs: add section in docs and example
* feat: add WorkflowServer to serve workflows as web services
* add serve() method to start uvicorn
* add license headers
* add tests
* add unit tests
* fix linter
* fix for python 3.9
* add event streaming endpoint
* fix linter
* add SSE support
* pass start_event to the run methods
* return 202 if workflow is still running
* store workflow results so the /results endpoint becomes idempotent
* Apply suggestions from code review
Co-authored-by: Adrian Lyjak <adrianlyjak@gmail.com>
* remove scoped imports
* Apply suggestions from code review
Co-authored-by: Adrian Lyjak <adrianlyjak@gmail.com>
* fix unit test
* clean up examples and turn them into notebooks
* add the 'server' extra to the package
* install extras in CI
* refresh lockfile
* add H1 titles to notebooks
---------
Co-authored-by: Adrian Lyjak <adrianlyjak@gmail.com>