matplotly 0.1.2__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {matplotly-0.1.2 → matplotly-0.1.3}/PKG-INFO +17 -1
- {matplotly-0.1.2 → matplotly-0.1.3}/README.md +11 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_bar.ipynb +2 -2
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_plot.ipynb +57 -30
- matplotly-0.1.3/matplotly/_ai_extract.py +1172 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/_api.py +5 -1
- matplotly-0.1.3/matplotly/_profiles.py +228 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_global.py +13 -7
- {matplotly-0.1.2 → matplotly-0.1.3}/pyproject.toml +7 -1
- matplotly-0.1.3/tests/test_ai_extract.py +375 -0
- matplotly-0.1.2/matplotly/_profiles.py +0 -241
- matplotly-0.1.2/matplotly/_style_import.py +0 -155
- {matplotly-0.1.2 → matplotly-0.1.3}/.github/workflows/publish.yml +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/.github/workflows/tests.yml +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/.gitignore +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/.readthedocs.yaml +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/CHANGELOG.md +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/LICENSE +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/demo_box.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/demo_plot.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/demo_scatter.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/api.rst +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/changelog.rst +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/conf.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/examples/index.rst +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/index.rst +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/installation.rst +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/quickstart.rst +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/docs/requirements.txt +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_box.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_errorbar.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_heatmap.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_hist.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/demo_scatter.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/examples/matplotly_demo.ipynb +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/__init__.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/_code_gen.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/_commands.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/_introspect.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/_renderer.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/_types.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/__init__.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_bar.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_base.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_color_utils.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_distribution.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_errorbar.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_fill.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_heatmap.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_histogram.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_line.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_marginal.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_scatter.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/matplotly/panels/_subplot.py +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/requirements.txt +0 -0
- {matplotly-0.1.2 → matplotly-0.1.3}/tests/test_code_gen.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matplotly
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Jupyter-native interactive matplotlib figure editor
|
|
5
5
|
Project-URL: Homepage, https://github.com/p-koo/matplotly
|
|
6
6
|
Project-URL: Documentation, https://matplotly.readthedocs.io
|
|
@@ -24,6 +24,11 @@ Requires-Dist: ipympl>=0.9.0
|
|
|
24
24
|
Requires-Dist: ipywidgets>=8.0.0
|
|
25
25
|
Requires-Dist: matplotlib>=3.8.0
|
|
26
26
|
Requires-Dist: numpy>=1.24.0
|
|
27
|
+
Provides-Extra: ai
|
|
28
|
+
Requires-Dist: anthropic>=0.39.0; extra == 'ai'
|
|
29
|
+
Requires-Dist: openai>=1.0.0; extra == 'ai'
|
|
30
|
+
Requires-Dist: pillow>=9.0; extra == 'ai'
|
|
31
|
+
Requires-Dist: pymupdf>=1.23.0; extra == 'ai'
|
|
27
32
|
Provides-Extra: dev
|
|
28
33
|
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
29
34
|
Requires-Dist: ruff>=0.4.0; extra == 'dev'
|
|
@@ -50,6 +55,7 @@ reproducible Python code. No separate GUI; everything runs inline in your notebo
|
|
|
50
55
|
## Features
|
|
51
56
|
|
|
52
57
|
- **10+ plot types**: line, scatter, bar, histogram, box, violin, errorbar, heatmap, fill, marginal
|
|
58
|
+
- **AI style extraction**: upload a reference plot image and automatically match its style (fonts, colors, spines, ticks, legend, etc.) using Claude or GPT vision models
|
|
53
59
|
- **Code generation**: export a standalone Python script that recreates your styled figure
|
|
54
60
|
- **Undo / redo**: full command history with keyboard shortcuts
|
|
55
61
|
- **Style profiles**: save and load reusable figure styles
|
|
@@ -107,6 +113,16 @@ with matplotly() as pb:
|
|
|
107
113
|
| Fill | `ax.fill_between()` / `ax.fill_betweenx()` |
|
|
108
114
|
| Marginal | Joint + marginal distribution plots |
|
|
109
115
|
|
|
116
|
+
## AI Style Extraction
|
|
117
|
+
|
|
118
|
+
Upload a reference plot image and let an AI vision model extract its style — fonts, colors, spines, ticks, grid, legend, and more — then apply it to your figure in one click.
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pip install matplotly[ai]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Supports **Anthropic** (Claude) and **OpenAI** (GPT-4o, GPT-5) as providers. Two-pass extraction: the first pass extracts style parameters, the second pass verifies and corrects them. Extracted styles can be downloaded as JSON profiles for reuse without further API calls.
|
|
125
|
+
|
|
110
126
|
## Documentation
|
|
111
127
|
|
|
112
128
|
Full documentation is available at [matplotly.readthedocs.io](https://matplotly.readthedocs.io).
|
|
@@ -14,6 +14,7 @@ reproducible Python code. No separate GUI; everything runs inline in your notebo
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
16
|
- **10+ plot types**: line, scatter, bar, histogram, box, violin, errorbar, heatmap, fill, marginal
|
|
17
|
+
- **AI style extraction**: upload a reference plot image and automatically match its style (fonts, colors, spines, ticks, legend, etc.) using Claude or GPT vision models
|
|
17
18
|
- **Code generation**: export a standalone Python script that recreates your styled figure
|
|
18
19
|
- **Undo / redo**: full command history with keyboard shortcuts
|
|
19
20
|
- **Style profiles**: save and load reusable figure styles
|
|
@@ -71,6 +72,16 @@ with matplotly() as pb:
|
|
|
71
72
|
| Fill | `ax.fill_between()` / `ax.fill_betweenx()` |
|
|
72
73
|
| Marginal | Joint + marginal distribution plots |
|
|
73
74
|
|
|
75
|
+
## AI Style Extraction
|
|
76
|
+
|
|
77
|
+
Upload a reference plot image and let an AI vision model extract its style — fonts, colors, spines, ticks, grid, legend, and more — then apply it to your figure in one click.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pip install matplotly[ai]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Supports **Anthropic** (Claude) and **OpenAI** (GPT-4o, GPT-5) as providers. Two-pass extraction: the first pass extracts style parameters, the second pass verifies and corrects them. Extracted styles can be downloaded as JSON profiles for reuse without further API calls.
|
|
84
|
+
|
|
74
85
|
## Documentation
|
|
75
86
|
|
|
76
87
|
Full documentation is available at [matplotly.readthedocs.io](https://matplotly.readthedocs.io).
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"cell_type": "code",
|
|
38
|
-
"execution_count":
|
|
38
|
+
"execution_count": 3,
|
|
39
39
|
"id": "simple-bar",
|
|
40
40
|
"metadata": {},
|
|
41
41
|
"outputs": [
|
|
42
42
|
{
|
|
43
43
|
"data": {
|
|
44
44
|
"application/vnd.jupyter.widget-view+json": {
|
|
45
|
-
"model_id": "
|
|
45
|
+
"model_id": "72d2e487e8d6427caf5afb34abd724ed",
|
|
46
46
|
"version_major": 2,
|
|
47
47
|
"version_minor": 0
|
|
48
48
|
},
|