kaxe 1.4.4.dev6__tar.gz → 1.4.4.dev8__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 (131) hide show
  1. {kaxe-1.4.4.dev6/src/kaxe.egg-info → kaxe-1.4.4.dev8}/PKG-INFO +1 -1
  2. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/pyproject.toml +1 -1
  3. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/svg_pdf.py +8 -4
  4. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/grid.py +16 -2
  5. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8/src/kaxe.egg-info}/PKG-INFO +1 -1
  6. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/LICENSE +0 -0
  7. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/MANIFEST.in +0 -0
  8. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/README.md +0 -0
  9. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/setup.cfg +0 -0
  10. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/__init__.py +0 -0
  11. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/chart/__init__.py +0 -0
  12. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/chart/bar.py +0 -0
  13. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/chart/box.py +0 -0
  14. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/chart/pie.py +0 -0
  15. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/chart/qqplot.py +0 -0
  16. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/__init__.py +0 -0
  17. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/axis.py +0 -0
  18. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/color.py +0 -0
  19. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/backend.py +0 -0
  20. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/camera.py +0 -0
  21. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/helper.py +0 -0
  22. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/hud.py +0 -0
  23. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/objects/__init__.py +0 -0
  24. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/objects/color.py +0 -0
  25. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/objects/line.py +0 -0
  26. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/objects/point.py +0 -0
  27. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/objects/pointer.py +0 -0
  28. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/objects/triangle.py +0 -0
  29. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/openglrender.py +0 -0
  30. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/d3/translator.py +0 -0
  31. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/draw.py +0 -0
  32. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/fileloader.py +0 -0
  33. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/helper.py +0 -0
  34. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/legend.py +0 -0
  35. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/line.py +0 -0
  36. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/marker.py +0 -0
  37. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/profiler.py +0 -0
  38. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/round.py +0 -0
  39. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/shapes.py +0 -0
  40. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/styles.py +0 -0
  41. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/svg.py +0 -0
  42. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/symbol.py +0 -0
  43. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/text.py +0 -0
  44. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/core/window.py +0 -0
  45. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/data/__init__.py +0 -0
  46. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/data/excel.py +0 -0
  47. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/__init__.py +0 -0
  48. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/_lazy.py +0 -0
  49. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/__init__.py +0 -0
  50. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/arrow.py +0 -0
  51. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/bubble.py +0 -0
  52. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/contour.py +0 -0
  53. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/equation.py +0 -0
  54. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/fill.py +0 -0
  55. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/function.py +0 -0
  56. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/map.py +0 -0
  57. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/parameter.py +0 -0
  58. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/pillar.py +0 -0
  59. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d2/point.py +0 -0
  60. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d3/__init__.py +0 -0
  61. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d3/base.py +0 -0
  62. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d3/function.py +0 -0
  63. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d3/mesh.py +0 -0
  64. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d3/point.py +0 -0
  65. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/d3/potato.py +0 -0
  66. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/function.py +0 -0
  67. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/legend.py +0 -0
  68. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/mapdata.py +0 -0
  69. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/point.py +0 -0
  70. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/objects/text.py +0 -0
  71. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/__init__.py +0 -0
  72. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/_lazy.py +0 -0
  73. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/box.py +0 -0
  74. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/constants.py +0 -0
  75. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/d3/__init__.py +0 -0
  76. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/d3/axes.py +0 -0
  77. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/d3/geometry.py +0 -0
  78. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/d3/plot3d.py +0 -0
  79. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/d3/variants.py +0 -0
  80. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/double.py +0 -0
  81. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/empty.py +0 -0
  82. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/log.py +0 -0
  83. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/polar.py +0 -0
  84. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/standard.py +0 -0
  85. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/themes.py +0 -0
  86. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/zoom.py +0 -0
  87. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/plot/zoom_connector.py +0 -0
  88. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/__init__.py +0 -0
  89. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/__init__.py +0 -0
  90. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf +0 -0
  91. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf +0 -0
  92. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.bright-semibold.ttf +0 -0
  93. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.bright-semiboldoblique.ttf +0 -0
  94. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.classical-serif-italic.ttf +0 -0
  95. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf +0 -0
  96. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.concrete-bolditalic.ttf +0 -0
  97. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.concrete-italic.ttf +0 -0
  98. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf +0 -0
  99. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-bold.ttf +0 -0
  100. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-boldoblique.ttf +0 -0
  101. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-demi-condensed-demicondensed.ttf +0 -0
  102. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-medium.ttf +0 -0
  103. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-oblique.ttf +0 -0
  104. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-bold.ttf +0 -0
  105. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-bolditalic.ttf +0 -0
  106. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-boldslanted.ttf +0 -0
  107. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-romanslanted.ttf +0 -0
  108. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf +0 -0
  109. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf +0 -0
  110. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.serif-upright-italic-uprightitalic.ttf +0 -0
  111. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bold.ttf +0 -0
  112. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bolditalic.ttf +0 -0
  113. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-italic.ttf +0 -0
  114. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-light.ttf +0 -0
  115. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-lightoblique.ttf +0 -0
  116. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-regular.ttf +0 -0
  117. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-italic.ttf +0 -0
  118. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-medium.ttf +0 -0
  119. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/computer-modern-family/readme.txt +0 -0
  120. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/logo-small.png +0 -0
  121. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/symbolcross.png +0 -0
  122. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/symboldonut.png +0 -0
  123. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/symbollollipop.png +0 -0
  124. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe/resources/symboltriangle.png +0 -0
  125. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe.egg-info/SOURCES.txt +0 -0
  126. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe.egg-info/dependency_links.txt +0 -0
  127. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe.egg-info/requires.txt +0 -0
  128. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/src/kaxe.egg-info/top_level.txt +0 -0
  129. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/tests/test.py +0 -0
  130. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/tests/test2.py +0 -0
  131. {kaxe-1.4.4.dev6 → kaxe-1.4.4.dev8}/tests/test3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaxe
