QuasarCode 0.32.16__tar.gz → 0.33.1__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.
Files changed (122) hide show
  1. {quasarcode-0.32.16 → quasarcode-0.33.1}/PKG-INFO +1 -1
  2. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedFigureGrid.py +22 -0
  3. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedPlot.py +25 -1
  4. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedPlotCustomLegend.py +16 -6
  5. quasarcode-0.33.1/src/QuasarCode/__about__.py +1 -0
  6. quasarcode-0.32.16/src/QuasarCode/__about__.py +0 -1
  7. {quasarcode-0.32.16 → quasarcode-0.33.1}/.gitattributes +0 -0
  8. {quasarcode-0.32.16 → quasarcode-0.33.1}/.gitignore +0 -0
  9. {quasarcode-0.32.16 → quasarcode-0.33.1}/.vscode/settings.json +0 -0
  10. {quasarcode-0.32.16 → quasarcode-0.33.1}/LICENSE.txt +0 -0
  11. {quasarcode-0.32.16 → quasarcode-0.33.1}/README.md +0 -0
  12. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/UnitTests_Python.pyproj +0 -0
  13. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_QuasarCode.py +0 -0
  14. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_edp.py +0 -0
  15. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_games.py +0 -0
  16. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_io.py +0 -0
  17. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_mpi.py +0 -0
  18. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_science.py +0 -0
  19. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/test_tools.py +0 -0
  20. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/testconfig.json +0 -0
  21. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/testconfig.properties +0 -0
  22. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/testconfig.yaml +0 -0
  23. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/testconfig_2.yaml +0 -0
  24. {quasarcode-0.32.16 → quasarcode-0.33.1}/old__UnitTests_Python/testingFigure.png +0 -0
  25. {quasarcode-0.32.16 → quasarcode-0.33.1}/pyproject.toml +0 -0
  26. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Data/_AuthorInfomation.py +0 -0
  27. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Data/_PersonInfomation.py +0 -0
  28. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Data/_Rect.py +0 -0
  29. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Data/_Rect3D.py +0 -0
  30. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Data/_VersionInformation.py +0 -0
  31. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Data/__init__.py +0 -0
  32. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/_CardGroup.py +0 -0
  33. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/_CardQueue.py +0 -0
  34. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/_CardStack.py +0 -0
  35. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/_Deck.py +0 -0
  36. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/_IPlayingCard.py +0 -0
  37. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/_PlayingCard.py +0 -0
  38. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Cards/__init__.py +0 -0
  39. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/_Dice12.py +0 -0
  40. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/_Dice6.py +0 -0
  41. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/_Dice8.py +0 -0
  42. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/_DiceCup.py +0 -0
  43. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/_IDice.py +0 -0
  44. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/_NDice.py +0 -0
  45. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Dice/__init__.py +0 -0
  46. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Spinners/_ISpinner.py +0 -0
  47. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Spinners/_Spinner.py +0 -0
  48. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/Spinners/__init__.py +0 -0
  49. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Games/__init__.py +0 -0
  50. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Caching/_CacheTarget.py +0 -0
  51. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Caching/_CacheTargetFactory.py +0 -0
  52. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Caching/_Cacheable.py +0 -0
  53. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Caching/_CacheableList.py +0 -0
  54. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Caching/__init__.py +0 -0
  55. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Checkpointing/_CheckpointBase.py +0 -0
  56. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Checkpointing/_CheckpointController.py +0 -0
  57. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Checkpointing/_CheckpointState.py +0 -0
  58. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Checkpointing/_PickleCheckpoint.py +0 -0
  59. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Checkpointing/__init__.py +0 -0
  60. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Configurations/_ConfigsBase.py +0 -0
  61. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Configurations/__init__.py +0 -0
  62. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Configurations/_json.py +0 -0
  63. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Configurations/_properties.py +0 -0
  64. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Configurations/_yaml.py +0 -0
  65. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Text/__init__.py +0 -0
  66. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Text/_console.py +0 -0
  67. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/Text/_stopwatch.py +0 -0
  68. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/IO/__init__.py +0 -0
  69. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_MPI_Config_Base.py +0 -0
  70. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/__init__.py +0 -0
  71. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_dependant_dummy/__init__.py +0 -0
  72. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_dependant_dummy/_convinience_methods.py +0 -0
  73. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_dependant_mpi/__init__.py +0 -0
  74. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_dependant_mpi/_convinience_methods.py +0 -0
  75. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_independant_dummy/_mpi_config.py +0 -0
  76. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/MPI/_independant_mpi/_mpi_config.py +0 -0
  77. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_Bins.py +0 -0
  78. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedFigureGridFactory.py +0 -0
  79. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedPlotElements.py +0 -0
  80. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedPlotFactory.py +0 -0
  81. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_CachedPlotFontInfo.py +0 -0
  82. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_Contour.py +0 -0
  83. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/_Hexbin.py +0 -0
  84. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Plotting/__init__.py +0 -0
  85. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/__init__.py +0 -0
  86. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/_hexbin.py +0 -0
  87. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/_plotting.py +0 -0
  88. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/data.py +0 -0
  89. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/figure.py +0 -0
  90. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/fitline.py +0 -0
  91. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Science/graph.py +0 -0
  92. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/StringLiterals.py +0 -0
  93. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/Validators.py +0 -0
  94. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_CacheableFunction.py +0 -0
  95. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_Char.py +0 -0
  96. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_ScreenResolution.py +0 -0
  97. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_Struct.py +0 -0
  98. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/__init__.py +0 -0
  99. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_array_visuliser.py +0 -0
  100. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_async.py +0 -0
  101. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_autoproperty.py +0 -0
  102. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_cast.py +0 -0
  103. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_common_casts.py +0 -0
  104. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_directorys_and_imports.py +0 -0
  105. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_edit_locals.py +0 -0
  106. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_multiItterator.py +0 -0
  107. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_networking.py +0 -0
  108. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_script_wrapper.py +0 -0
  109. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_stopwatch.py +0 -0
  110. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/Tools/_typeshield.py +0 -0
  111. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/__init__.py +0 -0
  112. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/_global_settings.py +0 -0
  113. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/edp/_Event.py +0 -0
  114. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/edp/_NotEnoughArgumentsError.py +0 -0
  115. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/edp/_SubscriberNotPresentError.py +0 -0
  116. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/edp/_UndersubscribedEventError.py +0 -0
  117. {quasarcode-0.32.16 → quasarcode-0.33.1}/src/QuasarCode/edp/__init__.py +0 -0
  118. {quasarcode-0.32.16 → quasarcode-0.33.1}/tests/__init__.py +0 -0
  119. {quasarcode-0.32.16 → quasarcode-0.33.1}/tests/test_CachedPlot.py +0 -0
  120. {quasarcode-0.32.16 → quasarcode-0.33.1}/tests/test_ScriptWrapper.py +0 -0
  121. {quasarcode-0.32.16 → quasarcode-0.33.1}/tests/test_array_visuliser.py +0 -0
  122. {quasarcode-0.32.16 → quasarcode-0.33.1}/tests/test_autoproperty.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuasarCode
