flowyml-notebook 2.0.2__tar.gz → 2.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. flowyml_notebook-2.0.3/.github/recovery/last_release_version.txt +1 -0
  2. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/PKG-INFO +1 -1
  3. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/api.md +2 -2
  4. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/__init__.py +1 -1
  5. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/cli.py +2 -2
  6. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/dev_server.py +6 -2
  7. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/Sidebar.jsx +1 -2
  8. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/vite.config.js +2 -2
  9. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/server.py +1 -1
  10. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/pyproject.toml +2 -1
  11. flowyml_notebook-2.0.2/.github/recovery/last_release_version.txt +0 -1
  12. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.github/workflows/MANUAL_DOCS_PUBLISH.yml +0 -0
  13. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.github/workflows/MANUAL_PYPI_PUBLISH.yml +0 -0
  14. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.github/workflows/PRECOMMITS.yml +0 -0
  15. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.github/workflows/PR_PREVIEW.yml +0 -0
  16. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.github/workflows/RELEASE.yml +0 -0
  17. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.github/workflows/UTESTS.yml +0 -0
  18. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.gitignore +0 -0
  19. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/.pre-commit-config.yaml +0 -0
  20. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/CHANGELOG.md +0 -0
  21. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/CODE_OF_CONDUCT.md +0 -0
  22. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/CONTRIBUTING.md +0 -0
  23. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/FlowyML E2E Demo.py +0 -0
  24. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/FlowyML E2E Demo_report.html +0 -0
  25. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/LICENSE +0 -0
  26. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/Makefile +0 -0
  27. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/README.md +0 -0
  28. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/SECURITY.md +0 -0
  29. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/assets/linkedin_announcement.png +0 -0
  30. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/assets/linkedin_post.md +0 -0
  31. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/assets/logo.png +0 -0
  32. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/assets/screenshot_dag.png +0 -0
  33. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/assets/screenshot_editor.png +0 -0
  34. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/assets/screenshot_landing.png +0 -0
  35. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/architecture.md +0 -0
  36. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/assets/hero.png +0 -0
  37. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/assets/logo.png +0 -0
  38. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/collaboration.md +0 -0
  39. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/ecosystem.md +0 -0
  40. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/exploration.md +0 -0
  41. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/features.md +0 -0
  42. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/getting-started.md +0 -0
  43. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/index.md +0 -0
  44. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/integration.md +0 -0
  45. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/killer-features.md +0 -0
  46. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/macros.py +0 -0
  47. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/recipes.md +0 -0
  48. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/apps.png +0 -0
  49. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/assets.png +0 -0
  50. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/comments.png +0 -0
  51. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/dag.png +0 -0
  52. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/deploy.png +0 -0
  53. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/flowy-connection.png +0 -0
  54. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/github.png +0 -0
  55. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/notebook.png +0 -0
  56. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/pandas-display.png +0 -0
  57. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/pandas-display2.png +0 -0
  58. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/pangas-display3.png +0 -0
  59. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/pipelines.png +0 -0
  60. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/recipies.png +0 -0
  61. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/recommendations.png +0 -0
  62. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/reports.png +0 -0
  63. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/screenshots/snapshots.png +0 -0
  64. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/docs/stylesheets/extra.css +0 -0
  65. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/ai/__init__.py +0 -0
  66. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/ai/assistant.py +0 -0
  67. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/benchmark.py +0 -0
  68. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/cell_deps.py +0 -0
  69. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/cells.py +0 -0
  70. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/code_analyzer.py +0 -0
  71. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/config.py +0 -0
  72. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/connection.py +0 -0
  73. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/core.py +0 -0
  74. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/data_validator.py +0 -0
  75. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/deployer.py +0 -0
  76. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/diff.py +0 -0
  77. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/environment.py +0 -0
  78. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/execution_history.py +0 -0
  79. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/dist/assets/index-D3Jeuh-c.js +0 -0
  80. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/dist/assets/index-IxemCmoR.css +0 -0
  81. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/dist/index.html +0 -0
  82. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/index.html +0 -0
  83. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/package-lock.json +0 -0
  84. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/package.json +0 -0
  85. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/postcss.config.js +0 -0
  86. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/App.jsx +0 -0
  87. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/AIPanel.jsx +0 -0
  88. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/AnalysisPatternsPanel.jsx +0 -0
  89. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/AppPublisher.jsx +0 -0
  90. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/CellEditor.jsx +0 -0
  91. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/CellList.jsx +0 -0
  92. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/CellOutput.jsx +0 -0
  93. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/CellRecipes.jsx +0 -0
  94. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/ChartRenderer.jsx +0 -0
  95. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/CommandPalette.jsx +0 -0
  96. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/CommentsPanel.jsx +0 -0
  97. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/ConnectionConfig.jsx +0 -0
  98. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/DataFrameExplorer.jsx +0 -0
  99. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/FileUploader.jsx +0 -0
  100. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/FilesExplorer.jsx +0 -0
  101. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/FlowyMLPanel.jsx +0 -0
  102. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/InputWidgets.jsx +0 -0
  103. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/MarkdownRenderer.jsx +0 -0
  104. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/NotebookHeader.jsx +0 -0
  105. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/NotebookManager.jsx +0 -0
  106. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/OpenFileDialog.jsx +0 -0
  107. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/PipelineDAG.jsx +0 -0
  108. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/PipelineDAGViewer.jsx +0 -0
  109. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/PipelineWizard.jsx +0 -0
  110. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/ReportGenerator.jsx +0 -0
  111. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/SaveAsDialog.jsx +0 -0
  112. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/StatusBar.jsx +0 -0
  113. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/ToolsPanel.jsx +0 -0
  114. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/components/VersionHistory.jsx +0 -0
  115. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/data/flowymlSnippets.js +0 -0
  116. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/hooks/useFlowyMLAvailability.js +0 -0
  117. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/hooks/useNotebook.js +0 -0
  118. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/index.css +0 -0
  119. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/src/main.jsx +0 -0
  120. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/frontend/tailwind.config.js +0 -0
  121. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/github_sync.py +0 -0
  122. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/integrations/__init__.py +0 -0
  123. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/integrations/builtin_recipes.py +0 -0
  124. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/integrations/ecosystem.py +0 -0
  125. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/integrations/kdp_adapter.py +0 -0
  126. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/integrations/kerasfactory_adapter.py +0 -0
  127. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/integrations/mlpotion_adapter.py +0 -0
  128. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/ipynb_converter.py +0 -0
  129. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/kernel.py +0 -0
  130. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/lineage.py +0 -0
  131. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/magics.py +0 -0
  132. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/notebook_manager.py +0 -0
  133. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/package_installer.py +0 -0
  134. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/profiler.py +0 -0
  135. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/py.typed +0 -0
  136. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/reactive.py +0 -0
  137. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/recipes_store.py +0 -0
  138. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/reporting.py +0 -0
  139. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/scheduler_bridge.py +0 -0
  140. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/search.py +0 -0
  141. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/snippets.py +0 -0
  142. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/sql/__init__.py +0 -0
  143. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/sql/engine.py +0 -0
  144. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/ui/__init__.py +0 -0
  145. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/ui/app_mode.py +0 -0
  146. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/flowyml_notebook/ui/ml_widgets.py +0 -0
  147. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/fmln/__init__.py +0 -0
  148. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/mkdocs.yml +0 -0
  149. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/poetry.lock +0 -0
  150. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/__init__.py +0 -0
  151. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/run_tests.py +0 -0
  152. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_cells.py +0 -0
  153. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_core.py +0 -0
  154. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_github_sync.py +0 -0
  155. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_integrations.py +0 -0
  156. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_ipynb_converter.py +0 -0
  157. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_killer_features.py +0 -0
  158. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_new_killer_features.py +0 -0
  159. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_reactive.py +0 -0
  160. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_reactive_edge_cases.py +0 -0
  161. {flowyml_notebook-2.0.2 → flowyml_notebook-2.0.3}/tests/test_server_features.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowyml-notebook
