scitex 2.10.3__py3-none-any.whl → 2.13.0__py3-none-any.whl

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 (504) hide show
  1. scitex/__init__.py +1 -4
  2. scitex/__main__.py +24 -5
  3. scitex/__version__.py +1 -1
  4. scitex/_install_guide.py +14 -2
  5. scitex/_optional_deps.py +33 -0
  6. scitex/ai/classification/reporters/_ClassificationReporter.py +1 -1
  7. scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +2 -2
  8. scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +2 -2
  9. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +2 -2
  10. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +2 -2
  11. scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +2 -2
  12. scitex/ai/classification/timeseries/_normalize_timestamp.py +1 -1
  13. scitex/ai/metrics/_calc_seizure_prediction_metrics.py +1 -1
  14. scitex/ai/plt/_plot_feature_importance.py +1 -1
  15. scitex/ai/plt/_plot_learning_curve.py +1 -1
  16. scitex/ai/plt/_plot_optuna_study.py +1 -1
  17. scitex/ai/plt/_plot_pre_rec_curve.py +1 -1
  18. scitex/ai/plt/_plot_roc_curve.py +1 -1
  19. scitex/ai/plt/_stx_conf_mat.py +1 -1
  20. scitex/ai/training/_LearningCurveLogger.py +1 -1
  21. scitex/audio/mcp_server.py +38 -8
  22. scitex/bridge/_figrecipe.py +1 -1
  23. scitex/bridge/_helpers.py +1 -1
  24. scitex/bridge/_plt_vis.py +1 -1
  25. scitex/bridge/_stats_plt.py +1 -1
  26. scitex/bridge/_stats_vis.py +2 -2
  27. scitex/browser/automation/CookieHandler.py +1 -1
  28. scitex/browser/core/BrowserMixin.py +1 -1
  29. scitex/browser/core/ChromeProfileManager.py +1 -1
  30. scitex/browser/debugging/_browser_logger.py +1 -1
  31. scitex/browser/debugging/_highlight_element.py +1 -1
  32. scitex/browser/debugging/_show_grid.py +1 -1
  33. scitex/browser/interaction/click_center.py +1 -1
  34. scitex/browser/interaction/click_with_fallbacks.py +1 -1
  35. scitex/browser/interaction/close_popups.py +1 -1
  36. scitex/browser/interaction/fill_with_fallbacks.py +1 -1
  37. scitex/browser/pdf/click_download_for_chrome_pdf_viewer.py +1 -1
  38. scitex/browser/pdf/detect_chrome_pdf_viewer.py +1 -1
  39. scitex/browser/stealth/HumanBehavior.py +1 -1
  40. scitex/browser/stealth/StealthManager.py +1 -1
  41. scitex/{fig → canvas}/__init__.py +84 -96
  42. scitex/canvas/_mcp_handlers.py +372 -0
  43. scitex/canvas/_mcp_tool_schemas.py +219 -0
  44. scitex/{fig → canvas}/backend/_parser.py +1 -1
  45. scitex/{fig → canvas}/canvas.py +13 -14
  46. scitex/{fts/_fig/_editor → canvas/editor}/_defaults.py +2 -2
  47. scitex/{fig → canvas}/editor/edit/__init__.py +11 -14
  48. scitex/{fig → canvas}/editor/edit/bundle_resolver.py +56 -48
  49. scitex/{fig → canvas}/editor/edit/editor_launcher.py +79 -26
  50. scitex/{fts/_fig/_editor/_cui/_panel_loader.py → canvas/editor/edit/panel_loader.py} +8 -8
  51. scitex/{fts/_fig/_editor/_gui/_flask_editor → canvas/editor/flask_editor}/_bbox.py +2 -1
  52. scitex/{fts/_fig/_editor/_gui/_flask_editor → canvas/editor/flask_editor}/_core.py +84 -84
  53. scitex/{fts/_fig/_editor/_gui/_flask_editor → canvas/editor/flask_editor}/_renderer.py +7 -6
  54. scitex/{fts/_fig/_editor/_gui/_flask_editor → canvas/editor/flask_editor}/static/css/features/canvas.css +2 -2
  55. scitex/{fig → canvas}/editor/flask_editor/static/css/features/panel-grid.css +1 -1
  56. scitex/{fig → canvas}/editor/flask_editor/static/js/core/api.js +3 -4
  57. scitex/{fig → canvas}/editor/flask_editor/static/js/editor/preview.js +5 -5
  58. scitex/{fig → canvas}/editor/flask_editor/templates/_html.py +3 -3
  59. scitex/{fig → canvas}/editor/flask_editor/templates/_scripts.py +10 -10
  60. scitex/{fig → canvas}/editor/flask_editor/templates/_styles.py +3 -3
  61. scitex/{fig → canvas}/io/__init__.py +32 -38
  62. scitex/{fig → canvas}/io/_bundle.py +217 -154
  63. scitex/{fig → canvas}/io/_canvas.py +1 -1
  64. scitex/{fig → canvas}/io/_data.py +1 -1
  65. scitex/{fig → canvas}/io/_export.py +1 -1
  66. scitex/{fig → canvas}/io/_load.py +1 -1
  67. scitex/{fig → canvas}/io/_panel.py +1 -1
  68. scitex/{fig → canvas}/io/_save.py +1 -1
  69. scitex/canvas/mcp_server.py +151 -0
  70. scitex/{fig → canvas}/model/__init__.py +1 -1
  71. scitex/{fig → canvas}/model/_annotations.py +1 -1
  72. scitex/{fig → canvas}/model/_axes.py +1 -1
  73. scitex/{fig → canvas}/model/_figure.py +1 -1
  74. scitex/{fig → canvas}/model/_guides.py +1 -1
  75. scitex/{fig → canvas}/model/_plot.py +1 -1
  76. scitex/{fig → canvas}/model/_styles.py +1 -1
  77. scitex/{fig → canvas}/utils/__init__.py +1 -1
  78. scitex/capture/mcp_server.py +41 -12
  79. scitex/cli/audio.py +233 -0
  80. scitex/cli/capture.py +307 -0
  81. scitex/cli/convert.py +10 -6
  82. scitex/cli/main.py +27 -4
  83. scitex/cli/repro.py +233 -0
  84. scitex/cli/resource.py +240 -0
  85. scitex/cli/stats.py +325 -0
  86. scitex/cli/template.py +236 -0
  87. scitex/cli/tex.py +286 -0
  88. scitex/cli/web.py +11 -12
  89. scitex/dev/__init__.py +3 -0
  90. scitex/dev/_pyproject.py +405 -0
  91. scitex/dev/plt/__init__.py +2 -2
  92. scitex/dev/plt/mpl/get_dir_ax.py +1 -1
  93. scitex/dev/plt/mpl/get_signatures.py +1 -1
  94. scitex/dev/plt/mpl/get_signatures_details.py +1 -1
  95. scitex/diagram/README.md +7 -7
  96. scitex/diagram/_mcp_handlers.py +400 -0
  97. scitex/diagram/_mcp_tool_schemas.py +157 -0
  98. scitex/diagram/mcp_server.py +151 -0
  99. scitex/dsp/_demo_sig.py +51 -5
  100. scitex/dsp/_mne.py +13 -2
  101. scitex/dsp/_modulation_index.py +15 -3
  102. scitex/dsp/_pac.py +23 -5
  103. scitex/dsp/_psd.py +16 -4
  104. scitex/dsp/_resample.py +24 -4
  105. scitex/dsp/_transform.py +16 -3
  106. scitex/dsp/add_noise.py +15 -1
  107. scitex/dsp/norm.py +17 -2
  108. scitex/dsp/reference.py +17 -1
  109. scitex/dsp/utils/_differential_bandpass_filters.py +20 -2
  110. scitex/dsp/utils/_zero_pad.py +18 -4
  111. scitex/dt/_normalize_timestamp.py +1 -1
  112. scitex/git/_session.py +1 -1
  113. scitex/io/__init__.py +7 -19
  114. scitex/io/_load.py +15 -19
  115. scitex/io/_load_modules/_canvas.py +2 -2
  116. scitex/io/_load_modules/_con.py +17 -6
  117. scitex/io/_load_modules/_eeg.py +28 -13
  118. scitex/io/_load_modules/_optuna.py +21 -63
  119. scitex/io/_load_modules/_torch.py +11 -3
  120. scitex/io/_save.py +11 -16
  121. scitex/io/_save_modules/__init__.py +6 -10
  122. scitex/io/_save_modules/_canvas.py +3 -3
  123. scitex/io/_save_modules/_optuna_study_as_csv_and_pngs.py +13 -2
  124. scitex/io/_save_modules/_plot_bundle.py +112 -0
  125. scitex/io/_save_modules/{_pltz_stx.py → _plot_scitex.py} +7 -7
  126. scitex/io/_save_modules/_stx_bundle.py +16 -16
  127. scitex/io/_save_modules/_torch.py +11 -3
  128. scitex/io/bundle/README.md +89 -80
  129. scitex/{fts/_bundle/_FTS.py → io/bundle/_Bundle.py} +197 -95
  130. scitex/io/bundle/__init__.py +67 -35
  131. scitex/{fts/_bundle → io/bundle}/_children.py +32 -40
  132. scitex/io/bundle/_core.py +184 -97
  133. scitex/{fts/_bundle/_dataclasses/_Node.py → io/bundle/_dataclasses/_Spec.py} +29 -23
  134. scitex/{fts/_bundle/_dataclasses/_NodeRefs.py → io/bundle/_dataclasses/_SpecRefs.py} +6 -6
  135. scitex/{fts/_bundle → io/bundle}/_dataclasses/__init__.py +4 -4
  136. scitex/{fts/_bundle → io/bundle}/_loader.py +19 -19
  137. scitex/io/bundle/_manifest.py +99 -0
  138. scitex/{fts/_bundle → io/bundle}/_mpl_helpers.py +119 -28
  139. scitex/io/bundle/_nested.py +113 -100
  140. scitex/{fts/_bundle → io/bundle}/_saver.py +13 -14
  141. scitex/{fts/_bundle → io/bundle}/_storage.py +3 -3
  142. scitex/io/bundle/_types.py +41 -16
  143. scitex/{fts/_bundle → io/bundle}/_validation.py +20 -18
  144. scitex/io/bundle/_zip.py +21 -31
  145. scitex/{fts/_kinds → io/bundle/kinds}/_plot/_backend/_parser.py +1 -1
  146. scitex/{fts/_kinds → io/bundle/kinds}/_plot/_models/_Annotations.py +1 -1
  147. scitex/{fts/_kinds → io/bundle/kinds}/_plot/_models/_Axes.py +1 -1
  148. scitex/{fts/_kinds → io/bundle/kinds}/_plot/_models/_Figure.py +1 -1
  149. scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_Guides.py +1 -1
  150. scitex/{fts/_kinds → io/bundle/kinds}/_plot/_models/_Plot.py +1 -1
  151. scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_Styles.py +1 -1
  152. scitex/{fts/_kinds → io/bundle/kinds}/_plot/_utils/_plot_layout.py +1 -1
  153. scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/__init__.py +1 -1
  154. scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_editor/_app.py +1 -1
  155. scitex/{fts/_tables → io/bundle/kinds/_table}/_latex/_export.py +1 -1
  156. scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_figure_exporter.py +1 -1
  157. scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_table_exporter.py +1 -1
  158. scitex/io/bundle/schemas/__init__.py +30 -0
  159. scitex/mcp_server.py +159 -0
  160. scitex/parallel/_run.py +5 -4
  161. scitex/path/_find.py +60 -83
  162. scitex/path/_get_module_path.py +23 -21
  163. scitex/path/_get_spath.py +6 -27
  164. scitex/path/_getsize.py +23 -9
  165. scitex/path/_increment_version.py +31 -38
  166. scitex/path/_mk_spath.py +26 -29
  167. scitex/path/_path.py +5 -12
  168. scitex/path/_split.py +27 -15
  169. scitex/path/_this_path.py +23 -9
  170. scitex/plt/_mcp_handlers.py +361 -0
  171. scitex/plt/_mcp_tool_schemas.py +169 -0
  172. scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/__init__.py +2 -1
  173. scitex/plt/_subplots/_AxisWrapperMixins/__init__.py +2 -2
  174. scitex/plt/gallery/_generate.py +76 -50
  175. scitex/plt/io/__init__.py +17 -19
  176. scitex/plt/io/_bundle.py +99 -52
  177. scitex/plt/io/_layered_bundle.py +303 -168
  178. scitex/plt/mcp_server.py +205 -0
  179. scitex/plt/utils/_csv_column_naming.py +250 -118
  180. scitex/repro/README_RandomStateManager.md +3 -3
  181. scitex/repro/_RandomStateManager.py +14 -14
  182. scitex/repro/_gen_ID.py +1 -1
  183. scitex/repro/_gen_timestamp.py +1 -1
  184. scitex/repro/_hash_array.py +4 -4
  185. scitex/schema/__init__.py +69 -73
  186. scitex/schema/_canvas.py +1 -1
  187. scitex/schema/_stats.py +2 -2
  188. scitex/scholar/__main__.py +24 -2
  189. scitex/scholar/_mcp_handlers.py +685 -0
  190. scitex/scholar/_mcp_tool_schemas.py +339 -0
  191. scitex/scholar/docs/template.py +1 -1
  192. scitex/scholar/examples/07_storage_integration.py +1 -1
  193. scitex/scholar/impact_factor/jcr/ImpactFactorJCREngine.py +1 -1
  194. scitex/scholar/impact_factor/jcr/build_database.py +1 -1
  195. scitex/scholar/mcp_server.py +315 -0
  196. scitex/scholar/pdf_download/ScholarPDFDownloader.py +1 -1
  197. scitex/scholar/pipelines/ScholarPipelineBibTeX.py +1 -1
  198. scitex/scholar/pipelines/ScholarPipelineParallel.py +1 -1
  199. scitex/scholar/pipelines/ScholarPipelineSingle.py +1 -1
  200. scitex/scholar/storage/PaperIO.py +1 -1
  201. scitex/session/README.md +4 -4
  202. scitex/session/__init__.py +1 -1
  203. scitex/session/_decorator.py +9 -9
  204. scitex/session/_lifecycle.py +5 -5
  205. scitex/session/template.py +1 -1
  206. scitex/stats/__init__.py +30 -33
  207. scitex/stats/__main__.py +281 -0
  208. scitex/stats/_mcp_handlers.py +1191 -0
  209. scitex/stats/_mcp_tool_schemas.py +384 -0
  210. scitex/stats/_schema.py +1 -1
  211. scitex/stats/correct/_correct_bonferroni.py +1 -1
  212. scitex/stats/correct/_correct_fdr.py +1 -1
  213. scitex/stats/correct/_correct_fdr_.py +1 -1
  214. scitex/stats/correct/_correct_holm.py +1 -1
  215. scitex/stats/correct/_correct_sidak.py +1 -1
  216. scitex/stats/effect_sizes/_cliffs_delta.py +1 -1
  217. scitex/stats/effect_sizes/_cohens_d.py +1 -1
  218. scitex/stats/effect_sizes/_epsilon_squared.py +1 -1
  219. scitex/stats/effect_sizes/_eta_squared.py +1 -1
  220. scitex/stats/effect_sizes/_prob_superiority.py +1 -1
  221. scitex/stats/io/__init__.py +10 -11
  222. scitex/stats/io/_bundle.py +16 -16
  223. scitex/stats/mcp_server.py +405 -0
  224. scitex/stats/posthoc/_dunnett.py +1 -1
  225. scitex/stats/posthoc/_games_howell.py +1 -1
  226. scitex/stats/posthoc/_tukey_hsd.py +1 -1
  227. scitex/stats/power/_power.py +1 -1
  228. scitex/stats/utils/_effect_size.py +1 -1
  229. scitex/stats/utils/_formatters.py +1 -1
  230. scitex/stats/utils/_power.py +1 -1
  231. scitex/template/_mcp_handlers.py +259 -0
  232. scitex/template/_mcp_tool_schemas.py +112 -0
  233. scitex/template/mcp_server.py +186 -0
  234. scitex/utils/_verify_scitex_format.py +2 -2
  235. scitex/utils/template.py +1 -1
  236. scitex/web/__init__.py +12 -11
  237. scitex/web/_scraping.py +26 -265
  238. scitex/web/download_images.py +316 -0
  239. scitex/writer/Writer.py +1 -1
  240. scitex/writer/_clone_writer_project.py +1 -1
  241. scitex/writer/_validate_tree_structures.py +1 -1
  242. scitex/writer/dataclasses/config/_WriterConfig.py +1 -1
  243. scitex/writer/dataclasses/contents/_ManuscriptContents.py +1 -1
  244. scitex/writer/dataclasses/core/_Document.py +1 -1
  245. scitex/writer/dataclasses/core/_DocumentSection.py +1 -1
  246. scitex/writer/dataclasses/results/_CompilationResult.py +1 -1
  247. scitex/writer/dataclasses/results/_LaTeXIssue.py +1 -1
  248. scitex/writer/utils/.legacy_git_retry.py +7 -5
  249. scitex/writer/utils/_parse_latex_logs.py +1 -1
  250. scitex-2.13.0.dist-info/METADATA +1231 -0
  251. {scitex-2.10.3.dist-info → scitex-2.13.0.dist-info}/RECORD +376 -470
  252. scitex-2.13.0.dist-info/entry_points.txt +11 -0
  253. scitex/fig/editor/_defaults.py +0 -300
  254. scitex/fig/editor/edit/panel_loader.py +0 -232
  255. scitex/fig/editor/flask_editor/_bbox.py +0 -1299
  256. scitex/fig/editor/flask_editor/_core.py +0 -1429
  257. scitex/fig/editor/flask_editor/_renderer.py +0 -813
  258. scitex/fig/editor/flask_editor/static/css/features/canvas.css +0 -176
  259. scitex/fts/README.md +0 -262
  260. scitex/fts/TODO.md +0 -66
  261. scitex/fts/__init__.py +0 -90
  262. scitex/fts/_bundle/README_IN_BUNDLE.md +0 -102
  263. scitex/fts/_bundle/__init__.py +0 -38
  264. scitex/fts/_bundle/_utils/__init__.py +0 -55
  265. scitex/fts/_bundle/_utils/_const.py +0 -26
  266. scitex/fts/_bundle/_utils/_errors.py +0 -73
  267. scitex/fts/_bundle/_utils/_generate.py +0 -21
  268. scitex/fts/_bundle/_utils/_types.py +0 -76
  269. scitex/fts/_bundle/_zipbundle.py +0 -165
  270. scitex/fts/_fig/__init__.py +0 -22
  271. scitex/fts/_fig/_backend/_parser.py +0 -188
  272. scitex/fts/_fig/_editor/__init__.py +0 -14
  273. scitex/fts/_fig/_editor/_cui/__init__.py +0 -33
  274. scitex/fts/_fig/_editor/_cui/_backend_detector.py +0 -39
  275. scitex/fts/_fig/_editor/_cui/_bundle_resolver.py +0 -366
  276. scitex/fts/_fig/_editor/_cui/_editor_launcher.py +0 -175
  277. scitex/fts/_fig/_editor/_cui/_manual_handler.py +0 -52
  278. scitex/fts/_fig/_editor/_cui/_path_resolver.py +0 -66
  279. scitex/fts/_fig/_editor/_gui/__init__.py +0 -11
  280. scitex/fts/_fig/_editor/_gui/_flask_editor/__init__.py +0 -20
  281. scitex/fts/_fig/_editor/_gui/_flask_editor/_plotter.py +0 -664
  282. scitex/fts/_fig/_editor/_gui/_flask_editor/_utils.py +0 -79
  283. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/base/reset.css +0 -41
  284. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/base/typography.css +0 -16
  285. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/base/variables.css +0 -85
  286. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/components/buttons.css +0 -217
  287. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/components/context-menu.css +0 -93
  288. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/components/dropdown.css +0 -57
  289. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/components/forms.css +0 -112
  290. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/components/modal.css +0 -59
  291. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/components/sections.css +0 -212
  292. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/features/element-inspector.css +0 -190
  293. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/features/loading.css +0 -59
  294. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/features/overlay.css +0 -45
  295. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/features/panel-grid.css +0 -95
  296. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/features/selection.css +0 -101
  297. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/features/statistics.css +0 -138
  298. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/index.css +0 -31
  299. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/layout/container.css +0 -7
  300. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/layout/controls.css +0 -56
  301. scitex/fts/_fig/_editor/_gui/_flask_editor/static/css/layout/preview.css +0 -78
  302. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/alignment/axis.js +0 -314
  303. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/alignment/basic.js +0 -107
  304. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/alignment/distribute.js +0 -54
  305. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/canvas/canvas.js +0 -172
  306. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/canvas/dragging.js +0 -258
  307. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/canvas/resize.js +0 -48
  308. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/canvas/selection.js +0 -71
  309. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/core/api.js +0 -288
  310. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/core/state.js +0 -143
  311. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/core/utils.js +0 -245
  312. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/dev/element-inspector.js +0 -992
  313. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/editor/bbox.js +0 -339
  314. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/editor/element-drag.js +0 -286
  315. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/editor/overlay.js +0 -371
  316. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/editor/preview.js +0 -293
  317. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/main.js +0 -426
  318. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/shortcuts/context-menu.js +0 -152
  319. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/shortcuts/keyboard.js +0 -265
  320. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/ui/controls.js +0 -184
  321. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/ui/download.js +0 -57
  322. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/ui/help.js +0 -100
  323. scitex/fts/_fig/_editor/_gui/_flask_editor/static/js/ui/theme.js +0 -34
  324. scitex/fts/_fig/_editor/_gui/_flask_editor/templates/__init__.py +0 -124
  325. scitex/fts/_fig/_editor/_gui/_flask_editor/templates/_html.py +0 -851
  326. scitex/fts/_fig/_editor/_gui/_flask_editor/templates/_scripts.py +0 -4932
  327. scitex/fts/_fig/_editor/_gui/_flask_editor/templates/_styles.py +0 -1657
  328. scitex/fts/_fig/_editor/_gui/_flask_editor.py +0 -36
  329. scitex/fts/_fig/_models/_Annotations.py +0 -115
  330. scitex/fts/_fig/_models/_Axes.py +0 -152
  331. scitex/fts/_fig/_models/_Figure.py +0 -138
  332. scitex/fts/_fig/_models/_Plot.py +0 -123
  333. scitex/fts/_fig/_utils/_plot_layout.py +0 -397
  334. scitex/fts/_kinds/_figure/_composite.py +0 -345
  335. scitex/fts/_kinds/_plot/_backend/__init__.py +0 -53
  336. scitex/fts/_kinds/_plot/_backend/_export.py +0 -165
  337. scitex/fts/_kinds/_plot/_backend/_render.py +0 -538
  338. scitex/fts/_kinds/_plot/_dataclasses/_ChannelEncoding.py +0 -46
  339. scitex/fts/_kinds/_plot/_dataclasses/_Encoding.py +0 -82
  340. scitex/fts/_kinds/_plot/_dataclasses/_Theme.py +0 -441
  341. scitex/fts/_kinds/_plot/_dataclasses/_TraceEncoding.py +0 -52
  342. scitex/fts/_kinds/_plot/_dataclasses/__init__.py +0 -47
  343. scitex/fts/_kinds/_plot/_models/_Guides.py +0 -104
  344. scitex/fts/_kinds/_plot/_models/_Styles.py +0 -245
  345. scitex/fts/_kinds/_plot/_models/__init__.py +0 -80
  346. scitex/fts/_kinds/_plot/_models/_plot_types/__init__.py +0 -156
  347. scitex/fts/_kinds/_plot/_models/_plot_types/_bar.py +0 -43
  348. scitex/fts/_kinds/_plot/_models/_plot_types/_box.py +0 -38
  349. scitex/fts/_kinds/_plot/_models/_plot_types/_distribution.py +0 -36
  350. scitex/fts/_kinds/_plot/_models/_plot_types/_errorbar.py +0 -60
  351. scitex/fts/_kinds/_plot/_models/_plot_types/_histogram.py +0 -30
  352. scitex/fts/_kinds/_plot/_models/_plot_types/_image.py +0 -61
  353. scitex/fts/_kinds/_plot/_models/_plot_types/_line.py +0 -57
  354. scitex/fts/_kinds/_plot/_models/_plot_types/_scatter.py +0 -30
  355. scitex/fts/_kinds/_plot/_models/_plot_types/_seaborn.py +0 -121
  356. scitex/fts/_kinds/_plot/_models/_plot_types/_violin.py +0 -36
  357. scitex/fts/_kinds/_plot/_utils/__init__.py +0 -129
  358. scitex/fts/_kinds/_plot/_utils/_auto_layout.py +0 -127
  359. scitex/fts/_kinds/_plot/_utils/_calc_bounds.py +0 -111
  360. scitex/fts/_kinds/_plot/_utils/_const_sizes.py +0 -48
  361. scitex/fts/_kinds/_plot/_utils/_convert_coords.py +0 -77
  362. scitex/fts/_kinds/_plot/_utils/_get_template.py +0 -178
  363. scitex/fts/_kinds/_plot/_utils/_normalize.py +0 -73
  364. scitex/fts/_kinds/_plot/_utils/_validate.py +0 -197
  365. scitex/fts/_kinds/_table/_latex/_export.py +0 -279
  366. scitex/fts/_stats/__init__.py +0 -48
  367. scitex/fts/_stats/_dataclasses/_Stats.py +0 -423
  368. scitex/fts/_stats/_dataclasses/__init__.py +0 -48
  369. scitex/fts/_tables/__init__.py +0 -65
  370. scitex/fts/_tables/_latex/__init__.py +0 -93
  371. scitex/fts/_tables/_latex/_editor/__init__.py +0 -11
  372. scitex/fts/_tables/_latex/_editor/_app.py +0 -725
  373. scitex/fts/_tables/_latex/_figure_exporter.py +0 -153
  374. scitex/fts/_tables/_latex/_stats_formatter.py +0 -274
  375. scitex/fts/_tables/_latex/_table_exporter.py +0 -362
  376. scitex/fts/_tables/_latex/_utils.py +0 -369
  377. scitex/fts/_tables/_latex/_validator.py +0 -445
  378. scitex/io/_save_modules/_pltz_bundle.py +0 -356
  379. scitex-2.10.3.dist-info/METADATA +0 -952
  380. scitex-2.10.3.dist-info/entry_points.txt +0 -2
  381. /scitex/{fig → canvas}/README.md +0 -0
  382. /scitex/{fig → canvas}/backend/__init__.py +0 -0
  383. /scitex/{fig → canvas}/backend/_export.py +0 -0
  384. /scitex/{fig → canvas}/backend/_render.py +0 -0
  385. /scitex/{fig → canvas}/docs/CANVAS_ARCHITECTURE.md +0 -0
  386. /scitex/{fig → canvas}/editor/__init__.py +0 -0
  387. /scitex/{fig → canvas}/editor/_dearpygui_editor.py +0 -0
  388. /scitex/{fig → canvas}/editor/_flask_editor.py +0 -0
  389. /scitex/{fig → canvas}/editor/_mpl_editor.py +0 -0
  390. /scitex/{fig → canvas}/editor/_qt_editor.py +0 -0
  391. /scitex/{fig → canvas}/editor/_tkinter_editor.py +0 -0
  392. /scitex/{fig → canvas}/editor/edit/backend_detector.py +0 -0
  393. /scitex/{fig → canvas}/editor/edit/manual_handler.py +0 -0
  394. /scitex/{fig → canvas}/editor/edit/path_resolver.py +0 -0
  395. /scitex/{fig → canvas}/editor/flask_editor/__init__.py +0 -0
  396. /scitex/{fig → canvas}/editor/flask_editor/_plotter.py +0 -0
  397. /scitex/{fig → canvas}/editor/flask_editor/_utils.py +0 -0
  398. /scitex/{fig → canvas}/editor/flask_editor/static/css/base/reset.css +0 -0
  399. /scitex/{fig → canvas}/editor/flask_editor/static/css/base/typography.css +0 -0
  400. /scitex/{fig → canvas}/editor/flask_editor/static/css/base/variables.css +0 -0
  401. /scitex/{fig → canvas}/editor/flask_editor/static/css/components/buttons.css +0 -0
  402. /scitex/{fig → canvas}/editor/flask_editor/static/css/components/context-menu.css +0 -0
  403. /scitex/{fig → canvas}/editor/flask_editor/static/css/components/dropdown.css +0 -0
  404. /scitex/{fig → canvas}/editor/flask_editor/static/css/components/forms.css +0 -0
  405. /scitex/{fig → canvas}/editor/flask_editor/static/css/components/modal.css +0 -0
  406. /scitex/{fig → canvas}/editor/flask_editor/static/css/components/sections.css +0 -0
  407. /scitex/{fig → canvas}/editor/flask_editor/static/css/features/element-inspector.css +0 -0
  408. /scitex/{fig → canvas}/editor/flask_editor/static/css/features/loading.css +0 -0
  409. /scitex/{fig → canvas}/editor/flask_editor/static/css/features/overlay.css +0 -0
  410. /scitex/{fig → canvas}/editor/flask_editor/static/css/features/selection.css +0 -0
  411. /scitex/{fig → canvas}/editor/flask_editor/static/css/features/statistics.css +0 -0
  412. /scitex/{fig → canvas}/editor/flask_editor/static/css/index.css +0 -0
  413. /scitex/{fig → canvas}/editor/flask_editor/static/css/layout/container.css +0 -0
  414. /scitex/{fig → canvas}/editor/flask_editor/static/css/layout/controls.css +0 -0
  415. /scitex/{fig → canvas}/editor/flask_editor/static/css/layout/preview.css +0 -0
  416. /scitex/{fig → canvas}/editor/flask_editor/static/js/alignment/axis.js +0 -0
  417. /scitex/{fig → canvas}/editor/flask_editor/static/js/alignment/basic.js +0 -0
  418. /scitex/{fig → canvas}/editor/flask_editor/static/js/alignment/distribute.js +0 -0
  419. /scitex/{fig → canvas}/editor/flask_editor/static/js/canvas/canvas.js +0 -0
  420. /scitex/{fig → canvas}/editor/flask_editor/static/js/canvas/dragging.js +0 -0
  421. /scitex/{fig → canvas}/editor/flask_editor/static/js/canvas/resize.js +0 -0
  422. /scitex/{fig → canvas}/editor/flask_editor/static/js/canvas/selection.js +0 -0
  423. /scitex/{fig → canvas}/editor/flask_editor/static/js/core/state.js +0 -0
  424. /scitex/{fig → canvas}/editor/flask_editor/static/js/core/utils.js +0 -0
  425. /scitex/{fig → canvas}/editor/flask_editor/static/js/dev/element-inspector.js +0 -0
  426. /scitex/{fig → canvas}/editor/flask_editor/static/js/editor/bbox.js +0 -0
  427. /scitex/{fig → canvas}/editor/flask_editor/static/js/editor/element-drag.js +0 -0
  428. /scitex/{fig → canvas}/editor/flask_editor/static/js/editor/overlay.js +0 -0
  429. /scitex/{fig → canvas}/editor/flask_editor/static/js/main.js +0 -0
  430. /scitex/{fig → canvas}/editor/flask_editor/static/js/shortcuts/context-menu.js +0 -0
  431. /scitex/{fig → canvas}/editor/flask_editor/static/js/shortcuts/keyboard.js +0 -0
  432. /scitex/{fig → canvas}/editor/flask_editor/static/js/ui/controls.js +0 -0
  433. /scitex/{fig → canvas}/editor/flask_editor/static/js/ui/download.js +0 -0
  434. /scitex/{fig → canvas}/editor/flask_editor/static/js/ui/help.js +0 -0
  435. /scitex/{fig → canvas}/editor/flask_editor/static/js/ui/theme.js +0 -0
  436. /scitex/{fig → canvas}/editor/flask_editor/templates/__init__.py +0 -0
  437. /scitex/{fig → canvas}/io/_directory.py +0 -0
  438. /scitex/{fig → canvas}/model/_plot_types.py +0 -0
  439. /scitex/{fig → canvas}/utils/_defaults.py +0 -0
  440. /scitex/{fig → canvas}/utils/_validate.py +0 -0
  441. /scitex/{fts/_bundle → io/bundle}/_conversion/__init__.py +0 -0
  442. /scitex/{fts/_bundle → io/bundle}/_conversion/_bundle2dict.py +0 -0
  443. /scitex/{fts/_bundle → io/bundle}/_conversion/_dict2bundle.py +0 -0
  444. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_Axes.py +0 -0
  445. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_BBox.py +0 -0
  446. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_ColumnDef.py +0 -0
  447. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_DataFormat.py +0 -0
  448. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_DataInfo.py +0 -0
  449. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_DataSource.py +0 -0
  450. /scitex/{fts/_bundle → io/bundle}/_dataclasses/_SizeMM.py +0 -0
  451. /scitex/{fts/_bundle → io/bundle}/_extractors/__init__.py +0 -0
  452. /scitex/{fts/_bundle → io/bundle}/_extractors/_extract_bar.py +0 -0
  453. /scitex/{fts/_bundle → io/bundle}/_extractors/_extract_line.py +0 -0
  454. /scitex/{fts/_bundle → io/bundle}/_extractors/_extract_scatter.py +0 -0
  455. /scitex/{fts/_kinds → io/bundle/kinds}/__init__.py +0 -0
  456. /scitex/{fts/_kinds → io/bundle/kinds}/_figure/__init__.py +0 -0
  457. /scitex/{fts/_fig → io/bundle/kinds/_figure}/_composite.py +0 -0
  458. /scitex/{fts/_kinds → io/bundle/kinds}/_plot/__init__.py +0 -0
  459. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_backend/__init__.py +0 -0
  460. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_backend/_export.py +0 -0
  461. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_backend/_render.py +0 -0
  462. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_dataclasses/_ChannelEncoding.py +0 -0
  463. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_dataclasses/_Encoding.py +0 -0
  464. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_dataclasses/_Theme.py +0 -0
  465. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_dataclasses/_TraceEncoding.py +0 -0
  466. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_dataclasses/__init__.py +0 -0
  467. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/__init__.py +0 -0
  468. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/__init__.py +0 -0
  469. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_bar.py +0 -0
  470. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_box.py +0 -0
  471. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_distribution.py +0 -0
  472. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_errorbar.py +0 -0
  473. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_histogram.py +0 -0
  474. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_image.py +0 -0
  475. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_line.py +0 -0
  476. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_scatter.py +0 -0
  477. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_seaborn.py +0 -0
  478. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_models/_plot_types/_violin.py +0 -0
  479. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/__init__.py +0 -0
  480. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_auto_layout.py +0 -0
  481. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_calc_bounds.py +0 -0
  482. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_const_sizes.py +0 -0
  483. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_convert_coords.py +0 -0
  484. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_get_template.py +0 -0
  485. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_normalize.py +0 -0
  486. /scitex/{fts/_fig → io/bundle/kinds/_plot}/_utils/_validate.py +0 -0
  487. /scitex/{fts/_kinds → io/bundle/kinds}/_shape/__init__.py +0 -0
  488. /scitex/{fts/_kinds → io/bundle/kinds}/_stats/__init__.py +0 -0
  489. /scitex/{fts/_kinds → io/bundle/kinds}/_stats/_dataclasses/_Stats.py +0 -0
  490. /scitex/{fts/_kinds → io/bundle/kinds}/_stats/_dataclasses/__init__.py +0 -0
  491. /scitex/{fts/_kinds → io/bundle/kinds}/_table/__init__.py +0 -0
  492. /scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_editor/__init__.py +0 -0
  493. /scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_stats_formatter.py +0 -0
  494. /scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_utils.py +0 -0
  495. /scitex/{fts/_kinds → io/bundle/kinds}/_table/_latex/_validator.py +0 -0
  496. /scitex/{fts/_kinds → io/bundle/kinds}/_text/__init__.py +0 -0
  497. /scitex/{fts/_schemas → io/bundle/schemas}/data_info.schema.json +0 -0
  498. /scitex/{fts/_schemas → io/bundle/schemas}/encoding.schema.json +0 -0
  499. /scitex/{fts/_schemas → io/bundle/schemas}/node.schema.json +0 -0
  500. /scitex/{fts/_schemas → io/bundle/schemas}/render_manifest.schema.json +0 -0
  501. /scitex/{fts/_schemas → io/bundle/schemas}/stats.schema.json +0 -0
  502. /scitex/{fts/_schemas → io/bundle/schemas}/theme.schema.json +0 -0
  503. {scitex-2.10.3.dist-info → scitex-2.13.0.dist-info}/WHEEL +0 -0
  504. {scitex-2.10.3.dist-info → scitex-2.13.0.dist-info}/licenses/LICENSE +0 -0
