kaxe 1.4.8.dev0__tar.gz → 1.4.9__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 (132) hide show
  1. {kaxe-1.4.8.dev0/src/kaxe.egg-info → kaxe-1.4.9}/PKG-INFO +1 -1
  2. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/pyproject.toml +1 -1
  3. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/openglrender.py +26 -7
  4. {kaxe-1.4.8.dev0 → kaxe-1.4.9/src/kaxe.egg-info}/PKG-INFO +1 -1
  5. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/LICENSE +0 -0
  6. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/MANIFEST.in +0 -0
  7. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/README.md +0 -0
  8. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/setup.cfg +0 -0
  9. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/__init__.py +0 -0
  10. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/chart/__init__.py +0 -0
  11. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/chart/bar.py +0 -0
  12. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/chart/box.py +0 -0
  13. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/chart/pie.py +0 -0
  14. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/chart/qqplot.py +0 -0
  15. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/__init__.py +0 -0
  16. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/axis.py +0 -0
  17. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/bounds.py +0 -0
  18. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/color.py +0 -0
  19. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/backend.py +0 -0
  20. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/camera.py +0 -0
  21. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/helper.py +0 -0
  22. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/hud.py +0 -0
  23. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/objects/__init__.py +0 -0
  24. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/objects/color.py +0 -0
  25. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/objects/line.py +0 -0
  26. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/objects/point.py +0 -0
  27. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/objects/pointer.py +0 -0
  28. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/objects/triangle.py +0 -0
  29. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/d3/translator.py +0 -0
  30. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/draw.py +0 -0
  31. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/fileloader.py +0 -0
  32. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/helper.py +0 -0
  33. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/legend.py +0 -0
  34. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/line.py +0 -0
  35. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/marker.py +0 -0
  36. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/profiler.py +0 -0
  37. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/round.py +0 -0
  38. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/shapes.py +0 -0
  39. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/styles.py +0 -0
  40. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/svg.py +0 -0
  41. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/svg_pdf.py +0 -0
  42. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/symbol.py +0 -0
  43. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/text.py +0 -0
  44. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/core/window.py +0 -0
  45. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/data/__init__.py +0 -0
  46. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/data/excel.py +0 -0
  47. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/__init__.py +0 -0
  48. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/_lazy.py +0 -0
  49. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/__init__.py +0 -0
  50. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/arrow.py +0 -0
  51. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/bubble.py +0 -0
  52. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/contour.py +0 -0
  53. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/equation.py +0 -0
  54. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/fill.py +0 -0
  55. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/function.py +0 -0
  56. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/map.py +0 -0
  57. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/parameter.py +0 -0
  58. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/pillar.py +0 -0
  59. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d2/point.py +0 -0
  60. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d3/__init__.py +0 -0
  61. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d3/base.py +0 -0
  62. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d3/function.py +0 -0
  63. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d3/mesh.py +0 -0
  64. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d3/point.py +0 -0
  65. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/d3/potato.py +0 -0
  66. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/function.py +0 -0
  67. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/legend.py +0 -0
  68. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/mapdata.py +0 -0
  69. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/point.py +0 -0
  70. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/objects/text.py +0 -0
  71. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/__init__.py +0 -0
  72. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/_lazy.py +0 -0
  73. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/box.py +0 -0
  74. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/constants.py +0 -0
  75. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/d3/__init__.py +0 -0
  76. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/d3/axes.py +0 -0
  77. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/d3/geometry.py +0 -0
  78. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/d3/plot3d.py +0 -0
  79. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/d3/variants.py +0 -0
  80. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/double.py +0 -0
  81. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/empty.py +0 -0
  82. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/grid.py +0 -0
  83. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/log.py +0 -0
  84. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/polar.py +0 -0
  85. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/standard.py +0 -0
  86. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/themes.py +0 -0
  87. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/zoom.py +0 -0
  88. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/plot/zoom_connector.py +0 -0
  89. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/__init__.py +0 -0
  90. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/__init__.py +0 -0
  91. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf +0 -0
  92. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf +0 -0
  93. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.bright-semibold.ttf +0 -0
  94. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.bright-semiboldoblique.ttf +0 -0
  95. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.classical-serif-italic.ttf +0 -0
  96. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf +0 -0
  97. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.concrete-bolditalic.ttf +0 -0
  98. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.concrete-italic.ttf +0 -0
  99. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf +0 -0
  100. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-bold.ttf +0 -0
  101. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-boldoblique.ttf +0 -0
  102. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-demi-condensed-demicondensed.ttf +0 -0
  103. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-medium.ttf +0 -0
  104. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-oblique.ttf +0 -0
  105. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-bold.ttf +0 -0
  106. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-bolditalic.ttf +0 -0
  107. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-boldslanted.ttf +0 -0
  108. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-romanslanted.ttf +0 -0
  109. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf +0 -0
  110. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf +0 -0
  111. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.serif-upright-italic-uprightitalic.ttf +0 -0
  112. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bold.ttf +0 -0
  113. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bolditalic.ttf +0 -0
  114. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-italic.ttf +0 -0
  115. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-light.ttf +0 -0
  116. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-lightoblique.ttf +0 -0
  117. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-regular.ttf +0 -0
  118. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-italic.ttf +0 -0
  119. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-medium.ttf +0 -0
  120. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/computer-modern-family/readme.txt +0 -0
  121. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/logo-small.png +0 -0
  122. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/symbolcross.png +0 -0
  123. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/symboldonut.png +0 -0
  124. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/symbollollipop.png +0 -0
  125. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe/resources/symboltriangle.png +0 -0
  126. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe.egg-info/SOURCES.txt +0 -0
  127. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe.egg-info/dependency_links.txt +0 -0
  128. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe.egg-info/requires.txt +0 -0
  129. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/src/kaxe.egg-info/top_level.txt +0 -0
  130. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/tests/test.py +0 -0
  131. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/tests/test2.py +0 -0
  132. {kaxe-1.4.8.dev0 → kaxe-1.4.9}/tests/test3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaxe
