QuasarCode 0.32.9__tar.gz → 0.32.11__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.
- {quasarcode-0.32.9 → quasarcode-0.32.11}/PKG-INFO +1 -1
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedFigureGrid.py +10 -5
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedPlot.py +29 -15
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedPlotCustomLegend.py +32 -28
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedPlotElements.py +41 -33
- quasarcode-0.32.11/src/QuasarCode/__about__.py +1 -0
- quasarcode-0.32.9/src/QuasarCode/__about__.py +0 -1
- {quasarcode-0.32.9 → quasarcode-0.32.11}/.gitattributes +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/.gitignore +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/.vscode/settings.json +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/LICENSE.txt +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/README.md +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/UnitTests_Python.pyproj +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_QuasarCode.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_edp.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_games.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_io.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_mpi.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_science.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/test_tools.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/testconfig.json +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/testconfig.properties +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/testconfig.yaml +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/testconfig_2.yaml +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/old__UnitTests_Python/testingFigure.png +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/pyproject.toml +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Data/_AuthorInfomation.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Data/_PersonInfomation.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Data/_Rect.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Data/_Rect3D.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Data/_VersionInformation.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Data/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/_CardGroup.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/_CardQueue.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/_CardStack.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/_Deck.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/_IPlayingCard.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/_PlayingCard.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Cards/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/_Dice12.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/_Dice6.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/_Dice8.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/_DiceCup.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/_IDice.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/_NDice.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Dice/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Spinners/_ISpinner.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Spinners/_Spinner.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/Spinners/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Games/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Caching/_CacheTarget.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Caching/_CacheTargetFactory.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Caching/_Cacheable.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Caching/_CacheableList.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Caching/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_CheckpointBase.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_CheckpointController.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_CheckpointState.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_PickleCheckpoint.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Configurations/_ConfigsBase.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Configurations/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Configurations/_json.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Configurations/_properties.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Configurations/_yaml.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Text/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Text/_console.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Text/_stopwatch.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_MPI_Config_Base.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_dependant_dummy/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_dependant_dummy/_convinience_methods.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_dependant_mpi/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_dependant_mpi/_convinience_methods.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_independant_dummy/_mpi_config.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_independant_mpi/_mpi_config.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_Bins.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedFigureGridFactory.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedPlotFactory.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedPlotFontInfo.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_Contour.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_Hexbin.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/_hexbin.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/_plotting.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/data.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/figure.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/fitline.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Science/graph.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/StringLiterals.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/Validators.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_CacheableFunction.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_Char.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_ScreenResolution.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_Struct.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_array_visuliser.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_async.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_autoproperty.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_cast.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_common_casts.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_directorys_and_imports.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_edit_locals.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_multiItterator.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_networking.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_script_wrapper.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_stopwatch.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Tools/_typeshield.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/_global_settings.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/edp/_Event.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/edp/_NotEnoughArgumentsError.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/edp/_SubscriberNotPresentError.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/edp/_UndersubscribedEventError.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/edp/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/tests/__init__.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/tests/test_CachedPlot.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/tests/test_ScriptWrapper.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/tests/test_array_visuliser.py +0 -0
- {quasarcode-0.32.9 → quasarcode-0.32.11}/tests/test_autoproperty.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: QuasarCode
|
|
3
|
-
Version: 0.32.
|
|
3
|
+
Version: 0.32.11
|
|
4
4
|
Summary: A general purpose library for Python applications.
|
|
5
5
|
Project-URL: Documentation, https://github.com/QuasarX1/QuasarCode/blob/master/README.md
|
|
6
6
|
Project-URL: Issues, https://github.com/QuasarX1/QuasarCode/issues
|
|
@@ -92,11 +92,16 @@ class CachedFigureGrid(CacheableStruct):
|
|
|
92
92
|
self.rows = len(self.mosaic)
|
|
93
93
|
self.columns = max(len(row) for row in self.mosaic)
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
if "plots" not in kwargs:
|
|
96
|
+
self.plots = {}
|
|
97
|
+
if "colourbars" not in kwargs:
|
|
98
|
+
self.colourbars = {}
|
|
99
|
+
if "custom_legends" not in kwargs:
|
|
100
|
+
self.custom_legends = {}
|
|
101
|
+
if "default_font" not in kwargs:
|
|
102
|
+
self.default_font = CachedPlotFontInfo()
|
|
103
|
+
if "title_font" not in kwargs:
|
|
104
|
+
self.title_font = CachedPlotFontInfo()
|
|
100
105
|
|
|
101
106
|
def set_resolution_custom(self, width_pixels: int|None = None, height_pixels: int|None = None, file_only: bool = False) -> None:
|
|
102
107
|
"""
|
|
@@ -82,19 +82,33 @@ class CachedPlot(CacheableStruct):
|
|
|
82
82
|
),
|
|
83
83
|
**kwargs
|
|
84
84
|
)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
85
|
+
|
|
86
|
+
if "plot_elements" not in kwargs:
|
|
87
|
+
self.plot_elements = {}
|
|
88
|
+
if "colourbars" not in kwargs:
|
|
89
|
+
self.colourbars = {}
|
|
90
|
+
if "custom_legends" not in kwargs:
|
|
91
|
+
self.custom_legends = {}
|
|
92
|
+
if "default_font" not in kwargs:
|
|
93
|
+
self.default_font = CachedPlotFontInfo()
|
|
94
|
+
if "title_font" not in kwargs:
|
|
95
|
+
self.title_font = CachedPlotFontInfo()
|
|
96
|
+
if "x_axis_label_font" not in kwargs:
|
|
97
|
+
self.x_axis_label_font = CachedPlotFontInfo()
|
|
98
|
+
if "y_axis_label_font" not in kwargs:
|
|
99
|
+
self.y_axis_label_font = CachedPlotFontInfo()
|
|
100
|
+
if "alt_x_axis_label_font" not in kwargs:
|
|
101
|
+
self.alt_x_axis_label_font = CachedPlotFontInfo()
|
|
102
|
+
if "alt_y_axis_label_font" not in kwargs:
|
|
103
|
+
self.alt_y_axis_label_font = CachedPlotFontInfo()
|
|
104
|
+
if "x_tick_label_font" not in kwargs:
|
|
105
|
+
self.x_tick_label_font = CachedPlotFontInfo()
|
|
106
|
+
if "y_tick_label_font" not in kwargs:
|
|
107
|
+
self.y_tick_label_font = CachedPlotFontInfo()
|
|
108
|
+
if "alt_x_tick_label_font" not in kwargs:
|
|
109
|
+
self.alt_x_tick_label_font = CachedPlotFontInfo()
|
|
110
|
+
if "alt_y_tick_label_font" not in kwargs:
|
|
111
|
+
self.alt_y_tick_label_font = CachedPlotFontInfo()
|
|
98
112
|
|
|
99
113
|
def __check_element_name_is_new(self, name: str) -> bool:
|
|
100
114
|
return name not in self.plot_elements
|
|
@@ -180,7 +194,7 @@ class CachedPlot(CacheableStruct):
|
|
|
180
194
|
functions = tuple(self.alt_x_axis_functions)
|
|
181
195
|
)
|
|
182
196
|
if self.alt_x_axis_label is not None:
|
|
183
|
-
self._alt_x_axis.set_xlabel(self.alt_x_axis_label, **self.alt_x_axis_label_font.with_default(self.default_font).with_default(figure_default_font).fontdict)
|
|
197
|
+
self._alt_x_axis.set_xlabel(self.alt_x_axis_label, **self.alt_x_axis_label_font.with_default(self.x_axis_label_font).with_default(self.default_font).with_default(figure_default_font).fontdict)
|
|
184
198
|
alt_x_tick_label_font = self.alt_x_tick_label_font.with_default(self.x_tick_label_font).with_default(self.default_font).with_default(figure_default_font)
|
|
185
199
|
alt_x_tick_label_font_kwargs = {}
|
|
186
200
|
if alt_x_tick_label_font.size is not None:
|
|
@@ -203,7 +217,7 @@ class CachedPlot(CacheableStruct):
|
|
|
203
217
|
functions = tuple(self.alt_y_axis_functions)
|
|
204
218
|
)
|
|
205
219
|
if self.alt_y_axis_label is not None:
|
|
206
|
-
self._alt_y_axis.set_xlabel(self.alt_y_axis_label, **self.alt_y_axis_label_font.with_default(self.default_font).with_default(figure_default_font).fontdict)
|
|
220
|
+
self._alt_y_axis.set_xlabel(self.alt_y_axis_label, **self.alt_y_axis_label_font.with_default(self.y_axis_label_font).with_default(self.default_font).with_default(figure_default_font).fontdict)
|
|
207
221
|
alt_y_tick_label_font = self.alt_y_tick_label_font.with_default(self.y_tick_label_font).with_default(self.default_font).with_default(figure_default_font)
|
|
208
222
|
alt_y_tick_label_font_kwargs = {}
|
|
209
223
|
if alt_y_tick_label_font.size is not None:
|
|
@@ -27,33 +27,33 @@ class CachedPlotLegendBoxProperties(CacheableStruct):
|
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
class CachedPlotCustomLegend(CacheableStruct):
|
|
30
|
-
title
|
|
31
|
-
element_targets
|
|
32
|
-
reverse_order
|
|
33
|
-
columns
|
|
34
|
-
position
|
|
35
|
-
anchor_region
|
|
36
|
-
anchor
|
|
37
|
-
anchor_space
|
|
38
|
-
label_font
|
|
39
|
-
label_colours
|
|
40
|
-
title_font
|
|
41
|
-
alignment
|
|
30
|
+
title = AutoProperty [str ](allow_uninitialised = True)
|
|
31
|
+
element_targets = AutoProperty_NonNullable[dict[str,str|tuple[str,str]] ]() # Label : target element | (target plot, target element)
|
|
32
|
+
reverse_order = AutoProperty_NonNullable[bool ](default_value = False)
|
|
33
|
+
columns = AutoProperty_NonNullable[int ](default_value = 1)
|
|
34
|
+
position = AutoProperty_NonNullable[Literal["best", "upper left", "upper center", "upper right", "center left", "center", "center right", "lower left", "lower center", "lower right"]|tuple[float, float]](default_value = "best")
|
|
35
|
+
anchor_region = AutoProperty [Rect ](allow_uninitialised = True) # Max. one of these \/ can be set
|
|
36
|
+
anchor = AutoProperty [tuple[int,int] ](allow_uninitialised = True) # Max. one of these /\ can be set
|
|
37
|
+
anchor_space = AutoProperty [Literal["figure-space", "axis-space", "axis-data-space"]](allow_uninitialised = True)
|
|
38
|
+
label_font = AutoProperty_NonNullable[CachedPlotFontInfo ]()
|
|
39
|
+
label_colours = AutoProperty [str|Literal["linecolor", "markerfacecolor", "markeredgecolor"]|list[str|Literal["linecolor", "markerfacecolor", "markeredgecolor"]]](allow_uninitialised = True)
|
|
40
|
+
title_font = AutoProperty_NonNullable[CachedPlotFontInfo ]()
|
|
41
|
+
alignment = AutoProperty_NonNullable[Literal["left", "center", "right"]](default_value = "center")
|
|
42
42
|
|
|
43
|
-
line_render_points
|
|
44
|
-
scatter_render_points
|
|
43
|
+
line_render_points = AutoProperty [int ](allow_uninitialised = True)
|
|
44
|
+
scatter_render_points = AutoProperty [int ](allow_uninitialised = True)
|
|
45
45
|
scatter_render_points_y_offsets = AutoProperty_NonNullable[list[float] ](default_value = [0.375, 0.5, 0.3125]) # Relative to the font height (0 -> 1)
|
|
46
|
-
marker_scale
|
|
47
|
-
marker_location
|
|
48
|
-
vertical_spacing
|
|
49
|
-
horizontal_spacing
|
|
50
|
-
handle_length
|
|
51
|
-
handle_height
|
|
52
|
-
handle_text_space
|
|
46
|
+
marker_scale = AutoProperty [float ](allow_uninitialised = True)
|
|
47
|
+
marker_location = AutoProperty_NonNullable[Literal["left", "right"] ](default_value = "left")
|
|
48
|
+
vertical_spacing = AutoProperty [float ](allow_uninitialised = True) # in units of font-size
|
|
49
|
+
horizontal_spacing = AutoProperty [float ](allow_uninitialised = True) # in units of font-size
|
|
50
|
+
handle_length = AutoProperty [float ](allow_uninitialised = True) # in units of font-size
|
|
51
|
+
handle_height = AutoProperty [float ](allow_uninitialised = True) # in units of font-size
|
|
52
|
+
handle_text_space = AutoProperty [float ](allow_uninitialised = True) # in units of font-size
|
|
53
53
|
|
|
54
|
-
box
|
|
55
|
-
expand_into_horizontal_space
|
|
56
|
-
mouse_draggable
|
|
54
|
+
box = AutoProperty_NonNullable[CachedPlotLegendBoxProperties]()
|
|
55
|
+
expand_into_horizontal_space = AutoProperty_NonNullable[bool ](default_value = False)
|
|
56
|
+
mouse_draggable = AutoProperty_NonNullable[bool ](default_value = False)
|
|
57
57
|
|
|
58
58
|
def __init__(self, **kwargs):
|
|
59
59
|
super().__init__(
|
|
@@ -67,10 +67,14 @@ class CachedPlotCustomLegend(CacheableStruct):
|
|
|
67
67
|
],
|
|
68
68
|
**kwargs
|
|
69
69
|
)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
if "element_targets" not in kwargs:
|
|
71
|
+
self.element_targets = {}
|
|
72
|
+
if "label_font" not in kwargs:
|
|
73
|
+
self.label_font = CachedPlotFontInfo()
|
|
74
|
+
if "title_font" not in kwargs:
|
|
75
|
+
self.title_font = CachedPlotFontInfo()
|
|
76
|
+
if "box" not in kwargs:
|
|
77
|
+
self.box = CachedPlotLegendBoxProperties()
|
|
74
78
|
|
|
75
79
|
def render(self, figure: Figure, axis: Axes|None, default_font: CachedPlotFontInfo, plot_elements: Optional[dict[str, CachedPlotElement]] = None, elements_by_figure_plot: Optional[dict[str, dict[str, CachedPlotElement]]] = None, *args: Any, **kwargs: Any) -> None:
|
|
76
80
|
|
|
@@ -220,9 +220,12 @@ class CachedPlotColourbar(CachedPlotElement[Colorbar]):
|
|
|
220
220
|
tick_label_font = AutoProperty_NonNullable[CachedPlotFontInfo]()
|
|
221
221
|
def __init__(self, **kwargs):
|
|
222
222
|
super().__init__("target_element", "target_plot", "label", "add_to_axis", "location", "orientation", "extend", "default_font", "label_font", "tick_label_font", **kwargs)
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
223
|
+
if "default_font" not in kwargs:
|
|
224
|
+
self.default_font = CachedPlotFontInfo()
|
|
225
|
+
if "label_font" not in kwargs:
|
|
226
|
+
self.label_font = CachedPlotFontInfo()
|
|
227
|
+
if "tick_label_font" not in kwargs:
|
|
228
|
+
self.tick_label_font = CachedPlotFontInfo()
|
|
226
229
|
def render(self, figure: Figure, axis: Axes, target: ScalarMappable|ColorizingArtist, default_font: CachedPlotFontInfo, *args: Any, **kwargs: Any) -> None:
|
|
227
230
|
"""
|
|
228
231
|
Render the element on the given figure and axis, using the target element.
|
|
@@ -273,10 +276,9 @@ class CachedPlotContour(CachedPlotElement[QuadContourSet]):
|
|
|
273
276
|
labeled_level_indexes = AutoProperty [Sequence[int] ](allow_uninitialised = True)
|
|
274
277
|
label_positions = AutoProperty [Sequence[tuple[float, float]]](allow_uninitialised = True)
|
|
275
278
|
label_format = AutoProperty [CacheableFunction ](allow_uninitialised = True)
|
|
276
|
-
|
|
279
|
+
fontsize = AutoProperty[float|Literal["xx-small","x-small","small","medium","large","x-large","xx-large"]](allow_uninitialised = True) # Matplotlib default is 10.0
|
|
277
280
|
def __init__(self, **kwargs):
|
|
278
|
-
|
|
279
|
-
super().__init__("x", "y", "extent", "z", "levels", "linewidths", "linestyles", "alpha_values", "colours", "labeled_level_indexes", "label_positions", "label_format", "font", **kwargs)
|
|
281
|
+
super().__init__("x", "y", "extent", "z", "levels", "linewidths", "linestyles", "alpha_values", "colours", "labeled_level_indexes", "label_positions", "label_format", "fontsize", **kwargs)
|
|
280
282
|
def render(self, figure: Figure, axis: Axes, default_font: CachedPlotFontInfo, *args: Any, **kwargs: Any) -> None:
|
|
281
283
|
if sum([self.x is not None, self.y is not None]) == 1:
|
|
282
284
|
raise ValueError("Both x and y must be provided together or not at all.")
|
|
@@ -296,13 +298,16 @@ class CachedPlotContour(CachedPlotElement[QuadContourSet]):
|
|
|
296
298
|
)
|
|
297
299
|
if self.labeled_level_indexes is not None:
|
|
298
300
|
labelled_levels = [self._result.levels[i] for i in self.labeled_level_indexes]
|
|
301
|
+
font_kwargs = {}
|
|
302
|
+
if self.fontsize is not None:
|
|
303
|
+
font_kwargs["fontsize"] = self.fontsize
|
|
299
304
|
axis.clabel(
|
|
300
|
-
CS
|
|
301
|
-
levels
|
|
302
|
-
fmt
|
|
303
|
-
inline
|
|
304
|
-
manual
|
|
305
|
-
**
|
|
305
|
+
CS = self._result,
|
|
306
|
+
levels = labelled_levels,
|
|
307
|
+
fmt = [self.label_format(level) for level in labelled_levels] if self.label_format is not None else None,
|
|
308
|
+
inline = 1,
|
|
309
|
+
manual = self.label_positions,
|
|
310
|
+
**font_kwargs,
|
|
306
311
|
)
|
|
307
312
|
@staticmethod
|
|
308
313
|
def from_contours(contours: QuadContourSet, x: np.ndarray[tuple[int], np.dtype[np.floating]], y: np.ndarray[tuple[int], np.dtype[np.floating]], z: np.ndarray[tuple[int], np.dtype[np.floating]], uses_single_colour_value: bool = False) -> "CachedPlotContour":
|
|
@@ -356,19 +361,21 @@ class CachedPlotText(CachedPlotElement[Text]):
|
|
|
356
361
|
x = AutoProperty_NonNullable[np.ndarray[tuple[int], np.dtype[np.floating]]]()
|
|
357
362
|
y = AutoProperty_NonNullable[np.ndarray[tuple[int], np.dtype[np.floating]]]()
|
|
358
363
|
font = AutoProperty_NonNullable[CachedPlotFontInfo ]()
|
|
359
|
-
colour = AutoProperty [ColorType ]()
|
|
364
|
+
# colour = AutoProperty [ColorType ]()
|
|
360
365
|
alpha = AutoProperty_NonNullable[float ](default_value = 1.0)
|
|
361
366
|
box_colour = AutoProperty [ColorType ](allow_uninitialised = True)
|
|
362
367
|
border_colour = AutoProperty [ColorType ](allow_uninitialised = True)
|
|
363
368
|
def __init__(self, **kwargs):
|
|
364
369
|
super().__init__("text", "x", "y", "font", "alpha", "box_colour", "border_colour", **kwargs)
|
|
365
|
-
|
|
370
|
+
if "font" not in kwargs:
|
|
371
|
+
self.font = CachedPlotFontInfo()
|
|
366
372
|
def render(self, figure: Figure, axis: Axes, default_font: CachedPlotFontInfo, *args: Any, **kwargs: Any) -> None:
|
|
367
373
|
self._result = axis.text(
|
|
368
374
|
x = self.x,
|
|
369
375
|
y = self.y,
|
|
370
376
|
s = self.text,
|
|
371
377
|
**self.font.with_default(default_font).fontdict,
|
|
378
|
+
color = self.font.colour,
|
|
372
379
|
alpha = self.alpha,
|
|
373
380
|
bbox = dict(facecolor = self.box_colour, edgecolor = self.border_colour) if (self.box_colour is not None or self.border_colour is not None) else None,
|
|
374
381
|
**kwargs,
|
|
@@ -387,28 +394,29 @@ class CachedPlotText(CachedPlotElement[Text]):
|
|
|
387
394
|
)
|
|
388
395
|
|
|
389
396
|
class CachedPlotPie(CachedPlotElement[tuple[list[Wedge], list[Text]] | tuple[list[Wedge], list[Text], list[Text]]]):
|
|
390
|
-
values = AutoProperty_NonNullable[Sequence[float]|Sequence[str]]()
|
|
391
|
-
colours =
|
|
392
|
-
texture =
|
|
393
|
-
shadow = AutoProperty_NonNullable[bool](default_value = False)
|
|
394
|
-
labels =
|
|
395
|
-
label_distance = AutoProperty[float](default_value = 1.1, allow_uninitialised = True)
|
|
396
|
-
rotate_labels = AutoProperty_NonNullable[bool](default_value = False)
|
|
397
|
-
percentage_format = AutoProperty[str|CacheableFunction](allow_uninitialised = True)
|
|
398
|
-
percentage_distance = AutoProperty_NonNullable[float](default_value = 0.6)
|
|
399
|
-
centre = AutoProperty_NonNullable[tuple[float,float]](default_value = (0, 0))
|
|
400
|
-
radius = AutoProperty_NonNullable[float](default_value = 1.0)
|
|
401
|
-
start_angle = AutoProperty_NonNullable[float](default_value = 0.0)
|
|
397
|
+
values = AutoProperty_NonNullable[Sequence[float]|Sequence[str] ]()
|
|
398
|
+
colours = AutoProperty [Sequence[ColorType]|Sequence[str] ](allow_uninitialised = True)
|
|
399
|
+
texture = AutoProperty [Sequence[Literal["", "/","\\","|","-","+", "x", "o", "O", ".", "*"]|str]|str](allow_uninitialised = True)
|
|
400
|
+
shadow = AutoProperty_NonNullable[bool ](default_value = False)
|
|
401
|
+
labels = AutoProperty [Sequence[str] ](allow_uninitialised = True)
|
|
402
|
+
label_distance = AutoProperty [float ](default_value = 1.1, allow_uninitialised = True)
|
|
403
|
+
rotate_labels = AutoProperty_NonNullable[bool ](default_value = False)
|
|
404
|
+
percentage_format = AutoProperty [str|CacheableFunction ](allow_uninitialised = True)
|
|
405
|
+
percentage_distance = AutoProperty_NonNullable[float ](default_value = 0.6)
|
|
406
|
+
centre = AutoProperty_NonNullable[tuple[float,float] ](default_value = (0, 0))
|
|
407
|
+
radius = AutoProperty_NonNullable[float ](default_value = 1.0)
|
|
408
|
+
start_angle = AutoProperty_NonNullable[float ](default_value = 0.0)
|
|
402
409
|
segment_rotation = AutoProperty_NonNullable[Literal["clockwise", "anticlockwise"]](default_value = "anticlockwise")
|
|
403
|
-
wedge_properties = AutoProperty[dict](allow_uninitialised = True)
|
|
404
|
-
explode_distance = AutoProperty[Sequence[float]|Sequence[str]](allow_uninitialised = True)
|
|
405
|
-
font = AutoProperty_NonNullable[CachedPlotFontInfo]()
|
|
406
|
-
hide_axes = AutoProperty_NonNullable[bool](default_value = True)
|
|
407
|
-
ensure_complete_pie = AutoProperty_NonNullable[bool](default_value = True)
|
|
408
|
-
labled_data = AutoProperty[dict](allow_uninitialised = True)
|
|
410
|
+
wedge_properties = AutoProperty [dict ](allow_uninitialised = True)
|
|
411
|
+
explode_distance = AutoProperty [Sequence[float]|Sequence[str] ](allow_uninitialised = True)
|
|
412
|
+
font = AutoProperty_NonNullable[CachedPlotFontInfo ]()
|
|
413
|
+
hide_axes = AutoProperty_NonNullable[bool ](default_value = True)
|
|
414
|
+
ensure_complete_pie = AutoProperty_NonNullable[bool ](default_value = True)
|
|
415
|
+
labled_data = AutoProperty [dict ](allow_uninitialised = True)
|
|
409
416
|
def __init__(self, **kwargs):
|
|
410
417
|
super().__init__("values", "colours", "texture", "shadow", "labels", "label_distance", "rotate_labels", "percentage_format", "percentage_distance", "centre", "radius", "start_angle", "segment_rotation", "wedge_properties", "explode_distance", "font", "hide_axes", "ensure_complete_pie", "labled_data", **kwargs)
|
|
411
|
-
|
|
418
|
+
if "font" not in kwargs:
|
|
419
|
+
self.font = CachedPlotFontInfo()
|
|
412
420
|
def render(self, figure: Figure, axis: Axes, default_font: CachedPlotFontInfo, *args: Any, **kwargs: Any):
|
|
413
421
|
if not self.ensure_complete_pie and sum(self.values) > 1:
|
|
414
422
|
raise ValueError("The sum of the values must not exceed 1 when ensure_complete_pie is False.")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.32.11"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.32.9"
|
|
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
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_CheckpointController.py
RENAMED
|
File without changes
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_CheckpointState.py
RENAMED
|
File without changes
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/IO/Checkpointing/_PickleCheckpoint.py
RENAMED
|
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
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_dependant_dummy/_convinience_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_dependant_mpi/_convinience_methods.py
RENAMED
|
File without changes
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/MPI/_independant_dummy/_mpi_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quasarcode-0.32.9 → quasarcode-0.32.11}/src/QuasarCode/Plotting/_CachedFigureGridFactory.py
RENAMED
|
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
|