@@ -14,7 +14,7 @@ __DIR__ = os.path.dirname(__FILE__)
14
14
  Clean, simple RandomStateManager for scientific reproducibility.
15
15
 
16
16
  Main API:
17
- rng_manager = RandomStateManager(seed=42) # Create instance
17
+ rng = RandomStateManager(seed=42) # Create instance
18
18
  gen = rng("name") # Get named generator
19
19
  rng.verify(obj, "name") # Verify reproducibility
20
20
  """
@@ -44,11 +44,11 @@ class RandomStateManager:
44
44
  >>> import scitex as stx
45
45
  >>>
46
46
  >>> # Method 1: Direct usage
47
- >>> rng_manager = stx.rng.RandomStateManager(seed=42)
47
+ >>> rng = stx.rng.RandomStateManager(seed=42)
48
48
  >>> data = rng("data").random(100)
49
49
  >>>
50
50
  >>> # Method 2: From session.start
51
- >>> CONFIG, stdout, stderr, plt, CC, rng_manager = stx.session.start(seed=42)
51
+ >>> CONFIG, stdout, stderr, plt, CC, rng = stx.session.start(seed=42)
52
52
  >>> model = rng("model").normal(size=(10, 10))
53
53
  >>>
54
54
  >>> # Verify reproducibility
@@ -98,7 +98,7 @@ class RandomStateManager:
98
98
  np.random.seed(self.seed)
99
99
  # Also set default_rng for new API
100
100
  self._np = np
101
- self._np_default_rng_manager = np.random.default_rng(self.seed)
101
+ self._np_default_rng = np.random.default_rng(self.seed)
102
102
  fixed_modules.append("numpy")
103
103
  except ImportError:
104
104
  self._np = None
@@ -159,7 +159,7 @@ class RandomStateManager:
159
159
 
160
160
  Examples
161
161
  --------
162
- >>> rng_manager = RandomStateManager(42)
162
+ >>> rng = RandomStateManager(42)
163
163
  >>> gen = rng.get_np_generator("data")
164
164
  >>> values = gen.random(100)
165
165
  >>> perm = gen.permutation(100)
@@ -427,7 +427,7 @@ class RandomStateManager:
427
427
 
428
428
  Examples
429
429
  --------
430
- >>> rng_manager = RandomStateManager(42)
430
+ >>> rng = RandomStateManager(42)
431
431
  >>> from sklearn.model_selection import train_test_split
432
432
  >>> X_train, X_test = train_test_split(
433
433
  ... X, test_size=0.2,
@@ -455,7 +455,7 @@ class RandomStateManager:
455
455
 
456
456
  Examples
457
457
  --------
458
- >>> rng_manager = RandomStateManager(42)
458
+ >>> rng = RandomStateManager(42)
459
459
  >>> gen = rng.get_torch_generator("model")
460
460
  >>> torch.randn(5, 5, generator=gen)
461
461
  """