3
- Version: 0.32.16
3
+ Version: 0.33.1
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
@@ -469,6 +469,28 @@ class CachedFigureGrid(CacheableStruct):
469
469
  self.colourbars.pop(name)
470
470
  except KeyError: pass
471
471
 
472
+ def add_legend(self, name: str) -> None:
473
+ self.custom_legends[name] = CachedPlotCustomLegend()
474
+
475
+ def add_to_legend(self, plot_name: str, element_name: str, label: Optional[str] = None, legend_name: Optional[str] = None) -> None:
476
+ if legend_name is None:
477
+ if len(self.custom_legends) > 1:
478
+ raise KeyError("Unable to assume legend name where multiple legends are specified.")
479
+ if len(self.custom_legends) == 0:
480
+ legend_name = "legend"
481
+ self.add_legend(legend_name)
482
+ else:
483
+ legend_name = list(self.custom_legends.keys())[0]
484
+ if label is None:
485
+ element = self.plots[plot_name].plot_elements[element_name]
486
+ try:
487
+ label = element.label
488
+ if element.label is None:
489
+ raise KeyError()
490
+ except:
491
+ raise KeyError("Element has no assigned label.")
492
+ self.custom_legends[legend_name].add_element(label, (plot_name, element_name))
493
+
472
494
  def get_axis_rect_relative(self, name: str) -> Rect:
