lizystudio 0.1.0__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 (323) hide show
  1. lizystudio-0.1.0/.github/dependabot.yml +25 -0
  2. lizystudio-0.1.0/.github/workflows/ci.yml +39 -0
  3. lizystudio-0.1.0/.github/workflows/publish.yml +34 -0
  4. lizystudio-0.1.0/.gitignore +68 -0
  5. lizystudio-0.1.0/.mcp.json +3 -0
  6. lizystudio-0.1.0/.pre-commit-config.yaml +16 -0
  7. lizystudio-0.1.0/BLUEPRINT.md +2659 -0
  8. lizystudio-0.1.0/HISTORY.md +1349 -0
  9. lizystudio-0.1.0/LICENSE +21 -0
  10. lizystudio-0.1.0/PKG-INFO +92 -0
  11. lizystudio-0.1.0/PLAN.md +1014 -0
  12. lizystudio-0.1.0/README.md +61 -0
  13. lizystudio-0.1.0/analysis/README.md +36 -0
  14. lizystudio-0.1.0/analysis/gaps/gap-registry.md +43 -0
  15. lizystudio-0.1.0/analysis/reports/2026-03-31_breast-cancer/lizystudio-analyst.md +165 -0
  16. lizystudio-0.1.0/analysis/reports/2026-03-31_breast-cancer/metadata.json +21 -0
  17. lizystudio-0.1.0/analysis/reports/2026-03-31_breast-cancer/python-analyst.md +106 -0
  18. lizystudio-0.1.0/coverage.json +1 -0
  19. lizystudio-0.1.0/data/README.md +42 -0
  20. lizystudio-0.1.0/data/breast-cancer/README.md +39 -0
  21. lizystudio-0.1.0/data/breast-cancer/schema.json +44 -0
  22. lizystudio-0.1.0/frontend/.gitignore +31 -0
  23. lizystudio-0.1.0/frontend/.storybook/main.ts +11 -0
  24. lizystudio-0.1.0/frontend/.storybook/preview.tsx +25 -0
  25. lizystudio-0.1.0/frontend/biome.json +71 -0
  26. lizystudio-0.1.0/frontend/components.json +20 -0
  27. lizystudio-0.1.0/frontend/index.html +12 -0
  28. lizystudio-0.1.0/frontend/openapi.json +1866 -0
  29. lizystudio-0.1.0/frontend/package.json +70 -0
  30. lizystudio-0.1.0/frontend/playwright.config.ts +68 -0
  31. lizystudio-0.1.0/frontend/pnpm-lock.yaml +11292 -0
  32. lizystudio-0.1.0/frontend/postcss.config.js +6 -0
  33. lizystudio-0.1.0/frontend/public/vite.svg +1 -0
  34. lizystudio-0.1.0/frontend/scripts/check-api-types.sh +25 -0
  35. lizystudio-0.1.0/frontend/src/App.test.tsx +59 -0
  36. lizystudio-0.1.0/frontend/src/App.tsx +45 -0
  37. lizystudio-0.1.0/frontend/src/api/api-contract.test.ts +455 -0
  38. lizystudio-0.1.0/frontend/src/api/client.test.ts +114 -0
  39. lizystudio-0.1.0/frontend/src/api/client.ts +40 -0
  40. lizystudio-0.1.0/frontend/src/api/error-handling.test.ts +168 -0
  41. lizystudio-0.1.0/frontend/src/api/files.test.ts +53 -0
  42. lizystudio-0.1.0/frontend/src/api/files.ts +19 -0
  43. lizystudio-0.1.0/frontend/src/api/generated/schema.d.ts +2600 -0
  44. lizystudio-0.1.0/frontend/src/api/inference.test.ts +181 -0
  45. lizystudio-0.1.0/frontend/src/api/inference.ts +133 -0
  46. lizystudio-0.1.0/frontend/src/api/jobs.test.ts +187 -0
  47. lizystudio-0.1.0/frontend/src/api/jobs.ts +83 -0
  48. lizystudio-0.1.0/frontend/src/api/types.ts +277 -0
  49. lizystudio-0.1.0/frontend/src/api/websocket.test.ts +316 -0
  50. lizystudio-0.1.0/frontend/src/api/websocket.ts +99 -0
  51. lizystudio-0.1.0/frontend/src/api/workspace.test.ts +252 -0
  52. lizystudio-0.1.0/frontend/src/api/workspace.ts +123 -0
  53. lizystudio-0.1.0/frontend/src/components/inference/HistoryList.stories.tsx +53 -0
  54. lizystudio-0.1.0/frontend/src/components/inference/HistoryList.test.tsx +203 -0
  55. lizystudio-0.1.0/frontend/src/components/inference/HistoryList.tsx +75 -0
  56. lizystudio-0.1.0/frontend/src/components/inference/PredictionsTable.test.tsx +120 -0
  57. lizystudio-0.1.0/frontend/src/components/inference/PredictionsTable.tsx +118 -0
  58. lizystudio-0.1.0/frontend/src/components/inference/ResultsPredOnly.test.tsx +209 -0
  59. lizystudio-0.1.0/frontend/src/components/inference/ResultsPredOnly.tsx +250 -0
  60. lizystudio-0.1.0/frontend/src/components/inference/ResultsWithGT.test.tsx +209 -0
  61. lizystudio-0.1.0/frontend/src/components/inference/ResultsWithGT.tsx +214 -0
  62. lizystudio-0.1.0/frontend/src/components/inference/ScoreTable.test.tsx +120 -0
  63. lizystudio-0.1.0/frontend/src/components/inference/ScoreTable.tsx +74 -0
  64. lizystudio-0.1.0/frontend/src/components/inference/SetupPanel.stories.tsx +66 -0
  65. lizystudio-0.1.0/frontend/src/components/inference/SetupPanel.test.tsx +346 -0
  66. lizystudio-0.1.0/frontend/src/components/inference/SetupPanel.tsx +260 -0
  67. lizystudio-0.1.0/frontend/src/components/jobs/CompletedContent.test.tsx +316 -0
  68. lizystudio-0.1.0/frontend/src/components/jobs/CompletedContent.tsx +263 -0
  69. lizystudio-0.1.0/frontend/src/components/jobs/DeleteDialog.test.tsx +107 -0
  70. lizystudio-0.1.0/frontend/src/components/jobs/DeleteDialog.tsx +70 -0
  71. lizystudio-0.1.0/frontend/src/components/jobs/ExportDialog.test.tsx +162 -0
  72. lizystudio-0.1.0/frontend/src/components/jobs/ExportDialog.tsx +139 -0
  73. lizystudio-0.1.0/frontend/src/components/jobs/JobDetail.test.tsx +596 -0
  74. lizystudio-0.1.0/frontend/src/components/jobs/JobDetail.tsx +540 -0
  75. lizystudio-0.1.0/frontend/src/components/jobs/JobList.stories.tsx +78 -0
  76. lizystudio-0.1.0/frontend/src/components/jobs/JobList.test.tsx +138 -0
  77. lizystudio-0.1.0/frontend/src/components/jobs/JobList.tsx +226 -0
  78. lizystudio-0.1.0/frontend/src/components/layout/AppLayout.test.tsx +74 -0
  79. lizystudio-0.1.0/frontend/src/components/layout/AppLayout.tsx +15 -0
  80. lizystudio-0.1.0/frontend/src/components/layout/CommandPalette.test.tsx +86 -0
  81. lizystudio-0.1.0/frontend/src/components/layout/CommandPalette.tsx +148 -0
  82. lizystudio-0.1.0/frontend/src/components/layout/ErrorBoundary.test.tsx +114 -0
  83. lizystudio-0.1.0/frontend/src/components/layout/ErrorBoundary.tsx +49 -0
  84. lizystudio-0.1.0/frontend/src/components/layout/Onboarding.test.tsx +55 -0
  85. lizystudio-0.1.0/frontend/src/components/layout/Onboarding.tsx +106 -0
  86. lizystudio-0.1.0/frontend/src/components/layout/Sidebar.test.tsx +59 -0
  87. lizystudio-0.1.0/frontend/src/components/layout/Sidebar.tsx +120 -0
  88. lizystudio-0.1.0/frontend/src/components/layout/ThemeToggle.test.tsx +51 -0
  89. lizystudio-0.1.0/frontend/src/components/layout/ThemeToggle.tsx +48 -0
  90. lizystudio-0.1.0/frontend/src/components/shared/MetricCards.test.tsx +79 -0
  91. lizystudio-0.1.0/frontend/src/components/shared/MetricCards.tsx +59 -0
  92. lizystudio-0.1.0/frontend/src/components/ui/accordion.tsx +66 -0
  93. lizystudio-0.1.0/frontend/src/components/ui/badge.tsx +48 -0
  94. lizystudio-0.1.0/frontend/src/components/ui/button.tsx +64 -0
  95. lizystudio-0.1.0/frontend/src/components/ui/checkbox.tsx +30 -0
  96. lizystudio-0.1.0/frontend/src/components/ui/design-tokens.css +182 -0
  97. lizystudio-0.1.0/frontend/src/components/ui/dialog.tsx +156 -0
  98. lizystudio-0.1.0/frontend/src/components/ui/input.tsx +21 -0
  99. lizystudio-0.1.0/frontend/src/components/ui/label.tsx +22 -0
  100. lizystudio-0.1.0/frontend/src/components/ui/progress.tsx +31 -0
  101. lizystudio-0.1.0/frontend/src/components/ui/resizable.tsx +51 -0
  102. lizystudio-0.1.0/frontend/src/components/ui/scroll-area.tsx +58 -0
  103. lizystudio-0.1.0/frontend/src/components/ui/select.tsx +190 -0
  104. lizystudio-0.1.0/frontend/src/components/ui/skeleton.tsx +15 -0
  105. lizystudio-0.1.0/frontend/src/components/ui/switch.tsx +35 -0
  106. lizystudio-0.1.0/frontend/src/components/ui/table.tsx +116 -0
  107. lizystudio-0.1.0/frontend/src/components/ui/tabs.tsx +89 -0
  108. lizystudio-0.1.0/frontend/src/components/ui/textarea.tsx +21 -0
  109. lizystudio-0.1.0/frontend/src/components/ui/tooltip.tsx +55 -0
  110. lizystudio-0.1.0/frontend/src/components/workspace/BlockedGroupKFoldEditor.component.test.tsx +398 -0
  111. lizystudio-0.1.0/frontend/src/components/workspace/BlockedGroupKFoldEditor.stories.tsx +128 -0
  112. lizystudio-0.1.0/frontend/src/components/workspace/BlockedGroupKFoldEditor.tsx +473 -0
  113. lizystudio-0.1.0/frontend/src/components/workspace/CalibrationSection.test.tsx +85 -0
  114. lizystudio-0.1.0/frontend/src/components/workspace/CalibrationSection.tsx +111 -0
  115. lizystudio-0.1.0/frontend/src/components/workspace/ChipGroup.test.tsx +131 -0
  116. lizystudio-0.1.0/frontend/src/components/workspace/ChipGroup.tsx +46 -0
  117. lizystudio-0.1.0/frontend/src/components/workspace/ChoiceInput.test.tsx +153 -0
  118. lizystudio-0.1.0/frontend/src/components/workspace/ChoiceInput.tsx +116 -0
  119. lizystudio-0.1.0/frontend/src/components/workspace/CompactStepper.test.tsx +155 -0
  120. lizystudio-0.1.0/frontend/src/components/workspace/CompactStepper.tsx +90 -0
  121. lizystudio-0.1.0/frontend/src/components/workspace/CompactToggle.test.tsx +56 -0
  122. lizystudio-0.1.0/frontend/src/components/workspace/CompactToggle.tsx +27 -0
  123. lizystudio-0.1.0/frontend/src/components/workspace/ConfigForm.test.tsx +402 -0
  124. lizystudio-0.1.0/frontend/src/components/workspace/ConfigForm.tsx +586 -0
  125. lizystudio-0.1.0/frontend/src/components/workspace/CvSection.component.test.tsx +206 -0
  126. lizystudio-0.1.0/frontend/src/components/workspace/CvSection.stories.tsx +82 -0
  127. lizystudio-0.1.0/frontend/src/components/workspace/CvSection.tsx +427 -0
  128. lizystudio-0.1.0/frontend/src/components/workspace/DataPanel.test.tsx +569 -0
  129. lizystudio-0.1.0/frontend/src/components/workspace/DataPanel.tsx +744 -0
  130. lizystudio-0.1.0/frontend/src/components/workspace/DistributionBar.stories.tsx +74 -0
  131. lizystudio-0.1.0/frontend/src/components/workspace/DistributionBar.test.tsx +96 -0
  132. lizystudio-0.1.0/frontend/src/components/workspace/DistributionBar.tsx +107 -0
  133. lizystudio-0.1.0/frontend/src/components/workspace/DynParam.test.tsx +312 -0
  134. lizystudio-0.1.0/frontend/src/components/workspace/DynParam.tsx +127 -0
  135. lizystudio-0.1.0/frontend/src/components/workspace/FeatureWeightsEditor.test.tsx +114 -0
  136. lizystudio-0.1.0/frontend/src/components/workspace/FeatureWeightsEditor.tsx +117 -0
  137. lizystudio-0.1.0/frontend/src/components/workspace/FileBrowser.test.tsx +186 -0
  138. lizystudio-0.1.0/frontend/src/components/workspace/FileBrowser.tsx +140 -0
  139. lizystudio-0.1.0/frontend/src/components/workspace/FixedValueEditor.stories.tsx +83 -0
  140. lizystudio-0.1.0/frontend/src/components/workspace/FixedValueEditor.test.tsx +326 -0
  141. lizystudio-0.1.0/frontend/src/components/workspace/FixedValueEditor.tsx +118 -0
  142. lizystudio-0.1.0/frontend/src/components/workspace/FoldDetailsSection.test.tsx +106 -0
  143. lizystudio-0.1.0/frontend/src/components/workspace/FoldDetailsSection.tsx +99 -0
  144. lizystudio-0.1.0/frontend/src/components/workspace/FoldPreview.stories.tsx +83 -0
  145. lizystudio-0.1.0/frontend/src/components/workspace/FoldPreview.test.tsx +115 -0
  146. lizystudio-0.1.0/frontend/src/components/workspace/FoldPreview.tsx +187 -0
  147. lizystudio-0.1.0/frontend/src/components/workspace/FoldProgressList.test.tsx +67 -0
  148. lizystudio-0.1.0/frontend/src/components/workspace/FoldProgressList.tsx +50 -0
  149. lizystudio-0.1.0/frontend/src/components/workspace/FormField.test.tsx +63 -0
  150. lizystudio-0.1.0/frontend/src/components/workspace/FormField.tsx +38 -0
  151. lizystudio-0.1.0/frontend/src/components/workspace/FormRow.test.tsx +50 -0
  152. lizystudio-0.1.0/frontend/src/components/workspace/FormRow.tsx +37 -0
  153. lizystudio-0.1.0/frontend/src/components/workspace/KeyValueEditor.test.tsx +167 -0
  154. lizystudio-0.1.0/frontend/src/components/workspace/KeyValueEditor.tsx +239 -0
  155. lizystudio-0.1.0/frontend/src/components/workspace/MetricsChips.test.tsx +272 -0
  156. lizystudio-0.1.0/frontend/src/components/workspace/MetricsChips.tsx +173 -0
  157. lizystudio-0.1.0/frontend/src/components/workspace/ModelPanel.test.tsx +526 -0
  158. lizystudio-0.1.0/frontend/src/components/workspace/ModelPanel.tsx +435 -0
  159. lizystudio-0.1.0/frontend/src/components/workspace/NumberInput.test.tsx +180 -0
  160. lizystudio-0.1.0/frontend/src/components/workspace/NumberInput.tsx +133 -0
  161. lizystudio-0.1.0/frontend/src/components/workspace/PlotSection.test.tsx +200 -0
  162. lizystudio-0.1.0/frontend/src/components/workspace/PlotSection.tsx +232 -0
  163. lizystudio-0.1.0/frontend/src/components/workspace/PlotlyChart.stories.tsx +94 -0
  164. lizystudio-0.1.0/frontend/src/components/workspace/PlotlyChart.test.tsx +164 -0
  165. lizystudio-0.1.0/frontend/src/components/workspace/PlotlyChart.tsx +138 -0
  166. lizystudio-0.1.0/frontend/src/components/workspace/RawConfigDialog.test.tsx +143 -0
  167. lizystudio-0.1.0/frontend/src/components/workspace/RawConfigDialog.tsx +56 -0
  168. lizystudio-0.1.0/frontend/src/components/workspace/ResultsPanel.test.tsx +640 -0
  169. lizystudio-0.1.0/frontend/src/components/workspace/ResultsPanel.tsx +763 -0
  170. lizystudio-0.1.0/frontend/src/components/workspace/ScoreSection.test.tsx +141 -0
  171. lizystudio-0.1.0/frontend/src/components/workspace/ScoreSection.tsx +57 -0
  172. lizystudio-0.1.0/frontend/src/components/workspace/SearchSpaceTable.stories.tsx +74 -0
  173. lizystudio-0.1.0/frontend/src/components/workspace/SearchSpaceTable.test.tsx +656 -0
  174. lizystudio-0.1.0/frontend/src/components/workspace/SearchSpaceTable.tsx +607 -0
  175. lizystudio-0.1.0/frontend/src/components/workspace/SegmentGroup.test.tsx +112 -0
  176. lizystudio-0.1.0/frontend/src/components/workspace/SegmentGroup.tsx +39 -0
  177. lizystudio-0.1.0/frontend/src/components/workspace/SegmentedControl.test.tsx +97 -0
  178. lizystudio-0.1.0/frontend/src/components/workspace/SegmentedControl.tsx +84 -0
  179. lizystudio-0.1.0/frontend/src/components/workspace/TuneSettings.test.tsx +72 -0
  180. lizystudio-0.1.0/frontend/src/components/workspace/TuneSettings.tsx +82 -0
  181. lizystudio-0.1.0/frontend/src/components/workspace/TuneTab.test.tsx +419 -0
  182. lizystudio-0.1.0/frontend/src/components/workspace/TuneTab.tsx +445 -0
  183. lizystudio-0.1.0/frontend/src/components/workspace/TuneTrialsSection.test.tsx +299 -0
  184. lizystudio-0.1.0/frontend/src/components/workspace/TuneTrialsSection.tsx +165 -0
  185. lizystudio-0.1.0/frontend/src/components/workspace/blocked-group-kfold-editor.test.ts +93 -0
  186. lizystudio-0.1.0/frontend/src/components/workspace/config-utils.test.ts +248 -0
  187. lizystudio-0.1.0/frontend/src/components/workspace/config-utils.ts +235 -0
  188. lizystudio-0.1.0/frontend/src/components/workspace/constants.test.ts +148 -0
  189. lizystudio-0.1.0/frontend/src/components/workspace/constants.ts +95 -0
  190. lizystudio-0.1.0/frontend/src/components/workspace/cv-section.test.ts +484 -0
  191. lizystudio-0.1.0/frontend/src/components/workspace/field-renderers.test.tsx +688 -0
  192. lizystudio-0.1.0/frontend/src/components/workspace/field-renderers.tsx +578 -0
  193. lizystudio-0.1.0/frontend/src/hooks/useBackgroundNotification.test.ts +127 -0
  194. lizystudio-0.1.0/frontend/src/hooks/useBackgroundNotification.ts +20 -0
  195. lizystudio-0.1.0/frontend/src/hooks/useConfigHistory.test.ts +91 -0
  196. lizystudio-0.1.0/frontend/src/hooks/useConfigHistory.ts +53 -0
  197. lizystudio-0.1.0/frontend/src/hooks/useConfigPresets.test.ts +114 -0
  198. lizystudio-0.1.0/frontend/src/hooks/useConfigPresets.ts +63 -0
  199. lizystudio-0.1.0/frontend/src/hooks/useDocumentTitle.test.ts +42 -0
  200. lizystudio-0.1.0/frontend/src/hooks/useDocumentTitle.ts +15 -0
  201. lizystudio-0.1.0/frontend/src/hooks/useKeyboardShortcuts.test.ts +176 -0
  202. lizystudio-0.1.0/frontend/src/hooks/useKeyboardShortcuts.ts +41 -0
  203. lizystudio-0.1.0/frontend/src/index.css +89 -0
  204. lizystudio-0.1.0/frontend/src/lib/metrics.test.ts +65 -0
  205. lizystudio-0.1.0/frontend/src/lib/metrics.ts +40 -0
  206. lizystudio-0.1.0/frontend/src/lib/utils.test.ts +58 -0
  207. lizystudio-0.1.0/frontend/src/lib/utils.ts +20 -0
  208. lizystudio-0.1.0/frontend/src/main.tsx +13 -0
  209. lizystudio-0.1.0/frontend/src/pages/InferencePage.test.tsx +360 -0
  210. lizystudio-0.1.0/frontend/src/pages/InferencePage.tsx +197 -0
  211. lizystudio-0.1.0/frontend/src/pages/JobsPage.test.tsx +191 -0
  212. lizystudio-0.1.0/frontend/src/pages/JobsPage.tsx +71 -0
  213. lizystudio-0.1.0/frontend/src/pages/NotFoundPage.test.tsx +35 -0
  214. lizystudio-0.1.0/frontend/src/pages/NotFoundPage.tsx +17 -0
  215. lizystudio-0.1.0/frontend/src/pages/WorkspacePage.test.tsx +329 -0
  216. lizystudio-0.1.0/frontend/src/pages/WorkspacePage.tsx +144 -0
  217. lizystudio-0.1.0/frontend/src/test/helpers.tsx +86 -0
  218. lizystudio-0.1.0/frontend/src/test/mocks/handlers.ts +39 -0
  219. lizystudio-0.1.0/frontend/src/test/mocks/server.ts +4 -0
  220. lizystudio-0.1.0/frontend/src/test-setup.ts +11 -0
  221. lizystudio-0.1.0/frontend/tailwind.config.ts +70 -0
  222. lizystudio-0.1.0/frontend/tests/e2e/a11y/accessibility.spec.ts +127 -0
  223. lizystudio-0.1.0/frontend/tests/e2e/helpers/api.ts +89 -0
  224. lizystudio-0.1.0/frontend/tests/e2e/helpers/onboarding.ts +11 -0
  225. lizystudio-0.1.0/frontend/tests/e2e/helpers/visual.ts +49 -0
  226. lizystudio-0.1.0/frontend/tests/e2e/inference-flow.spec.ts +230 -0
  227. lizystudio-0.1.0/frontend/tests/e2e/inference-shap.spec.ts +137 -0
  228. lizystudio-0.1.0/frontend/tests/e2e/jobs-flow.spec.ts +249 -0
  229. lizystudio-0.1.0/frontend/tests/e2e/jobs-refit.spec.ts +95 -0
  230. lizystudio-0.1.0/frontend/tests/e2e/security-fixes.spec.ts +108 -0
  231. lizystudio-0.1.0/frontend/tests/e2e/visual/inference.spec.ts +95 -0
  232. lizystudio-0.1.0/frontend/tests/e2e/visual/jobs.spec.ts +95 -0
  233. lizystudio-0.1.0/frontend/tests/e2e/visual/theme-regression.spec.ts +141 -0
  234. lizystudio-0.1.0/frontend/tests/e2e/visual/workspace.spec.ts +155 -0
  235. lizystudio-0.1.0/frontend/tests/e2e/workspace-advanced.spec.ts +222 -0
  236. lizystudio-0.1.0/frontend/tests/e2e/workspace-fit.spec.ts +254 -0
  237. lizystudio-0.1.0/frontend/tests/e2e/workspace-flow.spec.ts +177 -0
  238. lizystudio-0.1.0/frontend/tests/e2e/workspace-layout.spec.ts +89 -0
  239. lizystudio-0.1.0/frontend/tests/e2e/workspace-tune.spec.ts +245 -0
  240. lizystudio-0.1.0/frontend/tests/e2e/workspace-ui-improvements.spec.ts +237 -0
  241. lizystudio-0.1.0/frontend/tsconfig.json +31 -0
  242. lizystudio-0.1.0/frontend/turbo-1164220-0.cfg +3197 -0
  243. lizystudio-0.1.0/frontend/vite.config.ts +26 -0
  244. lizystudio-0.1.0/frontend/vitest.config.ts +32 -0
  245. lizystudio-0.1.0/pyproject.toml +93 -0
  246. lizystudio-0.1.0/src/lizystudio/__init__.py +9 -0
  247. lizystudio-0.1.0/src/lizystudio/__main__.py +5 -0
  248. lizystudio-0.1.0/src/lizystudio/_version.py +24 -0
  249. lizystudio-0.1.0/src/lizystudio/api/__init__.py +1 -0
  250. lizystudio-0.1.0/src/lizystudio/api/backends.py +26 -0
  251. lizystudio-0.1.0/src/lizystudio/api/errors.py +169 -0
  252. lizystudio-0.1.0/src/lizystudio/api/files.py +85 -0
  253. lizystudio-0.1.0/src/lizystudio/api/inference.py +254 -0
  254. lizystudio-0.1.0/src/lizystudio/api/jobs.py +403 -0
  255. lizystudio-0.1.0/src/lizystudio/api/models.py +160 -0
  256. lizystudio-0.1.0/src/lizystudio/api/workspace.py +465 -0
  257. lizystudio-0.1.0/src/lizystudio/backends/__init__.py +1 -0
  258. lizystudio-0.1.0/src/lizystudio/backends/base.py +132 -0
  259. lizystudio-0.1.0/src/lizystudio/backends/lizyml.py +343 -0
  260. lizystudio-0.1.0/src/lizystudio/backends/lizyml_ui_schema.py +714 -0
  261. lizystudio-0.1.0/src/lizystudio/backends/registry.py +20 -0
  262. lizystudio-0.1.0/src/lizystudio/backends/types.py +113 -0
  263. lizystudio-0.1.0/src/lizystudio/cli.py +57 -0
  264. lizystudio-0.1.0/src/lizystudio/py.typed +0 -0
  265. lizystudio-0.1.0/src/lizystudio/security.py +104 -0
  266. lizystudio-0.1.0/src/lizystudio/server.py +176 -0
  267. lizystudio-0.1.0/src/lizystudio/services/__init__.py +1 -0
  268. lizystudio-0.1.0/src/lizystudio/services/data.py +299 -0
  269. lizystudio-0.1.0/src/lizystudio/services/export.py +177 -0
  270. lizystudio-0.1.0/src/lizystudio/services/inference.py +365 -0
  271. lizystudio-0.1.0/src/lizystudio/services/jobs.py +345 -0
  272. lizystudio-0.1.0/src/lizystudio/services/openmp_detect.py +36 -0
  273. lizystudio-0.1.0/src/lizystudio/services/subprocess_runner.py +304 -0
  274. lizystudio-0.1.0/src/lizystudio/services/training.py +473 -0
  275. lizystudio-0.1.0/src/lizystudio/services/workspace.py +186 -0
  276. lizystudio-0.1.0/src/lizystudio/ws/__init__.py +1 -0
  277. lizystudio-0.1.0/src/lizystudio/ws/progress.py +154 -0
  278. lizystudio-0.1.0/tests/__init__.py +0 -0
  279. lizystudio-0.1.0/tests/conftest.py +47 -0
  280. lizystudio-0.1.0/tests/test_adapter_protocol.py +195 -0
  281. lizystudio-0.1.0/tests/test_api_schema_contract.py +211 -0
  282. lizystudio-0.1.0/tests/test_artifact_compatibility.py +310 -0
  283. lizystudio-0.1.0/tests/test_backends_api.py +15 -0
  284. lizystudio-0.1.0/tests/test_backends_lizyml.py +794 -0
  285. lizystudio-0.1.0/tests/test_cli.py +67 -0
  286. lizystudio-0.1.0/tests/test_cli_comprehensive.py +162 -0
  287. lizystudio-0.1.0/tests/test_column_stats.py +84 -0
  288. lizystudio-0.1.0/tests/test_column_value_counts.py +60 -0
  289. lizystudio-0.1.0/tests/test_config_api.py +173 -0
  290. lizystudio-0.1.0/tests/test_config_patch.py +253 -0
  291. lizystudio-0.1.0/tests/test_config_roundtrip.py +148 -0
  292. lizystudio-0.1.0/tests/test_data_api.py +178 -0
  293. lizystudio-0.1.0/tests/test_data_coverage.py +321 -0
  294. lizystudio-0.1.0/tests/test_dataframe_memory.py +147 -0
  295. lizystudio-0.1.0/tests/test_error_format.py +25 -0
  296. lizystudio-0.1.0/tests/test_error_paths.py +141 -0
  297. lizystudio-0.1.0/tests/test_export_service.py +256 -0
  298. lizystudio-0.1.0/tests/test_files_api.py +432 -0
  299. lizystudio-0.1.0/tests/test_fold_progress.py +186 -0
  300. lizystudio-0.1.0/tests/test_inference_api.py +705 -0
  301. lizystudio-0.1.0/tests/test_inference_service.py +719 -0
  302. lizystudio-0.1.0/tests/test_job_state_transitions.py +426 -0
  303. lizystudio-0.1.0/tests/test_jobs.py +547 -0
  304. lizystudio-0.1.0/tests/test_jobs_api.py +1022 -0
  305. lizystudio-0.1.0/tests/test_jobs_edge_cases.py +235 -0
  306. lizystudio-0.1.0/tests/test_layer_audit.py +70 -0
  307. lizystudio-0.1.0/tests/test_main_module.py +30 -0
  308. lizystudio-0.1.0/tests/test_openmp_detect.py +83 -0
  309. lizystudio-0.1.0/tests/test_progress.py +122 -0
  310. lizystudio-0.1.0/tests/test_progress_coverage.py +438 -0
  311. lizystudio-0.1.0/tests/test_security.py +179 -0
  312. lizystudio-0.1.0/tests/test_security_headers.py +125 -0
  313. lizystudio-0.1.0/tests/test_server.py +33 -0
  314. lizystudio-0.1.0/tests/test_server_coverage.py +159 -0
  315. lizystudio-0.1.0/tests/test_split_preview.py +235 -0
  316. lizystudio-0.1.0/tests/test_subprocess_runner.py +215 -0
  317. lizystudio-0.1.0/tests/test_thread_join.py +286 -0
  318. lizystudio-0.1.0/tests/test_training_coverage.py +1279 -0
  319. lizystudio-0.1.0/tests/test_training_service.py +596 -0
  320. lizystudio-0.1.0/tests/test_ui_schema.py +824 -0
  321. lizystudio-0.1.0/tests/test_workspace_coverage.py +400 -0
  322. lizystudio-0.1.0/tests/test_workspace_edge_cases.py +184 -0
  323. lizystudio-0.1.0/uv.lock +2536 -0