@@ -503,7 +503,7 @@ class RandomStateManager:
503
503
 
504
504
  Examples
505
505
  --------
506
- >>> rng_manager = RandomStateManager(42)
506
+ >>> rng = RandomStateManager(42)
507
507
  >>> rng.clear_cache() # Clear all
508
508
  >>> rng.clear_cache("old_data") # Clear specific
509
509
  >>> rng.clear_cache(["test1", "test2"]) # Clear multiple
@@ -559,7 +559,7 @@ def get(verbose: bool = False) -> RandomStateManager:
559
559
  Examples
560
560
  --------
561
561
  >>> import scitex as stx
562
- >>> rng_manager = stx.rng.get()
562
+ >>> rng = stx.rng.get()
563
563
  >>> data = rng("data").random(100)
564
564
  """
565
565
  global _GLOBAL_INSTANCE
@@ -589,7 +589,7 @@ def reset(seed: int = 42, verbose: bool = False) -> RandomStateManager:
589
589
  Examples
590
590
  --------
591
591
  >>> import scitex as stx
592
- >>> rng_manager = stx.repro.reset(seed=123)
592
+ >>> rng = stx.repro.reset(seed=123)
593
593
  """
594
594
  global _GLOBAL_INSTANCE
595
595
  _GLOBAL_INSTANCE = RandomStateManager(seed, verbose=verbose)