3
- Version: 2.0.2
3
+ Version: 2.0.3
4
4
  Summary: Production-grade reactive notebook — the Jupyter replacement for ML pipelines. Works standalone or with FlowyML.
5
5
  Project-URL: Homepage, https://github.com/UnicoLab/flowyml-notebook
6
6
  Project-URL: Repository, https://github.com/UnicoLab/flowyml-notebook
@@ -21,7 +21,7 @@ fml-notebook dev [OPTIONS]
21
21
  | `--server` | — | FlowyML server URL |
22
22
  | `--file` | — | Load notebook from `.py` file |
23
23
  | `--frontend-port` | `3000` | Vite dev server port |
24
- | `--backend-port` | `8888` | API server port |
24
+ | `--backend-port` | `8899` | API server port |
25
25
  | `--no-browser` | `false` | Don't auto-open browser |
26
26
 
27
27
  ### `fml-notebook start`
@@ -36,7 +36,7 @@ fml-notebook start [OPTIONS]
36
36
  |---|---|---|
37
37
  | `--name` | `untitled` | Notebook name |
38
38
  | `--server` | — | FlowyML server URL |
39
- | `--port` | `8888` | Server port |
39
+ | `--port` | `8899` | Server port |
40
40
  | `--file` | — | Load notebook from `.py` file |
41
41
  | `--no-browser` | `false` | Don't auto-open browser |
42
42
 
@@ -28,7 +28,7 @@ Killer features:
28
28
  - Package Installer: in-notebook pip management
