scitex 2.14.0__py3-none-any.whl → 2.15.1__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.
- scitex/__init__.py +47 -0
- scitex/_env_loader.py +156 -0
- scitex/_mcp_resources/__init__.py +37 -0
- scitex/_mcp_resources/_cheatsheet.py +135 -0
- scitex/_mcp_resources/_figrecipe.py +138 -0
- scitex/_mcp_resources/_formats.py +102 -0
- scitex/_mcp_resources/_modules.py +337 -0
- scitex/_mcp_resources/_session.py +149 -0
- scitex/_mcp_tools/__init__.py +4 -0
- scitex/_mcp_tools/audio.py +66 -0
- scitex/_mcp_tools/diagram.py +11 -95
- scitex/_mcp_tools/introspect.py +191 -0
- scitex/_mcp_tools/plt.py +260 -305
- scitex/_mcp_tools/scholar.py +74 -0
- scitex/_mcp_tools/social.py +244 -0
- scitex/_mcp_tools/writer.py +21 -204
- scitex/ai/_gen_ai/_PARAMS.py +10 -7
- scitex/ai/classification/reporters/_SingleClassificationReporter.py +45 -1603
- scitex/ai/classification/reporters/_mixins/__init__.py +36 -0
- scitex/ai/classification/reporters/_mixins/_constants.py +67 -0
- scitex/ai/classification/reporters/_mixins/_cv_summary.py +387 -0
- scitex/ai/classification/reporters/_mixins/_feature_importance.py +119 -0
- scitex/ai/classification/reporters/_mixins/_metrics.py +275 -0
- scitex/ai/classification/reporters/_mixins/_plotting.py +179 -0
- scitex/ai/classification/reporters/_mixins/_reports.py +153 -0
- scitex/ai/classification/reporters/_mixins/_storage.py +160 -0
- scitex/audio/README.md +40 -36
- scitex/audio/__init__.py +127 -59
- scitex/audio/_branding.py +185 -0
- scitex/audio/_mcp/__init__.py +32 -0
- scitex/audio/_mcp/handlers.py +59 -6
- scitex/audio/_mcp/speak_handlers.py +238 -0
- scitex/audio/_relay.py +225 -0
- scitex/audio/engines/elevenlabs_engine.py +6 -1
- scitex/audio/mcp_server.py +228 -75
- scitex/canvas/README.md +1 -1
- scitex/canvas/editor/_dearpygui/__init__.py +25 -0
- scitex/canvas/editor/_dearpygui/_editor.py +147 -0
- scitex/canvas/editor/_dearpygui/_handlers.py +476 -0
- scitex/canvas/editor/_dearpygui/_panels/__init__.py +17 -0
- scitex/canvas/editor/_dearpygui/_panels/_control.py +119 -0
- scitex/canvas/editor/_dearpygui/_panels/_element_controls.py +190 -0
- scitex/canvas/editor/_dearpygui/_panels/_preview.py +43 -0
- scitex/canvas/editor/_dearpygui/_panels/_sections.py +390 -0
- scitex/canvas/editor/_dearpygui/_plotting.py +187 -0
- scitex/canvas/editor/_dearpygui/_rendering.py +504 -0
- scitex/canvas/editor/_dearpygui/_selection.py +295 -0
- scitex/canvas/editor/_dearpygui/_state.py +93 -0
- scitex/canvas/editor/_dearpygui/_utils.py +61 -0
- scitex/canvas/editor/flask_editor/templates/__init__.py +32 -70
- scitex/cli/__init__.py +38 -43
- scitex/cli/audio.py +76 -27
- scitex/cli/capture.py +13 -20
- scitex/cli/introspect.py +443 -0
- scitex/cli/main.py +198 -109
- scitex/cli/mcp.py +60 -34
- scitex/cli/scholar/__init__.py +8 -0
- scitex/cli/scholar/_crossref_scitex.py +296 -0
- scitex/cli/scholar/_fetch.py +25 -3
- scitex/cli/social.py +314 -0
- scitex/cli/writer.py +117 -0
- scitex/config/README.md +1 -1
- scitex/config/__init__.py +16 -2
- scitex/config/_env_registry.py +191 -0
- scitex/diagram/__init__.py +42 -19
- scitex/diagram/mcp_server.py +13 -125
- scitex/introspect/__init__.py +75 -0
- scitex/introspect/_call_graph.py +303 -0
- scitex/introspect/_class_hierarchy.py +163 -0
- scitex/introspect/_core.py +42 -0
- scitex/introspect/_docstring.py +131 -0
- scitex/introspect/_examples.py +113 -0
- scitex/introspect/_imports.py +271 -0
- scitex/introspect/_mcp/__init__.py +37 -0
- scitex/introspect/_mcp/handlers.py +208 -0
- scitex/introspect/_members.py +151 -0
- scitex/introspect/_resolve.py +89 -0
- scitex/introspect/_signature.py +131 -0
- scitex/introspect/_source.py +80 -0
- scitex/introspect/_type_hints.py +172 -0
- scitex/io/bundle/README.md +1 -1
- scitex/mcp_server.py +98 -5
- scitex/plt/__init__.py +248 -550
- scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_wrappers.py +5 -10
- scitex/plt/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
- scitex/plt/gallery/README.md +1 -1
- scitex/plt/utils/_hitmap/__init__.py +82 -0
- scitex/plt/utils/_hitmap/_artist_extraction.py +343 -0
- scitex/plt/utils/_hitmap/_color_application.py +346 -0
- scitex/plt/utils/_hitmap/_color_conversion.py +121 -0
- scitex/plt/utils/_hitmap/_constants.py +40 -0
- scitex/plt/utils/_hitmap/_hitmap_core.py +334 -0
- scitex/plt/utils/_hitmap/_path_extraction.py +357 -0
- scitex/plt/utils/_hitmap/_query.py +113 -0
- scitex/plt/utils/_hitmap.py +46 -1616
- scitex/plt/utils/_metadata/__init__.py +80 -0
- scitex/plt/utils/_metadata/_artists/__init__.py +25 -0
- scitex/plt/utils/_metadata/_artists/_base.py +195 -0
- scitex/plt/utils/_metadata/_artists/_collections.py +356 -0
- scitex/plt/utils/_metadata/_artists/_extract.py +57 -0
- scitex/plt/utils/_metadata/_artists/_images.py +80 -0
- scitex/plt/utils/_metadata/_artists/_lines.py +261 -0
- scitex/plt/utils/_metadata/_artists/_patches.py +247 -0
- scitex/plt/utils/_metadata/_artists/_text.py +106 -0
- scitex/plt/utils/_metadata/_csv.py +416 -0
- scitex/plt/utils/_metadata/_detect.py +225 -0
- scitex/plt/utils/_metadata/_legend.py +127 -0
- scitex/plt/utils/_metadata/_rounding.py +117 -0
- scitex/plt/utils/_metadata/_verification.py +202 -0
- scitex/schema/README.md +1 -1
- scitex/scholar/__init__.py +8 -0
- scitex/scholar/_mcp/crossref_handlers.py +265 -0
- scitex/scholar/core/Scholar.py +63 -1700
- scitex/scholar/core/_mixins/__init__.py +36 -0
- scitex/scholar/core/_mixins/_enrichers.py +270 -0
- scitex/scholar/core/_mixins/_library_handlers.py +100 -0
- scitex/scholar/core/_mixins/_loaders.py +103 -0
- scitex/scholar/core/_mixins/_pdf_download.py +375 -0
- scitex/scholar/core/_mixins/_pipeline.py +312 -0
- scitex/scholar/core/_mixins/_project_handlers.py +125 -0
- scitex/scholar/core/_mixins/_savers.py +69 -0
- scitex/scholar/core/_mixins/_search.py +103 -0
- scitex/scholar/core/_mixins/_services.py +88 -0
- scitex/scholar/core/_mixins/_url_finding.py +105 -0
- scitex/scholar/crossref_scitex.py +367 -0
- scitex/scholar/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
- scitex/scholar/examples/00_run_all.sh +120 -0
- scitex/scholar/jobs/_executors.py +27 -3
- scitex/scholar/pdf_download/ScholarPDFDownloader.py +38 -416
- scitex/scholar/pdf_download/_cli.py +154 -0
- scitex/scholar/pdf_download/strategies/__init__.py +11 -8
- scitex/scholar/pdf_download/strategies/manual_download_fallback.py +80 -3
- scitex/scholar/pipelines/ScholarPipelineBibTeX.py +73 -121
- scitex/scholar/pipelines/ScholarPipelineParallel.py +80 -138
- scitex/scholar/pipelines/ScholarPipelineSingle.py +43 -63
- scitex/scholar/pipelines/_single_steps.py +71 -36
- scitex/scholar/storage/_LibraryManager.py +97 -1695
- scitex/scholar/storage/_mixins/__init__.py +30 -0
- scitex/scholar/storage/_mixins/_bibtex_handlers.py +128 -0
- scitex/scholar/storage/_mixins/_library_operations.py +218 -0
- scitex/scholar/storage/_mixins/_metadata_conversion.py +226 -0
- scitex/scholar/storage/_mixins/_paper_saving.py +456 -0
- scitex/scholar/storage/_mixins/_resolution.py +376 -0
- scitex/scholar/storage/_mixins/_storage_helpers.py +121 -0
- scitex/scholar/storage/_mixins/_symlink_handlers.py +226 -0
- scitex/scholar/url_finder/.tmp/open_url/KNOWN_RESOLVERS.py +462 -0
- scitex/scholar/url_finder/.tmp/open_url/README.md +223 -0
- scitex/scholar/url_finder/.tmp/open_url/_DOIToURLResolver.py +694 -0
- scitex/scholar/url_finder/.tmp/open_url/_OpenURLResolver.py +1160 -0
- scitex/scholar/url_finder/.tmp/open_url/_ResolverLinkFinder.py +344 -0
- scitex/scholar/url_finder/.tmp/open_url/__init__.py +24 -0
- scitex/security/README.md +3 -3
- scitex/session/README.md +1 -1
- scitex/sh/README.md +1 -1
- scitex/social/__init__.py +153 -0
- scitex/social/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
- scitex/template/README.md +1 -1
- scitex/template/clone_writer_directory.py +5 -5
- scitex/writer/README.md +1 -1
- scitex/writer/_mcp/handlers.py +11 -744
- scitex/writer/_mcp/tool_schemas.py +5 -335
- scitex-2.15.1.dist-info/METADATA +648 -0
- {scitex-2.14.0.dist-info → scitex-2.15.1.dist-info}/RECORD +166 -111
- scitex/canvas/editor/flask_editor/templates/_scripts.py +0 -4933
- scitex/canvas/editor/flask_editor/templates/_styles.py +0 -1658
- scitex/dev/plt/data/mpl/PLOTTING_FUNCTIONS.yaml +0 -90
- scitex/dev/plt/data/mpl/PLOTTING_SIGNATURES.yaml +0 -1571
- scitex/dev/plt/data/mpl/PLOTTING_SIGNATURES_DETAILED.yaml +0 -6262
- scitex/dev/plt/data/mpl/SIGNATURES_FLATTENED.yaml +0 -1274
- scitex/dev/plt/data/mpl/dir_ax.txt +0 -459
- scitex/diagram/_compile.py +0 -312
- scitex/diagram/_diagram.py +0 -355
- scitex/diagram/_mcp/__init__.py +0 -4
- scitex/diagram/_mcp/handlers.py +0 -400
- scitex/diagram/_mcp/tool_schemas.py +0 -157
- scitex/diagram/_presets.py +0 -173
- scitex/diagram/_schema.py +0 -182
- scitex/diagram/_split.py +0 -278
- scitex/plt/_mcp/__init__.py +0 -4
- scitex/plt/_mcp/_handlers_annotation.py +0 -102
- scitex/plt/_mcp/_handlers_figure.py +0 -195
- scitex/plt/_mcp/_handlers_plot.py +0 -252
- scitex/plt/_mcp/_handlers_style.py +0 -219
- scitex/plt/_mcp/handlers.py +0 -74
- scitex/plt/_mcp/tool_schemas.py +0 -497
- scitex/plt/mcp_server.py +0 -231
- scitex/scholar/data/.gitkeep +0 -0
- scitex/scholar/data/README.md +0 -44
- scitex/scholar/data/bib_files/bibliography.bib +0 -1952
- scitex/scholar/data/bib_files/neurovista.bib +0 -277
- scitex/scholar/data/bib_files/neurovista_enriched.bib +0 -441
- scitex/scholar/data/bib_files/neurovista_enriched_enriched.bib +0 -441
- scitex/scholar/data/bib_files/neurovista_processed.bib +0 -338
- scitex/scholar/data/bib_files/openaccess.bib +0 -89
- scitex/scholar/data/bib_files/pac-seizure_prediction_enriched.bib +0 -2178
- scitex/scholar/data/bib_files/pac.bib +0 -698
- scitex/scholar/data/bib_files/pac_enriched.bib +0 -1061
- scitex/scholar/data/bib_files/pac_processed.bib +0 -0
- scitex/scholar/data/bib_files/pac_titles.txt +0 -75
- scitex/scholar/data/bib_files/paywalled.bib +0 -98
- scitex/scholar/data/bib_files/related-papers-by-coauthors.bib +0 -58
- scitex/scholar/data/bib_files/related-papers-by-coauthors_enriched.bib +0 -87
- scitex/scholar/data/bib_files/seizure_prediction.bib +0 -694
- scitex/scholar/data/bib_files/seizure_prediction_processed.bib +0 -0
- scitex/scholar/data/bib_files/test_complete_enriched.bib +0 -437
- scitex/scholar/data/bib_files/test_final_enriched.bib +0 -437
- scitex/scholar/data/bib_files/test_seizure.bib +0 -46
- scitex/scholar/data/impact_factor/JCR_IF_2022.xlsx +0 -0
- scitex/scholar/data/impact_factor/JCR_IF_2024.db +0 -0
- scitex/scholar/data/impact_factor/JCR_IF_2024.xlsx +0 -0
- scitex/scholar/data/impact_factor/JCR_IF_2024_v01.db +0 -0
- scitex/scholar/data/impact_factor.db +0 -0
- scitex/scholar/examples/SUGGESTIONS.md +0 -865
- scitex/scholar/examples/dev.py +0 -38
- scitex-2.14.0.dist-info/METADATA +0 -1238
- {scitex-2.14.0.dist-info → scitex-2.15.1.dist-info}/WHEEL +0 -0
- {scitex-2.14.0.dist-info → scitex-2.15.1.dist-info}/entry_points.txt +0 -0
- {scitex-2.14.0.dist-info → scitex-2.15.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
# Timestamp: 2026-01-13
|
|
3
|
-
# File: src/scitex/plt/_mcp/_handlers_style.py
|
|
4
|
-
|
|
5
|
-
"""Style-related MCP handlers for SciTeX plt module."""
|
|
6
|
-
|
|
7
|
-
from __future__ import annotations
|
|
8
|
-
|
|
9
|
-
from typing import Optional
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
async def get_style_handler() -> dict:
|
|
13
|
-
"""Get current SciTeX publication style configuration."""
|
|
14
|
-
try:
|
|
15
|
-
from scitex.plt.styles.presets import get_style
|
|
16
|
-
|
|
17
|
-
style = get_style()
|
|
18
|
-
|
|
19
|
-
return {
|
|
20
|
-
"success": True,
|
|
21
|
-
"style": style,
|
|
22
|
-
"description": "Current SciTeX publication style configuration",
|
|
23
|
-
}
|
|
24
|
-
except Exception as e:
|
|
25
|
-
return {"success": False, "error": str(e)}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
async def set_style_handler(
|
|
29
|
-
axes_width_mm: Optional[float] = None,
|
|
30
|
-
axes_height_mm: Optional[float] = None,
|
|
31
|
-
margin_left_mm: Optional[float] = None,
|
|
32
|
-
margin_right_mm: Optional[float] = None,
|
|
33
|
-
margin_top_mm: Optional[float] = None,
|
|
34
|
-
margin_bottom_mm: Optional[float] = None,
|
|
35
|
-
dpi: Optional[int] = None,
|
|
36
|
-
axis_font_size_pt: Optional[float] = None,
|
|
37
|
-
tick_font_size_pt: Optional[float] = None,
|
|
38
|
-
title_font_size_pt: Optional[float] = None,
|
|
39
|
-
legend_font_size_pt: Optional[float] = None,
|
|
40
|
-
trace_thickness_mm: Optional[float] = None,
|
|
41
|
-
reset: bool = False,
|
|
42
|
-
) -> dict:
|
|
43
|
-
"""Set global style overrides for publication figures."""
|
|
44
|
-
try:
|
|
45
|
-
from scitex.plt.styles.presets import get_style, set_style
|
|
46
|
-
|
|
47
|
-
if reset:
|
|
48
|
-
set_style(None)
|
|
49
|
-
|
|
50
|
-
style_updates = {}
|
|
51
|
-
if axes_width_mm is not None:
|
|
52
|
-
style_updates["axes_width_mm"] = axes_width_mm
|
|
53
|
-
if axes_height_mm is not None:
|
|
54
|
-
style_updates["axes_height_mm"] = axes_height_mm
|
|
55
|
-
if margin_left_mm is not None:
|
|
56
|
-
style_updates["margin_left_mm"] = margin_left_mm
|
|
57
|
-
if margin_right_mm is not None:
|
|
58
|
-
style_updates["margin_right_mm"] = margin_right_mm
|
|
59
|
-
if margin_top_mm is not None:
|
|
60
|
-
style_updates["margin_top_mm"] = margin_top_mm
|
|
61
|
-
if margin_bottom_mm is not None:
|
|
62
|
-
style_updates["margin_bottom_mm"] = margin_bottom_mm
|
|
63
|
-
if dpi is not None:
|
|
64
|
-
style_updates["dpi"] = dpi
|
|
65
|
-
if axis_font_size_pt is not None:
|
|
66
|
-
style_updates["axis_font_size_pt"] = axis_font_size_pt
|
|
67
|
-
if tick_font_size_pt is not None:
|
|
68
|
-
style_updates["tick_font_size_pt"] = tick_font_size_pt
|
|
69
|
-
if title_font_size_pt is not None:
|
|
70
|
-
style_updates["title_font_size_pt"] = title_font_size_pt
|
|
71
|
-
if legend_font_size_pt is not None:
|
|
72
|
-
style_updates["legend_font_size_pt"] = legend_font_size_pt
|
|
73
|
-
if trace_thickness_mm is not None:
|
|
74
|
-
style_updates["trace_thickness_mm"] = trace_thickness_mm
|
|
75
|
-
|
|
76
|
-
if style_updates:
|
|
77
|
-
set_style(style_updates)
|
|
78
|
-
|
|
79
|
-
final_style = get_style()
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
"success": True,
|
|
83
|
-
"updated_parameters": list(style_updates.keys()),
|
|
84
|
-
"style": final_style,
|
|
85
|
-
"message": f"Updated {len(style_updates)} style parameters",
|
|
86
|
-
}
|
|
87
|
-
except Exception as e:
|
|
88
|
-
return {"success": False, "error": str(e)}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
async def list_presets_handler() -> dict:
|
|
92
|
-
"""List available publication style presets."""
|
|
93
|
-
try:
|
|
94
|
-
presets = [
|
|
95
|
-
{
|
|
96
|
-
"name": "SCITEX_STYLE",
|
|
97
|
-
"description": "Default SciTeX publication style",
|
|
98
|
-
"axes_size_mm": "40x28",
|
|
99
|
-
"dpi": 300,
|
|
100
|
-
"font_sizes_pt": {"axis": 7, "tick": 7, "title": 8, "legend": 6},
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"name": "nature",
|
|
104
|
-
"description": "Nature journal style (single column)",
|
|
105
|
-
"axes_size_mm": "89x60",
|
|
106
|
-
"dpi": 300,
|
|
107
|
-
"notes": "Single column width: 89mm",
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"name": "science",
|
|
111
|
-
"description": "Science journal style",
|
|
112
|
-
"axes_size_mm": "85x60",
|
|
113
|
-
"dpi": 300,
|
|
114
|
-
"notes": "Single column width: 85mm",
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
"name": "pnas",
|
|
118
|
-
"description": "PNAS journal style",
|
|
119
|
-
"axes_size_mm": "87x60",
|
|
120
|
-
"dpi": 300,
|
|
121
|
-
"notes": "Single column width: 8.7cm",
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"name": "ieee",
|
|
125
|
-
"description": "IEEE journal style",
|
|
126
|
-
"axes_size_mm": "88x60",
|
|
127
|
-
"dpi": 300,
|
|
128
|
-
"notes": "Single column width: 3.5 inches",
|
|
129
|
-
},
|
|
130
|
-
]
|
|
131
|
-
|
|
132
|
-
return {
|
|
133
|
-
"success": True,
|
|
134
|
-
"count": len(presets),
|
|
135
|
-
"presets": presets,
|
|
136
|
-
"usage": "Use set_style() to apply custom dimensions",
|
|
137
|
-
}
|
|
138
|
-
except Exception as e:
|
|
139
|
-
return {"success": False, "error": str(e)}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
async def get_dpi_settings_handler() -> dict:
|
|
143
|
-
"""Get DPI settings for different output contexts."""
|
|
144
|
-
try:
|
|
145
|
-
from scitex.plt.styles.presets import (
|
|
146
|
-
get_default_dpi,
|
|
147
|
-
get_display_dpi,
|
|
148
|
-
get_preview_dpi,
|
|
149
|
-
)
|
|
150
|
-
|
|
151
|
-
return {
|
|
152
|
-
"success": True,
|
|
153
|
-
"dpi_settings": {
|
|
154
|
-
"save": {
|
|
155
|
-
"value": get_default_dpi(),
|
|
156
|
-
"description": "Publication-quality output (high resolution)",
|
|
157
|
-
},
|
|
158
|
-
"display": {
|
|
159
|
-
"value": get_display_dpi(),
|
|
160
|
-
"description": "Screen display (lower resolution for speed)",
|
|
161
|
-
},
|
|
162
|
-
"preview": {
|
|
163
|
-
"value": get_preview_dpi(),
|
|
164
|
-
"description": "Editor previews and thumbnails",
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
"recommendation": "Use 'save' DPI for final figures, 'display' for iterating",
|
|
168
|
-
}
|
|
169
|
-
except Exception as e:
|
|
170
|
-
return {"success": False, "error": str(e)}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
async def get_color_palette_handler(format: str = "hex") -> dict:
|
|
174
|
-
"""Get the SciTeX color palette."""
|
|
175
|
-
try:
|
|
176
|
-
from scitex.plt import color as color_module
|
|
177
|
-
|
|
178
|
-
params = getattr(color_module, "PARAMS", {})
|
|
179
|
-
rgba_cycle = params.get("RGBA_NORM_FOR_CYCLE", {})
|
|
180
|
-
|
|
181
|
-
colors = {}
|
|
182
|
-
for name, rgba in rgba_cycle.items():
|
|
183
|
-
if format == "hex":
|
|
184
|
-
r, g, b = int(rgba[0] * 255), int(rgba[1] * 255), int(rgba[2] * 255)
|
|
185
|
-
colors[name] = f"#{r:02x}{g:02x}{b:02x}"
|
|
186
|
-
elif format == "rgb":
|
|
187
|
-
colors[name] = {
|
|
188
|
-
"r": int(rgba[0] * 255),
|
|
189
|
-
"g": int(rgba[1] * 255),
|
|
190
|
-
"b": int(rgba[2] * 255),
|
|
191
|
-
}
|
|
192
|
-
else: # rgba
|
|
193
|
-
colors[name] = {
|
|
194
|
-
"r": rgba[0],
|
|
195
|
-
"g": rgba[1],
|
|
196
|
-
"b": rgba[2],
|
|
197
|
-
"a": rgba[3] if len(rgba) > 3 else 1.0,
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
return {
|
|
201
|
-
"success": True,
|
|
202
|
-
"format": format,
|
|
203
|
-
"count": len(colors),
|
|
204
|
-
"colors": colors,
|
|
205
|
-
"usage": "Colors are used in matplotlib's default color cycle",
|
|
206
|
-
}
|
|
207
|
-
except Exception as e:
|
|
208
|
-
return {"success": False, "error": str(e)}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
__all__ = [
|
|
212
|
-
"get_style_handler",
|
|
213
|
-
"set_style_handler",
|
|
214
|
-
"list_presets_handler",
|
|
215
|
-
"get_dpi_settings_handler",
|
|
216
|
-
"get_color_palette_handler",
|
|
217
|
-
]
|
|
218
|
-
|
|
219
|
-
# EOF
|
scitex/plt/_mcp/handlers.py
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
# Timestamp: 2026-01-13
|
|
3
|
-
# File: src/scitex/plt/_mcp/handlers.py
|
|
4
|
-
|
|
5
|
-
"""MCP Handler implementations for SciTeX plt module.
|
|
6
|
-
|
|
7
|
-
Provides async handlers for publication-quality plotting operations.
|
|
8
|
-
This module re-exports handlers from submodules for backward compatibility.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
from __future__ import annotations
|
|
12
|
-
|
|
13
|
-
# Re-export annotation handlers
|
|
14
|
-
from ._handlers_annotation import (
|
|
15
|
-
add_panel_label_handler,
|
|
16
|
-
add_significance_handler,
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
# Re-export figure registry and helper
|
|
20
|
-
# Re-export figure management handlers
|
|
21
|
-
from ._handlers_figure import (
|
|
22
|
-
_FIGURE_REGISTRY,
|
|
23
|
-
_get_axes,
|
|
24
|
-
close_figure_handler,
|
|
25
|
-
create_figure_handler,
|
|
26
|
-
crop_figure_handler,
|
|
27
|
-
save_figure_handler,
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
# Re-export plot handlers
|
|
31
|
-
from ._handlers_plot import (
|
|
32
|
-
plot_bar_handler,
|
|
33
|
-
plot_box_handler,
|
|
34
|
-
plot_line_handler,
|
|
35
|
-
plot_scatter_handler,
|
|
36
|
-
plot_violin_handler,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
# Re-export style handlers
|
|
40
|
-
from ._handlers_style import (
|
|
41
|
-
get_color_palette_handler,
|
|
42
|
-
get_dpi_settings_handler,
|
|
43
|
-
get_style_handler,
|
|
44
|
-
list_presets_handler,
|
|
45
|
-
set_style_handler,
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
__all__ = [
|
|
49
|
-
# Style handlers
|
|
50
|
-
"get_style_handler",
|
|
51
|
-
"set_style_handler",
|
|
52
|
-
"list_presets_handler",
|
|
53
|
-
"get_dpi_settings_handler",
|
|
54
|
-
"get_color_palette_handler",
|
|
55
|
-
# Figure management
|
|
56
|
-
"create_figure_handler",
|
|
57
|
-
"crop_figure_handler",
|
|
58
|
-
"save_figure_handler",
|
|
59
|
-
"close_figure_handler",
|
|
60
|
-
# Plot handlers
|
|
61
|
-
"plot_bar_handler",
|
|
62
|
-
"plot_scatter_handler",
|
|
63
|
-
"plot_line_handler",
|
|
64
|
-
"plot_box_handler",
|
|
65
|
-
"plot_violin_handler",
|
|
66
|
-
# Annotation handlers
|
|
67
|
-
"add_significance_handler",
|
|
68
|
-
"add_panel_label_handler",
|
|
69
|
-
# Internal (for submodules)
|
|
70
|
-
"_FIGURE_REGISTRY",
|
|
71
|
-
"_get_axes",
|
|
72
|
-
]
|
|
73
|
-
|
|
74
|
-
# EOF
|