@@ -626,8 +626,8 @@ def main(args):
626
626
  print(f"Seed: {args.seed}")
627
627
 
628
628
  # Get named generators
629
- data_gen = rng_manager("data")
630
- model_gen = rng_manager("model")
629
+ data_gen = rng("data")
630
+ model_gen = rng("model")
631
631
 
632
632
  # Generate data
633
633
  print(f"\n{'Data Generation':-^60}")
@@ -641,7 +641,7 @@ def main(args):
641
641
 
642
642
  # Verify reproducibility
643
643
  print(f"\n{'Verification':-^60}")
644
- rng_manager.verify(data, "demo_data")
644
+ rng.verify(data, "demo_data")
645
645
  print("✓ Data reproducibility verified")
646
646
 
647
647
  print(f"\n{'=' * 60}")
@@ -660,7 +660,7 @@ if __name__ == "__main__":
660
660
 
661
661
  args = parse_args()
662
662
 
663
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
663
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
664
664
  sys,
665
665
  plt,
666
666
  args=args,
scitex/repro/_gen_ID.py CHANGED
@@ -114,7 +114,7 @@ if __name__ == "__main__":
114
114
 
115
115
  args = parse_args()
116
116
 
117
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
117
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
118
118
  sys,
119
119
  plt,
120
120
  args=args,