3
- Version: 1.4.4.dev6
3
+ Version: 1.4.4.dev8
4
4
  Summary: A small graphing tool for functions, points, equations and more
5
5
  Author-email: Valter Yde Daugberg <valteryde@hotmail.com>
6
6
  Project-URL: Homepage, https://github.com/valteryde/kaxe
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kaxe"
3
- version = "1.4.4.dev6"
3
+ version = "1.4.4.dev8"
4
4
  authors = [
5
5
  { name="Valter Yde Daugberg", email="valteryde@hotmail.com" },
6
6
  ]
@@ -262,16 +262,20 @@ def _is_identity(matrix: _Matrix, tol: float = 1e-9) -> bool:
262
262
 
263
263
 
264
264
  def _matrix_to_reportlab_transform(matrix: _Matrix, height: int, *, nested: bool) -> list[float]:
265
- """Map SVG-local y-down coords to ReportLab parent coords via Group.transform."""
266
- # Conjugate y-down SVG affine with flip-to-y-up: T(height) * M * F, F:(x,y)->(x,-y)
267
- f = height if not nested else 0.0
265
+ """Map SVG-local y-down coords to ReportLab via Group.transform.
266
+
267
+ Child shapes use local coords (x, -y_svg). For a parent SVG transform
268
+ [a b c d e f], the equivalent ReportLab affine is
269
+ [a, -b, -c, d, e, height - f] at the document root, or
270
+ [a, -b, -c, d, e, -f] inside an already-flipped parent group.
271
+ """
268
272
  return [
269
273
  matrix.a,
270
274
  -matrix.b,
271
275
  -matrix.c,
272
276
  matrix.d,
273
277
  matrix.e,
274
- f + matrix.f,
278
+ height - matrix.f if not nested else -matrix.f,
275
279
  ]
276
280
 
277
281
 
@@ -96,6 +96,21 @@ class Grid(AttrObject):
96
96
  self.__legends = legends
97
97
 
98
98
 
99
+ def theme(self, theme):
100
+ """Apply a theme dict (e.g. :data:`kaxe.Themes.A4Medium`) to the grid."""
101
+ self.style(**theme)
102
+
103
+
104
+ def _apply_cell_styles(self, plot, cellWidth, cellHeight):
105
+ plot.style(
106
+ width=cellWidth,
107
+ height=cellHeight,
108
+ outerPadding=self.outerPadding,
109
+ fontSize=self.getAttr('fontSize'),
110
+ color=self.getAttr('color'),
111
+ )
112
+
113
+
99
114
  def _prepare_cells(self, vector: bool = False):
100
115
  """Style cells, export to memory, and compute composite layout."""
101
116
  grid = self.grid
@@ -117,8 +132,7 @@ class Grid(AttrObject):
117
132
  maxHeight = 0
118
133
 
119
134
  for colNum, plot in enumerate(row):
120
- plot.style(width=cellWidth, height=cellHeight)
121
- plot.style(outerPadding=self.outerPadding)
135
+ self._apply_cell_styles(plot, cellWidth, cellHeight)
122
136
 
123
137
  memfile = BytesIO()
124
138
  plot.showProgressBar = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaxe
3
- Version: 1.4.4.dev6
3
+ Version: 1.4.4.dev8
4
4
  Summary: A small graphing tool for functions, points, equations and more
5
5
  Author-email: Valter Yde Daugberg <valteryde@hotmail.com>
6
6
  Project-URL: Homepage, https://github.com/valteryde/kaxe
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes