scitex 2.11.0__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 (148) hide show
  1. scitex/__main__.py +24 -5
  2. scitex/__version__.py +1 -1
  3. scitex/_optional_deps.py +33 -0
  4. scitex/ai/classification/reporters/_ClassificationReporter.py +1 -1
  5. scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +2 -2
  6. scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +2 -2
  7. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +2 -2
  8. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +2 -2
  9. scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +2 -2
  10. scitex/ai/classification/timeseries/_normalize_timestamp.py +1 -1
  11. scitex/ai/metrics/_calc_seizure_prediction_metrics.py +1 -1
  12. scitex/ai/plt/_plot_feature_importance.py +1 -1
  13. scitex/ai/plt/_plot_learning_curve.py +1 -1
  14. scitex/ai/plt/_plot_optuna_study.py +1 -1
  15. scitex/ai/plt/_plot_pre_rec_curve.py +1 -1
  16. scitex/ai/plt/_plot_roc_curve.py +1 -1
  17. scitex/ai/plt/_stx_conf_mat.py +1 -1
  18. scitex/ai/training/_LearningCurveLogger.py +1 -1
  19. scitex/audio/mcp_server.py +38 -8
  20. scitex/browser/automation/CookieHandler.py +1 -1
  21. scitex/browser/core/BrowserMixin.py +1 -1
  22. scitex/browser/core/ChromeProfileManager.py +1 -1
  23. scitex/browser/debugging/_browser_logger.py +1 -1
  24. scitex/browser/debugging/_highlight_element.py +1 -1
  25. scitex/browser/debugging/_show_grid.py +1 -1
  26. scitex/browser/interaction/click_center.py +1 -1
  27. scitex/browser/interaction/click_with_fallbacks.py +1 -1
  28. scitex/browser/interaction/close_popups.py +1 -1
  29. scitex/browser/interaction/fill_with_fallbacks.py +1 -1
  30. scitex/browser/pdf/click_download_for_chrome_pdf_viewer.py +1 -1
  31. scitex/browser/pdf/detect_chrome_pdf_viewer.py +1 -1
  32. scitex/browser/stealth/HumanBehavior.py +1 -1
  33. scitex/browser/stealth/StealthManager.py +1 -1
  34. scitex/canvas/_mcp_handlers.py +372 -0
  35. scitex/canvas/_mcp_tool_schemas.py +219 -0
  36. scitex/canvas/mcp_server.py +151 -0
  37. scitex/capture/mcp_server.py +41 -12
  38. scitex/cli/audio.py +233 -0
  39. scitex/cli/capture.py +307 -0
  40. scitex/cli/main.py +27 -4
  41. scitex/cli/repro.py +233 -0
  42. scitex/cli/resource.py +240 -0
  43. scitex/cli/stats.py +325 -0
  44. scitex/cli/template.py +236 -0
  45. scitex/cli/tex.py +286 -0
  46. scitex/cli/web.py +11 -12
  47. scitex/dev/__init__.py +3 -0
  48. scitex/dev/_pyproject.py +405 -0
  49. scitex/dev/plt/__init__.py +2 -2
  50. scitex/dev/plt/mpl/get_dir_ax.py +1 -1
  51. scitex/dev/plt/mpl/get_signatures.py +1 -1
  52. scitex/dev/plt/mpl/get_signatures_details.py +1 -1
  53. scitex/diagram/_mcp_handlers.py +400 -0
  54. scitex/diagram/_mcp_tool_schemas.py +157 -0
  55. scitex/diagram/mcp_server.py +151 -0
  56. scitex/dsp/_demo_sig.py +51 -5
  57. scitex/dsp/_mne.py +13 -2
  58. scitex/dsp/_modulation_index.py +15 -3
  59. scitex/dsp/_pac.py +23 -5
  60. scitex/dsp/_psd.py +16 -4
  61. scitex/dsp/_resample.py +24 -4
  62. scitex/dsp/_transform.py +16 -3
  63. scitex/dsp/add_noise.py +15 -1
  64. scitex/dsp/norm.py +17 -2
  65. scitex/dsp/reference.py +17 -1
  66. scitex/dsp/utils/_differential_bandpass_filters.py +20 -2
  67. scitex/dsp/utils/_zero_pad.py +18 -4
  68. scitex/dt/_normalize_timestamp.py +1 -1
  69. scitex/git/_session.py +1 -1
  70. scitex/io/_load_modules/_con.py +12 -1
  71. scitex/io/_load_modules/_eeg.py +12 -1
  72. scitex/io/_load_modules/_optuna.py +21 -63
  73. scitex/io/_load_modules/_torch.py +11 -3
  74. scitex/io/_save_modules/_optuna_study_as_csv_and_pngs.py +13 -2
  75. scitex/io/_save_modules/_torch.py +11 -3
  76. scitex/mcp_server.py +159 -0
  77. scitex/plt/_mcp_handlers.py +361 -0
  78. scitex/plt/_mcp_tool_schemas.py +169 -0
  79. scitex/plt/mcp_server.py +205 -0
  80. scitex/repro/README_RandomStateManager.md +3 -3
  81. scitex/repro/_RandomStateManager.py +14 -14
  82. scitex/repro/_gen_ID.py +1 -1
  83. scitex/repro/_gen_timestamp.py +1 -1
  84. scitex/repro/_hash_array.py +4 -4
  85. scitex/scholar/__main__.py +24 -2
  86. scitex/scholar/_mcp_handlers.py +685 -0
  87. scitex/scholar/_mcp_tool_schemas.py +339 -0
  88. scitex/scholar/docs/template.py +1 -1
  89. scitex/scholar/examples/07_storage_integration.py +1 -1
  90. scitex/scholar/impact_factor/jcr/ImpactFactorJCREngine.py +1 -1
  91. scitex/scholar/impact_factor/jcr/build_database.py +1 -1
  92. scitex/scholar/mcp_server.py +315 -0
  93. scitex/scholar/pdf_download/ScholarPDFDownloader.py +1 -1
  94. scitex/scholar/pipelines/ScholarPipelineBibTeX.py +1 -1
  95. scitex/scholar/pipelines/ScholarPipelineParallel.py +1 -1
  96. scitex/scholar/pipelines/ScholarPipelineSingle.py +1 -1
  97. scitex/scholar/storage/PaperIO.py +1 -1
  98. scitex/session/README.md +4 -4
  99. scitex/session/__init__.py +1 -1
  100. scitex/session/_decorator.py +9 -9
  101. scitex/session/_lifecycle.py +5 -5
  102. scitex/session/template.py +1 -1
  103. scitex/stats/__main__.py +281 -0
  104. scitex/stats/_mcp_handlers.py +1191 -0
  105. scitex/stats/_mcp_tool_schemas.py +384 -0
  106. scitex/stats/correct/_correct_bonferroni.py +1 -1
  107. scitex/stats/correct/_correct_fdr.py +1 -1
  108. scitex/stats/correct/_correct_fdr_.py +1 -1
  109. scitex/stats/correct/_correct_holm.py +1 -1
  110. scitex/stats/correct/_correct_sidak.py +1 -1
  111. scitex/stats/effect_sizes/_cliffs_delta.py +1 -1
  112. scitex/stats/effect_sizes/_cohens_d.py +1 -1
  113. scitex/stats/effect_sizes/_epsilon_squared.py +1 -1
  114. scitex/stats/effect_sizes/_eta_squared.py +1 -1
  115. scitex/stats/effect_sizes/_prob_superiority.py +1 -1
  116. scitex/stats/mcp_server.py +405 -0
  117. scitex/stats/posthoc/_dunnett.py +1 -1
  118. scitex/stats/posthoc/_games_howell.py +1 -1
  119. scitex/stats/posthoc/_tukey_hsd.py +1 -1
  120. scitex/stats/power/_power.py +1 -1
  121. scitex/stats/utils/_effect_size.py +1 -1
  122. scitex/stats/utils/_formatters.py +1 -1
  123. scitex/stats/utils/_power.py +1 -1
  124. scitex/template/_mcp_handlers.py +259 -0
  125. scitex/template/_mcp_tool_schemas.py +112 -0
  126. scitex/template/mcp_server.py +186 -0
  127. scitex/utils/_verify_scitex_format.py +2 -2
  128. scitex/utils/template.py +1 -1
  129. scitex/web/__init__.py +12 -11
  130. scitex/web/_scraping.py +26 -265
  131. scitex/web/download_images.py +316 -0
  132. scitex/writer/Writer.py +1 -1
  133. scitex/writer/_clone_writer_project.py +1 -1
  134. scitex/writer/_validate_tree_structures.py +1 -1
  135. scitex/writer/dataclasses/config/_WriterConfig.py +1 -1
  136. scitex/writer/dataclasses/contents/_ManuscriptContents.py +1 -1
  137. scitex/writer/dataclasses/core/_Document.py +1 -1
  138. scitex/writer/dataclasses/core/_DocumentSection.py +1 -1
  139. scitex/writer/dataclasses/results/_CompilationResult.py +1 -1
  140. scitex/writer/dataclasses/results/_LaTeXIssue.py +1 -1
  141. scitex/writer/utils/.legacy_git_retry.py +7 -5
  142. scitex/writer/utils/_parse_latex_logs.py +1 -1
  143. {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/METADATA +431 -269
  144. {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/RECORD +147 -118
  145. scitex-2.13.0.dist-info/entry_points.txt +11 -0
  146. scitex-2.11.0.dist-info/entry_points.txt +0 -2
  147. {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/WHEEL +0 -0
  148. {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/licenses/LICENSE +0 -0
scitex/writer/Writer.py CHANGED
@@ -363,7 +363,7 @@ def run_session() -> None:
363
363
 
364
364
  args = parse_args()
365
365
 
366
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
366
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
367
367
  sys,
368
368
  plt,
369
369
  args=args,
@@ -72,7 +72,7 @@ def run_session() -> None:
72
72
 
73
73
  args = parse_args()
74
74
 
75
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
75
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
76
76
  sys,
77
77
  plt,
78
78
  args=args,
@@ -147,7 +147,7 @@ def run_session() -> None:
147
147
 
148
148
  args = parse_args()
149
149
 
150
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
150
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
151
151
  sys,
152
152
  plt,
153
153
  args=args,
@@ -104,7 +104,7 @@ def run_session() -> None:
104
104
 
105
105
  args = parse_args()
106
106
 
107
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
107
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
108
108
  sys,
109
109
  plt,
110
110
  args=args,
@@ -148,7 +148,7 @@ def run_session() -> None:
148
148
 
149
149
  args = parse_args()
150
150
 
151
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
151
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
152
152
  sys,
153
153
  plt,
154
154
  args=args,
@@ -80,7 +80,7 @@ def run_session() -> None:
80
80
 
81
81
  args = parse_args()
82
82
 
83
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
83
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
84
84
  sys,
85
85
  plt,
86
86
  args=args,
@@ -462,7 +462,7 @@ def run_session() -> None:
462
462
 
463
463
  args = parse_args()
464
464
 
465
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
465
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
466
466
  sys,
467
467
  plt,
468
468
  args=args,
@@ -80,7 +80,7 @@ def run_session() -> None:
80
80
 
81
81
  args = parse_args()
82
82
 
83
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
83
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
84
84
  sys,
85
85
  plt,
86
86
  args=args,
@@ -38,7 +38,7 @@ def run_session() -> None:
38
38
 
39
39
  args = parse_args()
40
40
 
41
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
41
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
42
42
  sys,
43
43
  plt,
44
44
  args=args,
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
2
  # Timestamp: "2025-10-28 17:10:52 (ywatanabe)"
4
3
  # File: /home/ywatanabe/proj/scitex-code/src/scitex/writer/git_utils.py
5
4
  # ----------------------------------------
6
5
  from __future__ import annotations
6
+
7
7
  import os
8
8
 
9
9
  __FILE__ = "./src/scitex/writer/git_utils.py"
@@ -16,10 +16,10 @@ Git utilities for Writer.
16
16
  Provides git lock handling and retry logic for concurrent access.
17
17
  """
18
18
 
19
- import time
20
19
  import subprocess
21
- from typing import Callable
22
- from typing import TypeVar
20
+ import time
21
+ from typing import Callable, TypeVar
22
+
23
23
  from scitex.logging import getLogger
24
24
 
25
25
  logger = getLogger(__name__)
@@ -99,12 +99,14 @@ def run_session() -> None:
99
99
  """Initialize scitex framework, run main function, and cleanup."""
100
100
  global CONFIG, CC, sys, plt, rng
101
101
  import sys
102
+
102
103
  import matplotlib.pyplot as plt
104
+
103
105
  import scitex as stx
104
106
 
105
107
  args = parse_args()
106
108
 
107
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
109
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
108
110
  sys,
109
111
  plt,
110
112
  args=args,
@@ -62,7 +62,7 @@ def run_session() -> None:
62
62
 
63
63
  args = parse_args()
64
64
 
65
- CONFIG, sys.stdout, sys.stderr, plt, CC, rng_manager = stx.session.start(
65
+ CONFIG, sys.stdout, sys.stderr, plt, CC, rng = stx.session.start(
66
66
  sys,
67
67
  plt,
68
68
  args=args,