@@ -0,0 +1,25 @@
1
+ version: 2
2
+ updates:
3
+ # Python (uv/pip)
4
+ - package-ecosystem: "pip"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ target-branch: "develop"
9
+ open-pull-requests-limit: 10
10
+
11
+ # Frontend (npm/pnpm)
12
+ - package-ecosystem: "npm"
13
+ directory: "/frontend"
14
+ schedule:
15
+ interval: "weekly"
16
+ target-branch: "develop"
17
+ open-pull-requests-limit: 10
18
+
19
+ # GitHub Actions
20
+ - package-ecosystem: "github-actions"
21
+ directory: "/"
22
+ schedule:
23
+ interval: "weekly"
24
+ target-branch: "develop"
25
+ open-pull-requests-limit: 5
@@ -0,0 +1,39 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [main, develop]
6
+
7
+ jobs:
8
+ backend:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ python-version: ["3.10", "3.11"]
13
+ steps:
14
+ - uses: actions/checkout@v6
15
+ - uses: astral-sh/setup-uv@v7
16
+ with:
17
+ enable-cache: true
18
+ - run: uv sync
19
+ - run: uv run ruff check .
20
+ - run: uv run ruff format --check .
21
+ - run: uv run mypy src/lizystudio/
22
+ - run: uv run pytest --cov=src/lizystudio --cov-report=term-missing -q
23
+
24
+ frontend:
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - uses: actions/checkout@v6
28
+ - uses: pnpm/action-setup@v5
29
+ with:
30
+ version: 9
31
+ - uses: actions/setup-node@v6
32
+ with:
33
+ node-version: "20"
34
+ cache: pnpm
35
+ cache-dependency-path: frontend/pnpm-lock.yaml
36
+ - run: cd frontend && pnpm install --frozen-lockfile
37
+ - run: cd frontend && pnpm check
38
+ - run: cd frontend && pnpm build
39
+ - run: cd frontend && pnpm test -- --run
@@ -0,0 +1,34 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ publish:
10
+ if: github.ref_type == 'tag'
11
+ runs-on: ubuntu-latest
12
+ environment: pypi
13
+ permissions:
14
+ id-token: write
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+ with:
18
+ fetch-depth: 0
19
+ fetch-tags: true
20
+ - uses: astral-sh/setup-uv@v7
21
+ - uses: pnpm/action-setup@v5
22
+ with:
23
+ version: 9
24
+ - uses: actions/setup-node@v6
25
+ with:
26
+ node-version: "20"
27
+ - run: uv sync
28
+ - run: uv run pytest -q
29
+ - run: uv run mypy src/lizystudio/
30
+ - run: cd frontend && pnpm install --frozen-lockfile
31
+ - run: cd frontend && pnpm build
32
+ - run: git checkout -- src/lizystudio/_version.py
33
+ - run: uv build
34
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,68 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .venv/
8
+
9
+ # Frontend
10
+ frontend/node_modules/
11
+ frontend/dist/
12
+ *.tsbuildinfo
13
+ .eslintcache
14
+ .lizystudio/
15
+
16
+ # Built frontend assets served by backend
17
+ src/lizystudio/static/
18
+
19
+ # IDE
20
+ .vscode/
21
+ .idea/
22
+
23
+ # OS
24
+ .DS_Store
25
+ Thumbs.db
26
+
27
+ # Data
28
+ *.csv
29
+ *.png
30
+
31
+ # Environment
32
+ .env
33
+ .env.local
34
+
35
+ # Playwright MCP
36
+ .playwright-mcp/
37
+
38
+ # Testing & Audit
39
+ .audit/
40
+ audit-*.png
41
+ audit-*.md
42
+ .coverage
43
+ htmlcov/
44
+ .pytest_cache/
45
+ .mypy_cache/
46
+ .ruff_cache/
47
+
48
+ # Analysis data files (keep README.md and schema.json only)
49
+ data/**/*.csv
50
+ data/**/*.parquet
51
+ data/**/*.pkl
52
+ data/**/*.feather
53
+ data/**/*.xlsx
54
+
55
+ # AI & Automation (Abstra, Cursor, etc)
56
+ .abstra/
57
+ .ai_settings/
58
+ .agent/
59
+ .agents/
60
+ .claude/
61
+ .codex/
62
+ .gemini/
63
+ AGENTS.md
64
+ CLAUDE.md
65
+ GEMINI.md
66
+ marimo/_static/
67
+ marimo/_lsp/
68
+ __marimo__/
@@ -0,0 +1,3 @@
1
+ {
2
+ "mcpServers": {}
3
+ }
@@ -0,0 +1,16 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.15.5
4
+ hooks:
5
+ - id: ruff
6
+ args: [--fix]
7
+ - id: ruff-format
8
+
9
+ - repo: local
10
+ hooks:
11
+ - id: biome-check
12
+ name: biome check
13
+ entry: bash -c 'cd frontend && pnpm check'
14
+ language: system
15
+ files: ^frontend/src/.*\.(ts|tsx)$
16
+ pass_filenames: false