icplot 0.3.5__tar.gz → 0.4.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.
- {icplot-0.3.5/src/icplot.egg-info → icplot-0.4.0}/PKG-INFO +40 -9
- {icplot-0.3.5 → icplot-0.4.0}/README.md +19 -2
- {icplot-0.3.5 → icplot-0.4.0}/pyproject.toml +44 -11
- {icplot-0.3.5 → icplot-0.4.0/src/icplot.egg-info}/PKG-INFO +40 -9
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot.egg-info/requires.txt +26 -5
- {icplot-0.3.5 → icplot-0.4.0}/LICENSE +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/setup.cfg +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/charts/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/charts/gantt.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/charts/tree.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/converter/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/converter/cli.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/converter/convert.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/converter/image.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/base.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/cell.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/edge.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/mesh.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/openfoam/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/openfoam/blockmesh.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/openfoam/foamfile.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/openfoam/polymesh.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/operations.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/shapes.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/vertex.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/mesh/vtk.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/operations.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/shapes.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/geometry/transform.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/graph/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/graph/axis.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/graph/plot.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/graph/plot_group.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/graph/series.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/main_cli.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/py.typed +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/charts/pgfgantt.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/charts/svggantt.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/cli.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/config.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/formats/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/formats/mermaid.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/formats/plantuml.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/formats/tex.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/frontmatter.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/graph/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/graph/color.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/graph/matplotlib.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/graph/mpl.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/graph/renderer.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/graph/vtk.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/render.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/scene/cairo.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/renderer/video.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/scene.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/__init__.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/cli.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/color.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/templates/puml.j2 +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/templates/tikz.j2 +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/theme.json +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/theme.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot/theme/theme_generator.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot.egg-info/SOURCES.txt +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot.egg-info/dependency_links.txt +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot.egg-info/entry_points.txt +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/src/icplot.egg-info/top_level.txt +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_cairo.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_frontmatter.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_gantt_chart.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_geometry.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_image.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_line_plots.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_mermaid.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_meshing.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_openfoam.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_plot_group.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_polymesh.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_puml.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_tex.py +0 -0
- {icplot-0.3.5 → icplot-0.4.0}/test/test_tree.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: icplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Utilities for generating plots and graphics for technical reports.
|
|
5
5
|
Author-email: "James Grogan, Irish Centre for High End Computing" <james.grogan@ichec.ie>
|
|
6
6
|
Project-URL: Repository, https://git.ichec.ie/performance/toolshed/icplot
|
|
@@ -14,11 +14,6 @@ Classifier: Topic :: System :: Distributed Computing
|
|
|
14
14
|
Requires-Python: >=3.10
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: wand
|
|
18
|
-
Requires-Dist: matplotlib
|
|
19
|
-
Requires-Dist: vtk
|
|
20
|
-
Requires-Dist: moviepy
|
|
21
|
-
Requires-Dist: scipy
|
|
22
17
|
Requires-Dist: iccore==0.2.3
|
|
23
18
|
Requires-Dist: graphviz
|
|
24
19
|
Requires-Dist: Jinja2
|
|
@@ -33,8 +28,27 @@ Requires-Dist: flake8; extra == "test"
|
|
|
33
28
|
Requires-Dist: pylint; extra == "test"
|
|
34
29
|
Requires-Dist: types-PyYAML; extra == "test"
|
|
35
30
|
Provides-Extra: cairo
|
|
36
|
-
Requires-Dist: pycairo; extra == "cairo"
|
|
37
31
|
Requires-Dist: CairoSVG; extra == "cairo"
|
|
32
|
+
Provides-Extra: scene
|
|
33
|
+
Requires-Dist: pycairo; extra == "scene"
|
|
34
|
+
Provides-Extra: imagemagick
|
|
35
|
+
Requires-Dist: wand; extra == "imagemagick"
|
|
36
|
+
Provides-Extra: plot
|
|
37
|
+
Requires-Dist: matplotlib; extra == "plot"
|
|
38
|
+
Provides-Extra: vtk
|
|
39
|
+
Requires-Dist: vtk; extra == "vtk"
|
|
40
|
+
Provides-Extra: geometry
|
|
41
|
+
Requires-Dist: scipy; extra == "geometry"
|
|
42
|
+
Provides-Extra: video
|
|
43
|
+
Requires-Dist: moviepy; extra == "video"
|
|
44
|
+
Provides-Extra: all
|
|
45
|
+
Requires-Dist: CairoSVG; extra == "all"
|
|
46
|
+
Requires-Dist: pycairo; extra == "all"
|
|
47
|
+
Requires-Dist: wand; extra == "all"
|
|
48
|
+
Requires-Dist: matplotlib; extra == "all"
|
|
49
|
+
Requires-Dist: vtk; extra == "all"
|
|
50
|
+
Requires-Dist: scipy; extra == "all"
|
|
51
|
+
Requires-Dist: moviepy; extra == "all"
|
|
38
52
|
Dynamic: license-file
|
|
39
53
|
|
|
40
54
|
# icplot
|
|
@@ -122,13 +136,30 @@ The library supports themeing with an Angular Material 3 motivated design system
|
|
|
122
136
|
|
|
123
137
|
# Installation #
|
|
124
138
|
|
|
125
|
-
The package is available on PyPI.
|
|
139
|
+
The package is available on PyPI. The core install is deliberately light — it
|
|
140
|
+
does not pull the heavy rendering backends, so consumers that only need part of
|
|
141
|
+
the library (e.g. a docs build that just converts svg to png) stay small:
|
|
126
142
|
|
|
127
143
|
``` shell
|
|
128
144
|
pip install icplot
|
|
129
145
|
```
|
|
130
146
|
|
|
131
|
-
|
|
147
|
+
Backends are opt-in via extras:
|
|
148
|
+
|
|
149
|
+
| Extra | Pulls | Enables |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| `cairo` | CairoSVG | svg → png / pdf conversion |
|
|
152
|
+
| `scene` | pycairo | vector scene drawing (`renderer.scene.cairo`) |
|
|
153
|
+
| `imagemagick` | wand | pdf → png conversion (falls back to the `magick` CLI) |
|
|
154
|
+
| `plot` | matplotlib | 2D plotting (`renderer.graph`, `charts`) |
|
|
155
|
+
| `vtk` | vtk | 3D / mesh rendering (`geometry.mesh`) |
|
|
156
|
+
| `geometry` | scipy | geometry transforms (`geometry.operations`) |
|
|
157
|
+
| `video` | moviepy | video assembly (`renderer.video`) |
|
|
158
|
+
| `all` | all of the above | everything (previous default behaviour) |
|
|
159
|
+
|
|
160
|
+
For example, `pip install icplot[cairo]` for svg conversion, or
|
|
161
|
+
`pip install icplot[all]` for the full toolkit. The native `cairo` and
|
|
162
|
+
`imagemagick` system libraries are also required for those backends; on Mac:
|
|
132
163
|
|
|
133
164
|
``` shell
|
|
134
165
|
brew install imagemagick cairo
|
|
@@ -83,13 +83,30 @@ The library supports themeing with an Angular Material 3 motivated design system
|
|
|
83
83
|
|
|
84
84
|
# Installation #
|
|
85
85
|
|
|
86
|
-
The package is available on PyPI.
|
|
86
|
+
The package is available on PyPI. The core install is deliberately light — it
|
|
87
|
+
does not pull the heavy rendering backends, so consumers that only need part of
|
|
88
|
+
the library (e.g. a docs build that just converts svg to png) stay small:
|
|
87
89
|
|
|
88
90
|
``` shell
|
|
89
91
|
pip install icplot
|
|
90
92
|
```
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
Backends are opt-in via extras:
|
|
95
|
+
|
|
96
|
+
| Extra | Pulls | Enables |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| `cairo` | CairoSVG | svg → png / pdf conversion |
|
|
99
|
+
| `scene` | pycairo | vector scene drawing (`renderer.scene.cairo`) |
|
|
100
|
+
| `imagemagick` | wand | pdf → png conversion (falls back to the `magick` CLI) |
|
|
101
|
+
| `plot` | matplotlib | 2D plotting (`renderer.graph`, `charts`) |
|
|
102
|
+
| `vtk` | vtk | 3D / mesh rendering (`geometry.mesh`) |
|
|
103
|
+
| `geometry` | scipy | geometry transforms (`geometry.operations`) |
|
|
104
|
+
| `video` | moviepy | video assembly (`renderer.video`) |
|
|
105
|
+
| `all` | all of the above | everything (previous default behaviour) |
|
|
106
|
+
|
|
107
|
+
For example, `pip install icplot[cairo]` for svg conversion, or
|
|
108
|
+
`pip install icplot[all]` for the full toolkit. The native `cairo` and
|
|
109
|
+
`imagemagick` system libraries are also required for those backends; on Mac:
|
|
93
110
|
|
|
94
111
|
``` shell
|
|
95
112
|
brew install imagemagick cairo
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "icplot"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.0"
|
|
4
4
|
authors = [
|
|
5
5
|
{ name="James Grogan, Irish Centre for High End Computing", email="james.grogan@ichec.ie" },
|
|
6
6
|
]
|
|
@@ -16,14 +16,14 @@ classifiers = [
|
|
|
16
16
|
]
|
|
17
17
|
keywords = ["Publishing", "Technical Reports", "Graphics"]
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
# Core is deliberately light: only what every import path needs. The heavy
|
|
20
|
+
# rendering backends (matplotlib/vtk/scipy/moviepy/wand) are optional extras
|
|
21
|
+
# so consumers that only use the converter or diagram renderer (e.g. the
|
|
22
|
+
# handbook build) can install a small footprint. Use icplot[all] for the
|
|
23
|
+
# previous behaviour of pulling every backend.
|
|
24
|
+
dependencies = ["iccore==0.2.3",
|
|
25
|
+
"graphviz",
|
|
26
|
+
"Jinja2"]
|
|
27
27
|
|
|
28
28
|
[project.urls]
|
|
29
29
|
Repository = "https://git.ichec.ie/performance/toolshed/icplot"
|
|
@@ -42,11 +42,43 @@ test = [
|
|
|
42
42
|
"types-PyYAML"
|
|
43
43
|
]
|
|
44
44
|
|
|
45
|
+
# svg/pdf conversion (converter.svg_to_png / svg_to_pdf). CairoSVG pulls
|
|
46
|
+
# cairocffi, which dlopens libcairo at runtime (no C build step needed).
|
|
45
47
|
cairo = [
|
|
46
|
-
"pycairo",
|
|
47
48
|
"CairoSVG"
|
|
48
49
|
]
|
|
49
50
|
|
|
51
|
+
# vector scene drawing (renderer.scene.cairo). pycairo (module `cairo`)
|
|
52
|
+
# builds against libcairo — needs the cairo headers + a C toolchain at install.
|
|
53
|
+
scene = ["pycairo"]
|
|
54
|
+
|
|
55
|
+
# raster conversion via ImageMagick bindings (converter.pdf_to_png);
|
|
56
|
+
# falls back to the `magick` CLI if wand is absent
|
|
57
|
+
imagemagick = ["wand"]
|
|
58
|
+
|
|
59
|
+
# 2D plotting backend (icplot.renderer.graph / icplot.charts)
|
|
60
|
+
plot = ["matplotlib"]
|
|
61
|
+
|
|
62
|
+
# 3D / mesh backend (icplot.geometry.mesh, vtk graph backend)
|
|
63
|
+
vtk = ["vtk"]
|
|
64
|
+
|
|
65
|
+
# geometry transforms (icplot.geometry.operations)
|
|
66
|
+
geometry = ["scipy"]
|
|
67
|
+
|
|
68
|
+
# video assembly (icplot.renderer.video)
|
|
69
|
+
video = ["moviepy"]
|
|
70
|
+
|
|
71
|
+
# convenience aggregate — every backend (pre-split behaviour)
|
|
72
|
+
all = [
|
|
73
|
+
"CairoSVG",
|
|
74
|
+
"pycairo",
|
|
75
|
+
"wand",
|
|
76
|
+
"matplotlib",
|
|
77
|
+
"vtk",
|
|
78
|
+
"scipy",
|
|
79
|
+
"moviepy"
|
|
80
|
+
]
|
|
81
|
+
|
|
50
82
|
[build-system]
|
|
51
83
|
requires = ["setuptools", "wheel"]
|
|
52
84
|
build-backend = "setuptools.build_meta"
|
|
@@ -119,7 +151,8 @@ skip_missing_interpreters = true
|
|
|
119
151
|
|
|
120
152
|
[tool.tox.env_run_base]
|
|
121
153
|
description = "Run Unit and Integration Tests"
|
|
122
|
-
|
|
154
|
+
# `all` so the full suite (matplotlib/vtk/scipy/moviepy backends) still runs
|
|
155
|
+
deps = [".[test, all]"]
|
|
123
156
|
commands = [["pytest", "test"]]
|
|
124
157
|
|
|
125
158
|
[tool.tox.env.format_apply]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: icplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Utilities for generating plots and graphics for technical reports.
|
|
5
5
|
Author-email: "James Grogan, Irish Centre for High End Computing" <james.grogan@ichec.ie>
|
|
6
6
|
Project-URL: Repository, https://git.ichec.ie/performance/toolshed/icplot
|
|
@@ -14,11 +14,6 @@ Classifier: Topic :: System :: Distributed Computing
|
|
|
14
14
|
Requires-Python: >=3.10
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: wand
|
|
18
|
-
Requires-Dist: matplotlib
|
|
19
|
-
Requires-Dist: vtk
|
|
20
|
-
Requires-Dist: moviepy
|
|
21
|
-
Requires-Dist: scipy
|
|
22
17
|
Requires-Dist: iccore==0.2.3
|
|
23
18
|
Requires-Dist: graphviz
|
|
24
19
|
Requires-Dist: Jinja2
|
|
@@ -33,8 +28,27 @@ Requires-Dist: flake8; extra == "test"
|
|
|
33
28
|
Requires-Dist: pylint; extra == "test"
|
|
34
29
|
Requires-Dist: types-PyYAML; extra == "test"
|
|
35
30
|
Provides-Extra: cairo
|
|
36
|
-
Requires-Dist: pycairo; extra == "cairo"
|
|
37
31
|
Requires-Dist: CairoSVG; extra == "cairo"
|
|
32
|
+
Provides-Extra: scene
|
|
33
|
+
Requires-Dist: pycairo; extra == "scene"
|
|
34
|
+
Provides-Extra: imagemagick
|
|
35
|
+
Requires-Dist: wand; extra == "imagemagick"
|
|
36
|
+
Provides-Extra: plot
|
|
37
|
+
Requires-Dist: matplotlib; extra == "plot"
|
|
38
|
+
Provides-Extra: vtk
|
|
39
|
+
Requires-Dist: vtk; extra == "vtk"
|
|
40
|
+
Provides-Extra: geometry
|
|
41
|
+
Requires-Dist: scipy; extra == "geometry"
|
|
42
|
+
Provides-Extra: video
|
|
43
|
+
Requires-Dist: moviepy; extra == "video"
|
|
44
|
+
Provides-Extra: all
|
|
45
|
+
Requires-Dist: CairoSVG; extra == "all"
|
|
46
|
+
Requires-Dist: pycairo; extra == "all"
|
|
47
|
+
Requires-Dist: wand; extra == "all"
|
|
48
|
+
Requires-Dist: matplotlib; extra == "all"
|
|
49
|
+
Requires-Dist: vtk; extra == "all"
|
|
50
|
+
Requires-Dist: scipy; extra == "all"
|
|
51
|
+
Requires-Dist: moviepy; extra == "all"
|
|
38
52
|
Dynamic: license-file
|
|
39
53
|
|
|
40
54
|
# icplot
|
|
@@ -122,13 +136,30 @@ The library supports themeing with an Angular Material 3 motivated design system
|
|
|
122
136
|
|
|
123
137
|
# Installation #
|
|
124
138
|
|
|
125
|
-
The package is available on PyPI.
|
|
139
|
+
The package is available on PyPI. The core install is deliberately light — it
|
|
140
|
+
does not pull the heavy rendering backends, so consumers that only need part of
|
|
141
|
+
the library (e.g. a docs build that just converts svg to png) stay small:
|
|
126
142
|
|
|
127
143
|
``` shell
|
|
128
144
|
pip install icplot
|
|
129
145
|
```
|
|
130
146
|
|
|
131
|
-
|
|
147
|
+
Backends are opt-in via extras:
|
|
148
|
+
|
|
149
|
+
| Extra | Pulls | Enables |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| `cairo` | CairoSVG | svg → png / pdf conversion |
|
|
152
|
+
| `scene` | pycairo | vector scene drawing (`renderer.scene.cairo`) |
|
|
153
|
+
| `imagemagick` | wand | pdf → png conversion (falls back to the `magick` CLI) |
|
|
154
|
+
| `plot` | matplotlib | 2D plotting (`renderer.graph`, `charts`) |
|
|
155
|
+
| `vtk` | vtk | 3D / mesh rendering (`geometry.mesh`) |
|
|
156
|
+
| `geometry` | scipy | geometry transforms (`geometry.operations`) |
|
|
157
|
+
| `video` | moviepy | video assembly (`renderer.video`) |
|
|
158
|
+
| `all` | all of the above | everything (previous default behaviour) |
|
|
159
|
+
|
|
160
|
+
For example, `pip install icplot[cairo]` for svg conversion, or
|
|
161
|
+
`pip install icplot[all]` for the full toolkit. The native `cairo` and
|
|
162
|
+
`imagemagick` system libraries are also required for those backends; on Mac:
|
|
132
163
|
|
|
133
164
|
``` shell
|
|
134
165
|
brew install imagemagick cairo
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
+
iccore==0.2.3
|
|
2
|
+
graphviz
|
|
3
|
+
Jinja2
|
|
4
|
+
|
|
5
|
+
[all]
|
|
6
|
+
CairoSVG
|
|
7
|
+
pycairo
|
|
1
8
|
wand
|
|
2
9
|
matplotlib
|
|
3
10
|
vtk
|
|
4
|
-
moviepy
|
|
5
11
|
scipy
|
|
6
|
-
|
|
7
|
-
graphviz
|
|
8
|
-
Jinja2
|
|
12
|
+
moviepy
|
|
9
13
|
|
|
10
14
|
[cairo]
|
|
11
|
-
pycairo
|
|
12
15
|
CairoSVG
|
|
13
16
|
|
|
17
|
+
[geometry]
|
|
18
|
+
scipy
|
|
19
|
+
|
|
20
|
+
[imagemagick]
|
|
21
|
+
wand
|
|
22
|
+
|
|
23
|
+
[plot]
|
|
24
|
+
matplotlib
|
|
25
|
+
|
|
26
|
+
[scene]
|
|
27
|
+
pycairo
|
|
28
|
+
|
|
14
29
|
[test]
|
|
15
30
|
pytest
|
|
16
31
|
pytest-cov
|
|
@@ -21,3 +36,9 @@ mypy
|
|
|
21
36
|
flake8
|
|
22
37
|
pylint
|
|
23
38
|
types-PyYAML
|
|
39
|
+
|
|
40
|
+
[video]
|
|
41
|
+
moviepy
|
|
42
|
+
|
|
43
|
+
[vtk]
|
|
44
|
+
vtk
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|