29
29
  """
30
30
 
31
- __version__ = "2.0.2"
31
+ __version__ = "2.0.3"
32
32
  __author__ = "UnicoLab"
33
33
 
34
34
 
@@ -31,14 +31,14 @@ def main(argv: list[str] | None = None) -> int:
31
31
  dev_parser.add_argument("--server", help="FlowyML server URL")
32
32
  dev_parser.add_argument("--file", help="Load notebook from .py file")
33
33
  dev_parser.add_argument("--frontend-port", type=int, default=3000, help="Vite dev server port")
34
- dev_parser.add_argument("--backend-port", type=int, default=8888, help="API server port")
34
+ dev_parser.add_argument("--backend-port", type=int, default=8899, help="API server port")
35
35
  dev_parser.add_argument("--no-browser", action="store_true", help="Don't auto-open browser")
36
36
 
37
37
  # --- start ---
38
38
  start_parser = subparsers.add_parser("start", help="Launch notebook (production build)")
39
39
  start_parser.add_argument("--name", default="untitled", help="Notebook name")
40
40
  start_parser.add_argument("--server", help="FlowyML server URL")
41
- start_parser.add_argument("--port", type=int, default=8888, help="Server port")
41
+ start_parser.add_argument("--port", type=int, default=8899, help="Server port")
42
42
  start_parser.add_argument("--no-browser", action="store_true", help="Don't open browser")
43
43
  start_parser.add_argument("--file", help="Load notebook from .py file")
44
44
 
@@ -173,7 +173,7 @@ class DevServer:
173
173
  server: str | None = None,
174
174
  file_path: str | None = None,
175
175
  frontend_port: int = 3000,
176
- backend_port: int = 8888,
176
+ backend_port: int = 8899,
177
177
  no_browser: bool = False,
178
178
  ):
179
179
  self.notebook_name = notebook_name
@@ -378,7 +378,7 @@ class ProdServer:
378
378
  notebook_name: str = "untitled",
379
379
  server: str | None = None,
380
380
  file_path: str | None = None,
381
- port: int = 8888,
381
+ port: int = 8899,
382
382
  no_browser: bool = False,
383
383
  ):
384
384
  self.notebook_name = notebook_name
@@ -447,6 +447,10 @@ class ProdServer:
447
447
  dist_dir = FRONTEND_DIR / "dist"
448
448
  src_dir = FRONTEND_DIR / "src"
449
449
 
450
+ # If dist already exists (e.g. PyPI install), no build needed
451
+ if dist_dir.exists() and not src_dir.exists():
452
+ return True
453
+
450
454
  if not src_dir.exists():
451
455
  return False
452
456
 
@@ -11,6 +11,7 @@ import FilesExplorer from './FilesExplorer';
11
11
  import VersionHistory from './VersionHistory';
12
12
  import ConnectionConfig from './ConnectionConfig';
13
13
  import CellRecipes from './CellRecipes';
14
+ import { useFlowyMLAvailability } from '../hooks/useFlowyMLAvailability';
14
15
 
15
16
  const _ALL_TABS = [
16
17
  { id: 'notebooks', label: 'Notebooks', shortLabel: 'Notes', icon: FileText, group: 'core' },
@@ -25,8 +26,6 @@ const _ALL_TABS = [
25
26
  { id: 'env', label: 'Environment', shortLabel: 'Env', icon: Terminal, group: 'system' },
26
27
  ];
27
28
 
28
- import { useFlowyMLAvailability } from '../hooks/useFlowyMLAvailability';
29
-
30
29
  export default function Sidebar({ variables, graph, cells, metadata, connected, onInsertRecipe, onOpenNotebook, onScrollToCell, onFileOpen, onNotebookFileOpen, saveStatus }) {
31
30
  const { flowymlAvailable } = useFlowyMLAvailability();
32
31
  const TABS = useMemo(() => _ALL_TABS.filter(t => !t.requiresFlowyML || flowymlAvailable), [flowymlAvailable]);
@@ -6,9 +6,9 @@ export default defineConfig({
6
6
  server: {
7
7
  port: 3000,
8
8
  proxy: {
9
- '/api': 'http://localhost:8888',
9
+ '/api': 'http://localhost:8899',
10
10
  '/ws': {
11
- target: 'ws://localhost:8888',
11
+ target: 'ws://localhost:8899',
12
12
  ws: true,
13
13
  },
14
14
  },
@@ -99,7 +99,7 @@ class WidgetUpdate(BaseModel):
99
99
  class NotebookServer:
100
100
  """Main server for the FlowyML Notebook GUI."""
101
101
 
102
- def __init__(self, notebook: Notebook | None = None, port: int = 8888):
102
+ def __init__(self, notebook: Notebook | None = None, port: int = 8899):
103
103
  self.notebook = notebook or Notebook()
104
104
  self.kernel = NotebookKernel(self.notebook)
105
105
  self.port = port
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flowyml-notebook"
3
- version = "2.0.2"
3
+ version = "2.0.3"
4
4
  description = "Production-grade reactive notebook — the Jupyter replacement for ML pipelines. Works standalone or with FlowyML."
5
5
  readme = "README.md"
6
6
  license = {text = "Apache-2.0"}
@@ -88,6 +88,7 @@ build-backend = "hatchling.build"
88
88
 
89
89
  [tool.hatch.build.targets.wheel]
90
90
  packages = ["flowyml_notebook", "fmln"]
91
+ exclude = ["flowyml_notebook/frontend/dist", "flowyml_notebook/frontend/node_modules", "flowyml_notebook/frontend/src"]
91
92
 
92
93
  [tool.hatch.build.targets.wheel.force-include]
93
94
  "flowyml_notebook/frontend/dist" = "flowyml_notebook/frontend/dist"