3
- Version: 1.4.8.dev0
3
+ Version: 1.4.9
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.8.dev0"
3
+ version = "1.4.9"
4
4
  authors = [
5
5
  { name="Valter Yde Daugberg", email="valteryde@hotmail.com" },
6
6
  ]
@@ -123,6 +123,23 @@ _display_initialized = False
123
123
  MSAA_SAMPLES = 4
124
124
 
125
125
 
126
+ def _should_quit_sdl_subsystem():
127
+ """Jupyter kernels are long-lived; SDL_Quit can crash or hang IPython on macOS."""
128
+ from ..window import terminaltype
129
+ return terminaltype != 'jupyter'
130
+
131
+
132
+ def _release_sdl_window(window, gl_context, *, quit_subsystem=None):
133
+ if gl_context:
134
+ sdl2.SDL_GL_DeleteContext(gl_context)
135
+ if window:
136
+ sdl2.SDL_DestroyWindow(window)
137
+ if quit_subsystem is None:
138
+ quit_subsystem = _should_quit_sdl_subsystem()
139
+ if quit_subsystem:
140
+ sdl2.SDL_Quit()
141
+
142
+
126
143
  def configure_gl_context_attributes():
127
144
  sdl2.SDL_GL_SetAttribute(sdl2.SDL_GL_CONTEXT_MAJOR_VERSION, 2)
128
145
  sdl2.SDL_GL_SetAttribute(sdl2.SDL_GL_CONTEXT_MINOR_VERSION, 1)
@@ -926,9 +943,7 @@ class OpenGLRender:
926
943
  self.triNoLight.finalizeAppend()
927
944
 
928
945
  def quit(self, gl_context, window):
929
- sdl2.SDL_GL_DeleteContext(gl_context)
930
- sdl2.SDL_DestroyWindow(window)
931
- sdl2.SDL_Quit()
946
+ _release_sdl_window(window, gl_context)
932
947
 
933
948
 
934
949
  def gui(self, overlay=None, plot=None):
@@ -993,10 +1008,12 @@ class OpenGLRender:
993
1008
  lasttime = time.time()
994
1009
  while sdl2.SDL_PollEvent(event):
995
1010
  if event.type == sdl2.SDL_QUIT:
1011
+ running = False
996
1012
  self.quit(gl_context, window)
997
1013
  return
998
1014
  elif event.type == sdl2.SDL_KEYDOWN:
999
1015
  if event.key.keysym.sym == sdl2.SDLK_ESCAPE:
1016
+ running = False
1000
1017
  self.quit(gl_context, window)
1001
1018
  return
1002
1019
 
@@ -1013,6 +1030,10 @@ class OpenGLRender:
1013
1030
  idle = True
1014
1031
 
1015
1032
  elif event.type == sdl2.SDL_WINDOWEVENT:
1033
+ if event.window.event == sdl2.SDL_WINDOWEVENT_CLOSE:
1034
+ running = False
1035
+ self.quit(gl_context, window)
1036
+ return
1016
1037
  if event.window.event == sdl2.SDL_WINDOWEVENT_RESIZED:
1017
1038
  width = event.window.data1
1018
1039
  height = event.window.data2
@@ -1111,7 +1132,7 @@ class OpenGLRender:
1111
1132
  sdl2.SDL_WINDOW_OPENGL | sdl2.SDL_WINDOW_HIDDEN
1112
1133
  )
1113
1134
  if not window:
1114
- sdl2.SDL_Quit()
1135
+ _release_sdl_window(None, None)
1115
1136
  raise RuntimeError("SDL_CreateWindow Error: " + str(sdl2.SDL_GetError()))
1116
1137
 
1117
1138
  self.__setIcon__(window)
@@ -1140,9 +1161,7 @@ class OpenGLRender:
1140
1161
  image = image.transpose(Image.FLIP_TOP_BOTTOM)
1141
1162
 
1142
1163
  _cleanup_offscreen_resources(resources)
1143
- sdl2.SDL_GL_DeleteContext(gl_context)
1144
- sdl2.SDL_DestroyWindow(window)
1145
- sdl2.SDL_Quit()
1164
+ _release_sdl_window(window, gl_context)
1146
1165
 
1147
1166
  self.image = image
1148
1167
  return self.image
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaxe
3
- Version: 1.4.8.dev0
3
+ Version: 1.4.9
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
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