@@ -91,7 +91,7 @@ if __name__ == "__main__":
91
91
 
92
92
  args = parse_args()
93
93
 
94
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
94
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
95
95
  sys,
96
96
  plt,
97
97
  args=args,
@@ -72,8 +72,8 @@ def main(args):
72
72
  print(f"Array size: {args.size}")
73
73
  print(f"Seed: {args.seed}")
74
74
 
75
- # Generate arrays using rng_manager
76
- gen = rng_manager("demo")
75
+ # Generate arrays using rng
76
+ gen = rng("demo")
77
77
 
78
78
  # Create array and hash it
79
79
  print(f"\n{'Hash Generation':-^60}")
@@ -95,7 +95,7 @@ def main(args):
95
95
 
96
96
  # Reset generator and create same data
97
97
  print(f"\n{'Reproducibility Check':-^60}")
98
- gen_repro = rng_manager("demo") # Same name = same seed
98
+ gen_repro = rng("demo") # Same name = same seed
99
99
  data3 = gen_repro.random(args.size)
100
100
  hash3 = hash_array(data3)
101
101
  print(f"Array 3 hash (reproduced): {hash3}")
@@ -115,7 +115,7 @@ if __name__ == "__main__":
115
115
 
116
116
  args = parse_args()
117
117
 