473
495
  """
474
496
  Get a Rect instance containing the relative position and size of a named axis.
@@ -136,6 +136,30 @@ class CachedPlot(CacheableStruct):
136
136
  raise KeyError(f"No element exists with the target name \"{colourbar.target_element}\".")
137
137
  self.colourbars[name] = colourbar
138
138
 
139
+ def add_legend(self, name: str, *element_names: str) -> None:
140
+ self.custom_legends[name] = CachedPlotCustomLegend()
141
+ for element_name in element_names:
142
+ self.add_to_legend(element_name, legend_name = name)
143
+
144
+ def add_to_legend(self, element_name: str, label: Optional[str] = None, legend_name: Optional[str] = None) -> None:
145
+ if legend_name is None:
146
+ if len(self.custom_legends) > 1:
147
+ raise KeyError("Unable to assume legend name where multiple legends are specified.")
148
+ if len(self.custom_legends) == 0:
149
+ legend_name = "legend"
150
+ self.add_legend(legend_name)
151
+ else:
152
+ legend_name = list(self.custom_legends.keys())[0]
153
+ if label is None:
154
+ element = self.plot_elements[element_name]
155
+ try:
156
+ label = element.label
157
+ if element.label is None:
158
+ raise KeyError()
159
+ except:
160
+ raise KeyError("Element has no assigned label.")
161
+ self.custom_legends[legend_name].add_element(label, element_name)
162
+
139
163
  def render(self, figure: Figure, axis: Axes, figure_default_font: Optional[CachedPlotFontInfo] = None, forward_kwargs: dict[str, dict[str, Any]]|None = None, forward_colourbar_kwargs: dict[str, dict[str, Any]]|None = None) -> None:
140
164
  if forward_kwargs is None:
141
165
  forward_kwargs = {}
@@ -263,7 +287,7 @@ class CachedPlot(CacheableStruct):
263
287
  functions = tuple(self.alt_y_axis_functions)
264
288
  )
265
289
  if self.alt_y_axis_label is not None:
266
- 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)
290
+ self._alt_y_axis.set_ylabel(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)
267
291
  if self.alt_y_tick_locations is not None:
268
292
  self._alt_y_axis.yaxis.set_major_locator(FixedLocator(self.alt_y_tick_locations))
269
293
  if self.alt_y_tick_format is not None:
@@ -29,6 +29,7 @@ class CachedPlotLegendBoxProperties(CacheableStruct):
29
29
  class CachedPlotCustomLegend(CacheableStruct):
30
30
  title = AutoProperty [str ](allow_uninitialised = True)
31
31
  element_targets = AutoProperty_NonNullable[dict[str,str|tuple[str,str]] ]() # Label : target element | (target plot, target element)
32
+ order = AutoProperty [list[str] ](allow_uninitialised = True) # List of labels
32
33
  reverse_order = AutoProperty_NonNullable[bool ](default_value = False)
33
34
  columns = AutoProperty_NonNullable[int ](default_value = 1)
34
35
  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")
@@ -58,7 +59,7 @@ class CachedPlotCustomLegend(CacheableStruct):
58
59
  def __init__(self, **kwargs):
59
60
  super().__init__(
60
61
  cacheable_attributes = [
61
- "title", "element_targets", "reverse_order", "columns", "position",
62
+ "title", "element_targets", "order", "reverse_order", "columns", "position",
62
63
  "anchor_region", "anchor", "anchor_space", "label_font", "label_colours",
63
64
  "title_font", "alignment", "line_render_points", "scatter_render_points",
64
65
  "scatter_render_points_y_offsets", "marker_scale", "marker_location",
@@ -76,22 +77,31 @@ class CachedPlotCustomLegend(CacheableStruct):
76
77
  if "box" not in kwargs:
77
78
  self.box = CachedPlotLegendBoxProperties()
78
79
 
80
+ def add_element(self, label: str, target: str|tuple[str,str]) -> None:
81
+ if self.order is None:
82
+ self.order = list(self.element_targets.keys())
83
+ self.element_targets[label] = target
84
+ self.order.append(label)
85
+
79
86
  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:
80
87
 
81
88
  if plot_elements is None and elements_by_figure_plot is None:
82
89
  raise ValueError("At least one of plot_elements or elements_by_figure_plot must be provided to render a CachedPlotCustomLegend.")
83
-
90
+
84
91
  if self.anchor is None and self.anchor_region is not None:
85
92
  raise ValueError("Only one of anchor or anchor_region may be set.")
86
-
93
+
87
94
  if self.anchor_space is not None and self.anchor_space != "figure-space" and axis is None:
88
95
  raise ValueError("anchor_space cannot be set to a value other than 'figure-space' if axis is not provided.")
89
-
96
+
90
97
  anchor_transform = None if self.anchor_space is None else figure.transFigure if self.anchor_space == "figure-space" else axis.transAxes if self.anchor_space == "axis-space" else axis.transData
91
98
 
99
+ target_labels_in_order = self.order if self.order is not None else list(self.element_targets.keys())
100
+
92
101
  artists = []
93
102
  labels = []
94
- for label, target in self.element_targets.items():
103
+ for label in target_labels_in_order:
104
+ target = self.element_targets[label]
95
105
  target_plot: str|None
96
106
  target_element: str
97
107
  artist: Artist
@@ -146,4 +156,4 @@ class CachedPlotCustomLegend(CacheableStruct):
146
156
  columnspacing = self.horizontal_spacing,
147
157
  # handler_map =,
148
158
  draggable =self.mouse_draggable,
149
- )
159
+ )
@@ -0,0 +1 @@
1
+ __version__ = "0.33.1"
@@ -1 +0,0 @@
1
- __version__ = "0.32.16"
File without changes
File without changes
File without changes
File without changes
File without changes