118
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
118
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
119
119
  sys,
120
120
  plt,
121
121
  args=args,
scitex/schema/__init__.py CHANGED
@@ -5,10 +5,10 @@
5
5
  SciTeX Schema Module - DEPRECATED
6
6
 
7
7
  This module is scheduled for removal. All schemas are being consolidated
8
- in scitex.fts as the single source of truth.
8
+ in scitex.io.bundle as the single source of truth.
9
9
 
10
- For new code, import from scitex.fts:
11
- from scitex.fts import FTS, Node, Encoding, Theme, Stats
10
+ For new code, import from scitex.io.bundle:
11
+ from scitex.io.bundle import FTS, Node, Encoding, Theme, Stats
12
12
 
13
13
  This module exists temporarily for backward compatibility.
14
14
  """
@@ -16,31 +16,28 @@ This module exists temporarily for backward compatibility.
16
16
  import warnings
17
17
 
18
18
  warnings.warn(
19
- "scitex.schema is deprecated. Import from scitex.fts instead. "
19
+ "scitex.schema is deprecated. Import from scitex.io.bundle instead. "
20
20
  "This module will be removed in a future version.",
21
21
  DeprecationWarning,
22
- stacklevel=2
22
+ stacklevel=2,
23
23
  )
24
24
 
25
25
  # Schema version
26
26
  SCHEMA_VERSION = "0.2.0"
27
27
 
28
28
  # =============================================================================
29
- # Re-export from scitex.fts (new single source of truth)
29
+ # Re-export from scitex.io.bundle (new single source of truth)
30
30
  # =============================================================================
31
31
  try:
32
- from scitex.fts import (
33
- # Core bundle classes
32
+ from scitex.io.bundle import ( # Core bundle classes; Encoding and Theme; Stats
34
33
  FTS,
35
- Node,
36
34
  BBox,
37
- SizeMM,
38
35
  DataInfo,
39
- # Encoding and Theme
40
36
  Encoding,
41
- Theme,
42
- # Stats
37
+ Node,
38
+ SizeMM,
43
39
  Stats,
40
+ Theme,
44
41
  )
45
42
  except ImportError:
46
43
  # FTS not fully configured yet
@@ -52,21 +49,10 @@ except ImportError:
52
49
 
53
50
  # =============================================================================
54
51
  # Independent schemas (still defined here temporarily)
55
- # These will be migrated to scitex.fts in subsequent phases
52
+ # These will be migrated to scitex.io.bundle in subsequent phases
56
53
  # =============================================================================
57
54
 
58
55
  # Stats schema (GUI-focused version - to be merged with FTS Stats)
59
- from scitex.schema._stats import (
60
- Position,
61
- PositionMode,
62
- StatPositioning,
63
- StatResult,
64
- StatStyling,
65
- SymbolStyle,
66
- UnitType,
67
- create_stat_result,
68
- )
69
-
70
56
  # Encoding schema
71
57
  from scitex.schema._encoding import (
72
58
  ENCODING_VERSION,
@@ -87,48 +73,58 @@ from scitex.schema._figure_elements import (
87
73
  generate_caption_markdown,
88
74
  )
89
75
 
90
- # Theme schema
91
- from scitex.schema._theme import (
92
- THEME_VERSION,
93
- ColorScheme,
94
- LegendStyle,
95
- LineDefaults,
96
- MarkerDefaults,
97
- PlotTheme,
98
- Typography,
99
- )
100
- from scitex.schema._theme import TraceStyle as ThemeTraceStyle
101
-
102
76
  # Plot schema
103
77
  from scitex.schema._plot import (
104
78
  DPI_FALLBACK,
105
79
  PLOT_GEOMETRY_VERSION,
106
80
  PLOT_SPEC_VERSION,
107
81
  PLOT_STYLE_VERSION,
82
+ AxesLabels,
83
+ AxesLimits,
84
+ AxesSpecItem,
108
85
  BboxPx,
109
86
  BboxRatio,
110
87
  CoordinateSpace,
88
+ DataSourceSpec,
89
+ FontSpec,
90
+ HitRegionEntry,
111
91
  LegendLocation,
92
+ LegendSpec,
93
+ PlotGeometry,
94
+ PlotSpec,
95
+ PlotStyle,
96
+ RenderedArtist,
97
+ RenderedAxes,
98
+ RenderManifest,
99
+ SelectableRegion,
100
+ SizeSpec,
101
+ ThemeSpec,
102
+ TraceSpec,
103
+ TraceStyleSpec,
112
104
  TraceType,
113
105
  )
114
- from scitex.schema._plot import AxesLabels as PltzAxesLabels
115
- from scitex.schema._plot import AxesLimits as PltzAxesLimits
116
- from scitex.schema._plot import AxesSpecItem as PltzAxesItem
117
- from scitex.schema._plot import DataSourceSpec as PltzDataSource
118
- from scitex.schema._plot import FontSpec as PltzFont
119
- from scitex.schema._plot import HitRegionEntry as PltzHitRegion
120
- from scitex.schema._plot import LegendSpec as PltzLegendSpec
121
- from scitex.schema._plot import PlotGeometry as PltzGeometry
122
- from scitex.schema._plot import PlotSpec as PltzSpec
123
- from scitex.schema._plot import PlotStyle as PltzStyle
124
- from scitex.schema._plot import RenderedArtist as PltzRenderedArtist
125
- from scitex.schema._plot import RenderedAxes as PltzRenderedAxes
126
- from scitex.schema._plot import RenderManifest as PltzRenderManifest
127
- from scitex.schema._plot import SelectableRegion as PltzSelectableRegion
128
- from scitex.schema._plot import SizeSpec as PltzSize
129
- from scitex.schema._plot import ThemeSpec as PltzTheme
130
- from scitex.schema._plot import TraceSpec as PltzTraceSpec
131
- from scitex.schema._plot import TraceStyleSpec as PltzTraceStyle
106
+ from scitex.schema._stats import (
107
+ Position,
108
+ PositionMode,
109
+ StatPositioning,
110
+ StatResult,
111
+ StatStyling,
112
+ SymbolStyle,
113
+ UnitType,
114
+ create_stat_result,
115
+ )
116
+
117
+ # Theme schema
118
+ from scitex.schema._theme import (
119
+ THEME_VERSION,
120
+ ColorScheme,
121
+ LegendStyle,
122
+ LineDefaults,
123
+ MarkerDefaults,
124
+ PlotTheme,
125
+ )
126
+ from scitex.schema._theme import TraceStyle as ThemeTraceStyle
127
+ from scitex.schema._theme import Typography
132
128
 
133
129
  # Validation (temporarily keep here)
134
130
  from scitex.schema._validation import (
@@ -164,24 +160,24 @@ __all__ = [
164
160
  "LegendLocation",
165
161
  "BboxRatio",
166
162
  "BboxPx",
167
- "PltzTraceSpec",
168
- "PltzAxesLimits",
169
- "PltzAxesLabels",
170
- "PltzAxesItem",
171
- "PltzDataSource",
172
- "PltzSpec",
173
- "PltzTraceStyle",
174
- "PltzTheme",
175
- "PltzFont",
176
- "PltzSize",
177
- "PltzLegendSpec",
178
- "PltzStyle",
179
- "PltzRenderedArtist",
180
- "PltzRenderedAxes",
181
- "PltzHitRegion",
182
- "PltzSelectableRegion",
183
- "PltzGeometry",
184
- "PltzRenderManifest",
163
+ "TraceSpec",
164
+ "AxesLimits",
165
+ "AxesLabels",
166
+ "AxesSpecItem",
167
+ "DataSourceSpec",
168
+ "PlotSpec",
169
+ "TraceStyleSpec",
170
+ "ThemeSpec",
171
+ "FontSpec",
172
+ "SizeSpec",
173
+ "LegendSpec",
174
+ "PlotStyle",
175
+ "RenderedArtist",
176
+ "RenderedAxes",
177
+ "HitRegionEntry",
178
+ "SelectableRegion",
179
+ "PlotGeometry",
180
+ "RenderManifest",
185
181
  # Encoding
186
182
  "ENCODING_VERSION",
187
183
  "ChannelBinding",
scitex/schema/_canvas.py CHANGED
@@ -327,7 +327,7 @@ class CanvasSpec:
327
327
  Complete specification for a SciTeX canvas.
328
328
 
329
329
  This is the wire format for canvas.json files.
330
- The Canvas class in scitex.fig provides the OO interface.
330
+ The Canvas class in scitex.canvas provides the OO interface.
331
331
 
332
332
  Examples
333
333
  --------
scitex/schema/_stats.py CHANGED
@@ -10,7 +10,7 @@ Statistical Result Schema - Central Source of Truth.
10
10
  This module defines the canonical schema for statistical test results
11
11
  that integrates with:
12
12
  - scitex.plt (TrackingMixin, metadata embedding)
13
- - scitex.fig (JSON serialization, FigureModel)
13
+ - scitex.canvas (JSON serialization, FigureModel)
14
14
  - scitex-cloud GUI (Fabric.js canvas, properties panel, positioning)
15
15
  - scitex.bridge (cross-module adapters)
16
16
 
@@ -272,7 +272,7 @@ class StatResult:
272
272
 
273
273
  This is the central schema for statistical results that integrates with:
274
274
  - scitex.plt: Automatic annotation via TrackingMixin
275
- - scitex.fig: JSON serialization for FigureModel
275
+ - scitex.canvas: JSON serialization for FigureModel
276
276
  - scitex-cloud GUI: Fabric.js canvas positioning and properties panel
277
277
  - scitex.bridge: Cross-module adapters
278
278
 
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
2
  # File: /home/ywatanabe/proj/scitex_repo/src/scitex/scholar/__main__.py
4
3
 
5
4
  """Scholar CLI entry point - Subcommand-based interface.
@@ -8,6 +7,7 @@ Clean interface routing to battle-tested pipeline implementations:
8
7
  - single: Process single paper (DOI or title)
9
8
  - parallel: Process multiple papers in parallel
10
9
  - bibtex: Process papers from BibTeX file
10
+ - mcp: Start MCP server for LLM integration
11
11
  """
12
12
 
13
13
  from __future__ import annotations
@@ -33,6 +33,7 @@ Clean subcommand interface to battle-tested pipelines:
33
33
  single - Process a single paper (DOI or title)
34
34
  parallel - Process multiple papers in parallel
35
35
  bibtex - Process papers from BibTeX file
36
+ mcp - Start MCP server for LLM integration
36
37
 
37
38
  STORAGE: ~/.scitex/scholar/library/
38
39
  MASTER/{8DIGITID}/ - Centralized storage (no duplicates)
@@ -193,6 +194,16 @@ STORAGE: ~/.scitex/scholar/library/
193
194
  help="Base Chrome profile to sync from (default: system)",
194
195
  )
195
196
 
197
+ # ========================================
198
+ # Subcommand: mcp
199
+ # ========================================
200
+ subparsers.add_parser(
201
+ "mcp",
202
+ help="Start MCP server for LLM integration",
203
+ description="Start the MCP (Model Context Protocol) server for Claude/LLM integration",
204
+ formatter_class=argparse.RawDescriptionHelpFormatter,
205
+ )
206
+
196
207
  return parser
197
208
 
198
209
 
@@ -220,7 +231,7 @@ async def run_single_pipeline(args):
220
231
  force=args.force,
221
232
  )
222
233
 
223
- logger.success(f"Single paper pipeline completed")
234
+ logger.success("Single paper pipeline completed")
224
235
  return 0
225
236
 
226
237
 
@@ -288,6 +299,15 @@ async def run_bibtex_pipeline(args):
288
299
  return 0
289
300
 
290
301
 
302
+ async def run_mcp_server():
303
+ """Run MCP server."""
304
+ from .mcp_server import main as mcp_main
305
+
306
+ logger.info("Starting Scholar MCP server...")
307
+ await mcp_main()
308
+ return 0
309
+
310
+
291
311
  async def main_async():
292
312
  """Main async entry point."""
293
313
  parser = create_parser()
@@ -300,6 +320,8 @@ async def main_async():
300
320
  return await run_parallel_pipeline(args)
301
321
  elif args.command == "bibtex":
302
322
  return await run_bibtex_pipeline(args)
323
+ elif args.command == "mcp":
324
+ return await run_mcp_server()
303
325
  else:
304
326
  logger.error(f"Unknown command: {args.command}")
305
327
  return 1