diplotocus 0.0.5__tar.gz → 0.3__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 (248) hide show
  1. diplotocus-0.3/.gitattributes +2 -0
  2. diplotocus-0.3/.gitignore +16 -0
  3. diplotocus-0.3/.readthedocs.yaml +15 -0
  4. diplotocus-0.3/LICENSE +21 -0
  5. diplotocus-0.3/PKG-INFO +16 -0
  6. diplotocus-0.3/docs/Makefile +20 -0
  7. diplotocus-0.3/docs/_static/force-light.css +31 -0
  8. diplotocus-0.3/docs/_static/force-light.js +36 -0
  9. diplotocus-0.3/docs/build/doctrees/api/core.doctree +0 -0
  10. diplotocus-0.3/docs/build/doctrees/api/index.doctree +0 -0
  11. diplotocus-0.3/docs/build/doctrees/environment.pickle +0 -0
  12. diplotocus-0.3/docs/build/doctrees/index.doctree +0 -0
  13. diplotocus-0.3/docs/build/doctrees/notebooks/GUI.doctree +0 -0
  14. diplotocus-0.3/docs/build/doctrees/notebooks/animations.doctree +0 -0
  15. diplotocus-0.3/docs/build/doctrees/notebooks/easings.doctree +0 -0
  16. diplotocus-0.3/docs/build/doctrees/notebooks/installation.doctree +0 -0
  17. diplotocus-0.3/docs/build/doctrees/notebooks/plot_objects.doctree +0 -0
  18. diplotocus-0.3/docs/build/doctrees/notebooks/quick-start.doctree +0 -0
  19. diplotocus-0.3/docs/build/doctrees/notebooks/timeline.doctree +0 -0
  20. diplotocus-0.3/docs/build/html/.buildinfo +4 -0
  21. diplotocus-0.3/docs/build/html/_images/Web_GUI.png +0 -0
  22. diplotocus-0.3/docs/build/html/_sources/api/core.rst.txt +119 -0
  23. diplotocus-0.3/docs/build/html/_sources/api/index.rst.txt +9 -0
  24. diplotocus-0.3/docs/build/html/_sources/index.rst.txt +87 -0
  25. diplotocus-0.3/docs/build/html/_sources/notebooks/GUI.ipynb.txt +91 -0
  26. diplotocus-0.3/docs/build/html/_sources/notebooks/animations.ipynb.txt +1071 -0
  27. diplotocus-0.3/docs/build/html/_sources/notebooks/easings.ipynb.txt +1614 -0
  28. diplotocus-0.3/docs/build/html/_sources/notebooks/installation.ipynb.txt +56 -0
  29. diplotocus-0.3/docs/build/html/_sources/notebooks/plot_objects.ipynb.txt +47 -0
  30. diplotocus-0.3/docs/build/html/_sources/notebooks/quick-start.ipynb.txt +231 -0
  31. diplotocus-0.3/docs/build/html/_sources/notebooks/timeline.ipynb.txt +72 -0
  32. diplotocus-0.3/docs/build/html/_static/Web_GUI.png +0 -0
  33. diplotocus-0.3/docs/build/html/_static/anim_draw.mp4 +0 -0
  34. diplotocus-0.3/docs/build/html/_static/anim_morph.mp4 +0 -0
  35. diplotocus-0.3/docs/build/html/_static/anim_rotate.mp4 +0 -0
  36. diplotocus-0.3/docs/build/html/_static/anim_scale.mp4 +0 -0
  37. diplotocus-0.3/docs/build/html/_static/anim_sequence.mp4 +0 -0
  38. diplotocus-0.3/docs/build/html/_static/anim_translate.mp4 +0 -0
  39. diplotocus-0.3/docs/build/html/_static/anim_tween.mp4 +0 -0
  40. diplotocus-0.3/docs/build/html/_static/axis_alpha.mp4 +0 -0
  41. diplotocus-0.3/docs/build/html/_static/axis_limits.mp4 +0 -0
  42. diplotocus-0.3/docs/build/html/_static/axis_move.mp4 +0 -0
  43. diplotocus-0.3/docs/build/html/_static/axis_zoom.mp4 +0 -0
  44. diplotocus-0.3/docs/build/html/_static/basic.css +925 -0
  45. diplotocus-0.3/docs/build/html/_static/button.svg +174 -0
  46. diplotocus-0.3/docs/build/html/_static/check-solid.svg +4 -0
  47. diplotocus-0.3/docs/build/html/_static/clipboard.min.js +7 -0
  48. diplotocus-0.3/docs/build/html/_static/copy-button.svg +5 -0
  49. diplotocus-0.3/docs/build/html/_static/copybutton.css +94 -0
  50. diplotocus-0.3/docs/build/html/_static/copybutton.js +248 -0
  51. diplotocus-0.3/docs/build/html/_static/copybutton_funcs.js +73 -0
  52. diplotocus-0.3/docs/build/html/_static/cubicBezier.mp4 +0 -0
  53. diplotocus-0.3/docs/build/html/_static/customEase.mp4 +0 -0
  54. diplotocus-0.3/docs/build/html/_static/debug.css +69 -0
  55. diplotocus-0.3/docs/build/html/_static/demo.mp4 +0 -0
  56. diplotocus-0.3/docs/build/html/_static/doctools.js +156 -0
  57. diplotocus-0.3/docs/build/html/_static/documentation_options.js +13 -0
  58. diplotocus-0.3/docs/build/html/_static/easeInBack.mp4 +0 -0
  59. diplotocus-0.3/docs/build/html/_static/easeInBounce.mp4 +0 -0
  60. diplotocus-0.3/docs/build/html/_static/easeInCirc.mp4 +0 -0
  61. diplotocus-0.3/docs/build/html/_static/easeInCubic.mp4 +0 -0
  62. diplotocus-0.3/docs/build/html/_static/easeInElastic.mp4 +0 -0
  63. diplotocus-0.3/docs/build/html/_static/easeInExpo.mp4 +0 -0
  64. diplotocus-0.3/docs/build/html/_static/easeInOutBack.mp4 +0 -0
  65. diplotocus-0.3/docs/build/html/_static/easeInOutBounce.mp4 +0 -0
  66. diplotocus-0.3/docs/build/html/_static/easeInOutCirc.mp4 +0 -0
  67. diplotocus-0.3/docs/build/html/_static/easeInOutCubic.mp4 +0 -0
  68. diplotocus-0.3/docs/build/html/_static/easeInOutElastic.mp4 +0 -0
  69. diplotocus-0.3/docs/build/html/_static/easeInOutExpo.mp4 +0 -0
  70. diplotocus-0.3/docs/build/html/_static/easeInOutQuad.mp4 +0 -0
  71. diplotocus-0.3/docs/build/html/_static/easeInOutQuart.mp4 +0 -0
  72. diplotocus-0.3/docs/build/html/_static/easeInOutQuint.mp4 +0 -0
  73. diplotocus-0.3/docs/build/html/_static/easeInOutSine.mp4 +0 -0
  74. diplotocus-0.3/docs/build/html/_static/easeInQuad.mp4 +0 -0
  75. diplotocus-0.3/docs/build/html/_static/easeInQuart.mp4 +0 -0
  76. diplotocus-0.3/docs/build/html/_static/easeInQuint.mp4 +0 -0
  77. diplotocus-0.3/docs/build/html/_static/easeInSine.mp4 +0 -0
  78. diplotocus-0.3/docs/build/html/_static/easeLinear.mp4 +0 -0
  79. diplotocus-0.3/docs/build/html/_static/easeOutBack.mp4 +0 -0
  80. diplotocus-0.3/docs/build/html/_static/easeOutBounce.mp4 +0 -0
  81. diplotocus-0.3/docs/build/html/_static/easeOutCirc.mp4 +0 -0
  82. diplotocus-0.3/docs/build/html/_static/easeOutCubic.mp4 +0 -0
  83. diplotocus-0.3/docs/build/html/_static/easeOutElastic.mp4 +0 -0
  84. diplotocus-0.3/docs/build/html/_static/easeOutExpo.mp4 +0 -0
  85. diplotocus-0.3/docs/build/html/_static/easeOutQuad.mp4 +0 -0
  86. diplotocus-0.3/docs/build/html/_static/easeOutQuart.mp4 +0 -0
  87. diplotocus-0.3/docs/build/html/_static/easeOutQuint.mp4 +0 -0
  88. diplotocus-0.3/docs/build/html/_static/easeOutSine.mp4 +0 -0
  89. diplotocus-0.3/docs/build/html/_static/favicon.ico +0 -0
  90. diplotocus-0.3/docs/build/html/_static/fig_height_ratio.mp4 +0 -0
  91. diplotocus-0.3/docs/build/html/_static/fig_width_ratio.mp4 +0 -0
  92. diplotocus-0.3/docs/build/html/_static/file.png +0 -0
  93. diplotocus-0.3/docs/build/html/_static/force-light.css +25 -0
  94. diplotocus-0.3/docs/build/html/_static/force-light.js +36 -0
  95. diplotocus-0.3/docs/build/html/_static/language_data.js +199 -0
  96. diplotocus-0.3/docs/build/html/_static/logo.mp4 +0 -0
  97. diplotocus-0.3/docs/build/html/_static/logo.svg +276 -0
  98. diplotocus-0.3/docs/build/html/_static/minus.png +0 -0
  99. diplotocus-0.3/docs/build/html/_static/mystnb.8ecb98da25f57f5357bf6f572d296f466b2cfe2517ffebfabe82451661e28f02.css +2474 -0
  100. diplotocus-0.3/docs/build/html/_static/plus.png +0 -0
  101. diplotocus-0.3/docs/build/html/_static/pygments.css +249 -0
  102. diplotocus-0.3/docs/build/html/_static/scripts/furo-extensions.js +0 -0
  103. diplotocus-0.3/docs/build/html/_static/scripts/furo.js +3 -0
  104. diplotocus-0.3/docs/build/html/_static/scripts/furo.js.LICENSE.txt +7 -0
  105. diplotocus-0.3/docs/build/html/_static/scripts/furo.js.map +1 -0
  106. diplotocus-0.3/docs/build/html/_static/searchtools.js +620 -0
  107. diplotocus-0.3/docs/build/html/_static/skeleton.css +296 -0
  108. diplotocus-0.3/docs/build/html/_static/sphinx_highlight.js +154 -0
  109. diplotocus-0.3/docs/build/html/_static/styles/furo-extensions.css +2 -0
  110. diplotocus-0.3/docs/build/html/_static/styles/furo-extensions.css.map +1 -0
  111. diplotocus-0.3/docs/build/html/_static/styles/furo.css +2 -0
  112. diplotocus-0.3/docs/build/html/_static/styles/furo.css.map +1 -0
  113. diplotocus-0.3/docs/build/html/api/core.html +3573 -0
  114. diplotocus-0.3/docs/build/html/api/index.html +333 -0
  115. diplotocus-0.3/docs/build/html/genindex.html +742 -0
  116. diplotocus-0.3/docs/build/html/index.html +471 -0
  117. diplotocus-0.3/docs/build/html/notebooks/GUI.html +394 -0
  118. diplotocus-0.3/docs/build/html/notebooks/animations.html +1049 -0
  119. diplotocus-0.3/docs/build/html/notebooks/easings.html +992 -0
  120. diplotocus-0.3/docs/build/html/notebooks/installation.html +338 -0
  121. diplotocus-0.3/docs/build/html/notebooks/plot_objects.html +375 -0
  122. diplotocus-0.3/docs/build/html/notebooks/quick-start.html +422 -0
  123. diplotocus-0.3/docs/build/html/notebooks/timeline.html +391 -0
  124. diplotocus-0.3/docs/build/html/objects.inv +0 -0
  125. diplotocus-0.3/docs/build/html/py-modindex.html +315 -0
  126. diplotocus-0.3/docs/build/html/search.html +305 -0
  127. diplotocus-0.3/docs/build/html/searchindex.js +1 -0
  128. diplotocus-0.3/docs/build/jupyter_execute/notebooks/GUI.ipynb +91 -0
  129. diplotocus-0.3/docs/build/jupyter_execute/notebooks/animations.ipynb +1071 -0
  130. diplotocus-0.3/docs/build/jupyter_execute/notebooks/easings.ipynb +1614 -0
  131. diplotocus-0.3/docs/build/jupyter_execute/notebooks/installation.ipynb +56 -0
  132. diplotocus-0.3/docs/build/jupyter_execute/notebooks/plot_objects.ipynb +47 -0
  133. diplotocus-0.3/docs/build/jupyter_execute/notebooks/quick-start.ipynb +231 -0
  134. diplotocus-0.3/docs/build/jupyter_execute/notebooks/timeline.ipynb +72 -0
  135. diplotocus-0.3/docs/make.bat +35 -0
  136. diplotocus-0.3/docs/requirements.txt +8 -0
  137. diplotocus-0.3/docs/source/_static/Web_GUI.png +0 -0
  138. diplotocus-0.3/docs/source/_static/anim_draw.mp4 +0 -0
  139. diplotocus-0.3/docs/source/_static/anim_morph.mp4 +0 -0
  140. diplotocus-0.3/docs/source/_static/anim_rotate.mp4 +0 -0
  141. diplotocus-0.3/docs/source/_static/anim_scale.mp4 +0 -0
  142. diplotocus-0.3/docs/source/_static/anim_sequence.mp4 +0 -0
  143. diplotocus-0.3/docs/source/_static/anim_translate.mp4 +0 -0
  144. diplotocus-0.3/docs/source/_static/anim_tween.mp4 +0 -0
  145. diplotocus-0.3/docs/source/_static/axis_alpha.mp4 +0 -0
  146. diplotocus-0.3/docs/source/_static/axis_limits.mp4 +0 -0
  147. diplotocus-0.3/docs/source/_static/axis_move.mp4 +0 -0
  148. diplotocus-0.3/docs/source/_static/axis_zoom.mp4 +0 -0
  149. diplotocus-0.3/docs/source/_static/button.svg +174 -0
  150. diplotocus-0.3/docs/source/_static/cubicBezier.mp4 +0 -0
  151. diplotocus-0.3/docs/source/_static/customEase.mp4 +0 -0
  152. diplotocus-0.3/docs/source/_static/demo.mp4 +0 -0
  153. diplotocus-0.3/docs/source/_static/easeInBack.mp4 +0 -0
  154. diplotocus-0.3/docs/source/_static/easeInBounce.mp4 +0 -0
  155. diplotocus-0.3/docs/source/_static/easeInCirc.mp4 +0 -0
  156. diplotocus-0.3/docs/source/_static/easeInCubic.mp4 +0 -0
  157. diplotocus-0.3/docs/source/_static/easeInElastic.mp4 +0 -0
  158. diplotocus-0.3/docs/source/_static/easeInExpo.mp4 +0 -0
  159. diplotocus-0.3/docs/source/_static/easeInOutBack.mp4 +0 -0
  160. diplotocus-0.3/docs/source/_static/easeInOutBounce.mp4 +0 -0
  161. diplotocus-0.3/docs/source/_static/easeInOutCirc.mp4 +0 -0
  162. diplotocus-0.3/docs/source/_static/easeInOutCubic.mp4 +0 -0
  163. diplotocus-0.3/docs/source/_static/easeInOutElastic.mp4 +0 -0
  164. diplotocus-0.3/docs/source/_static/easeInOutExpo.mp4 +0 -0
  165. diplotocus-0.3/docs/source/_static/easeInOutQuad.mp4 +0 -0
  166. diplotocus-0.3/docs/source/_static/easeInOutQuart.mp4 +0 -0
  167. diplotocus-0.3/docs/source/_static/easeInOutQuint.mp4 +0 -0
  168. diplotocus-0.3/docs/source/_static/easeInOutSine.mp4 +0 -0
  169. diplotocus-0.3/docs/source/_static/easeInQuad.mp4 +0 -0
  170. diplotocus-0.3/docs/source/_static/easeInQuart.mp4 +0 -0
  171. diplotocus-0.3/docs/source/_static/easeInQuint.mp4 +0 -0
  172. diplotocus-0.3/docs/source/_static/easeInSine.mp4 +0 -0
  173. diplotocus-0.3/docs/source/_static/easeLinear.mp4 +0 -0
  174. diplotocus-0.3/docs/source/_static/easeOutBack.mp4 +0 -0
  175. diplotocus-0.3/docs/source/_static/easeOutBounce.mp4 +0 -0
  176. diplotocus-0.3/docs/source/_static/easeOutCirc.mp4 +0 -0
  177. diplotocus-0.3/docs/source/_static/easeOutCubic.mp4 +0 -0
  178. diplotocus-0.3/docs/source/_static/easeOutElastic.mp4 +0 -0
  179. diplotocus-0.3/docs/source/_static/easeOutExpo.mp4 +0 -0
  180. diplotocus-0.3/docs/source/_static/easeOutQuad.mp4 +0 -0
  181. diplotocus-0.3/docs/source/_static/easeOutQuart.mp4 +0 -0
  182. diplotocus-0.3/docs/source/_static/easeOutQuint.mp4 +0 -0
  183. diplotocus-0.3/docs/source/_static/easeOutSine.mp4 +0 -0
  184. diplotocus-0.3/docs/source/_static/favicon.ico +0 -0
  185. diplotocus-0.3/docs/source/_static/fig_height_ratio.mp4 +0 -0
  186. diplotocus-0.3/docs/source/_static/fig_width_ratio.mp4 +0 -0
  187. diplotocus-0.3/docs/source/_static/force-light.css +25 -0
  188. diplotocus-0.3/docs/source/_static/force-light.js +36 -0
  189. diplotocus-0.3/docs/source/_static/logo.mp4 +0 -0
  190. diplotocus-0.3/docs/source/_static/logo.svg +276 -0
  191. diplotocus-0.3/docs/source/api/core.rst +119 -0
  192. diplotocus-0.3/docs/source/api/index.rst +9 -0
  193. diplotocus-0.3/docs/source/conf.py +99 -0
  194. diplotocus-0.3/docs/source/index.rst +87 -0
  195. diplotocus-0.3/docs/source/notebooks/GUI.ipynb +91 -0
  196. diplotocus-0.3/docs/source/notebooks/animations.ipynb +1071 -0
  197. diplotocus-0.3/docs/source/notebooks/easings.ipynb +1614 -0
  198. diplotocus-0.3/docs/source/notebooks/index.ipynb +161 -0
  199. diplotocus-0.3/docs/source/notebooks/installation.ipynb +56 -0
  200. diplotocus-0.3/docs/source/notebooks/logo.ipynb +132 -0
  201. diplotocus-0.3/docs/source/notebooks/plot_objects.ipynb +47 -0
  202. diplotocus-0.3/docs/source/notebooks/quick-start.ipynb +231 -0
  203. diplotocus-0.3/docs/source/notebooks/timeline.ipynb +72 -0
  204. diplotocus-0.3/logo.png +0 -0
  205. {diplotocus-0.0.5 → diplotocus-0.3}/pyproject.toml +9 -5
  206. {diplotocus-0.0.5/diplotocus → diplotocus-0.3}/readme.md +4 -4
  207. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/GUI/GUI.html +7 -11
  208. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/GUI/app.js +104 -22
  209. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/GUI/server.py +196 -78
  210. diplotocus-0.3/src/diplotocus/GUI/src/bg.png +0 -0
  211. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Draw.png +0 -0
  212. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Morph.png +0 -0
  213. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Rotate.png +0 -0
  214. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Scale.png +0 -0
  215. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Sequence.png +0 -0
  216. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Translate.png +0 -0
  217. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_Tween.png +0 -0
  218. diplotocus-0.3/src/diplotocus/GUI/src/btn/btn_bg_default.png +0 -0
  219. diplotocus-0.3/src/diplotocus/GUI/src/favicon.ico +0 -0
  220. diplotocus-0.3/src/diplotocus/GUI/src/logo_bg.png +0 -0
  221. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/GUI/style.css +60 -11
  222. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/__init__.py +1 -1
  223. diplotocus-0.3/src/diplotocus/_version.py +1 -0
  224. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/animations.py +425 -193
  225. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/core.py +152 -50
  226. diplotocus-0.3/src/diplotocus.egg-info/PKG-INFO +16 -0
  227. diplotocus-0.3/src/diplotocus.egg-info/SOURCES.txt +240 -0
  228. diplotocus-0.3/tests/test.py +38 -0
  229. diplotocus-0.3/tests/test10.py +55 -0
  230. diplotocus-0.3/tests/test2.py +59 -0
  231. diplotocus-0.3/tests/test3.py +32 -0
  232. diplotocus-0.3/tests/test4.py +240 -0
  233. diplotocus-0.3/tests/test5.py +30 -0
  234. diplotocus-0.3/tests/test6.py +29 -0
  235. diplotocus-0.3/tests/test7.py +19 -0
  236. diplotocus-0.3/tests/test8.py +29 -0
  237. diplotocus-0.0.5/PKG-INFO +0 -42
  238. diplotocus-0.0.5/diplotocus/_generated_api.py +0 -1977
  239. diplotocus-0.0.5/diplotocus/_version.py +0 -1
  240. diplotocus-0.0.5/diplotocus/generate_doc_api.py +0 -151
  241. diplotocus-0.0.5/diplotocus.egg-info/PKG-INFO +0 -42
  242. diplotocus-0.0.5/diplotocus.egg-info/SOURCES.txt +0 -19
  243. {diplotocus-0.0.5 → diplotocus-0.3}/setup.cfg +0 -0
  244. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/GUI/__init__.py +0 -0
  245. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus/easings.py +0 -0
  246. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus.egg-info/dependency_links.txt +0 -0
  247. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus.egg-info/requires.txt +0 -0
  248. {diplotocus-0.0.5 → diplotocus-0.3/src}/diplotocus.egg-info/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
@@ -0,0 +1,16 @@
1
+ __pycache__/
2
+ *.mov
3
+ *.ai
4
+ GUI_web/.DS_Store
5
+ .DS_Store
6
+ diplotocus-docs/.DS_Store
7
+ diplotocus-docs/Unnamed/
8
+ tests
9
+ .vscode
10
+ Unnamed
11
+ benchmark
12
+ diplotocus.egg-info
13
+ generate_doc_api.py
14
+ dist
15
+ src/diplotocus/INFO
16
+ INFO
@@ -0,0 +1,15 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-22.04
5
+ tools:
6
+ python: "3.11"
7
+
8
+ sphinx:
9
+ configuration: docs/source/conf.py
10
+
11
+ python:
12
+ install:
13
+ - method: pip
14
+ path: .
15
+ - requirements: docs/requirements.txt
diplotocus-0.3/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) [2026] [Tristan Boin]
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,16 @@
1
+ Metadata-Version: 2.4
2
+ Name: diplotocus
3
+ Version: 0.3
4
+ Summary: A python package to generate animations of matplotlib objects.
5
+ Author-email: Tristan Boin <tristan.boin@obspm.fr>
6
+ License-Expression: MIT
7
+ Classifier: Intended Audience :: Science/Research
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Framework :: Matplotlib
10
+ Classifier: Programming Language :: Python :: 3
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: numpy
14
+ Requires-Dist: matplotlib
15
+ Requires-Dist: svgpath2mpl
16
+ Dynamic: license-file
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = source
9
+ BUILDDIR = build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,31 @@
1
+ /* Force Furo to light mode and hide the theme toggle */
2
+ :root,
3
+ html,
4
+ body,
5
+ [data-theme] {
6
+ color-scheme: light !important;
7
+ background-color: var(--color-background-primary) !important;
8
+ color: var(--color-foreground-primary) !important;
9
+ }
10
+
11
+ html[data-theme="dark"], body[data-theme="dark"], [data-theme="dark"] {
12
+ color-scheme: light !important;
13
+ }
14
+
15
+ /* Hide the theme toggle controls so visitors cannot switch */
16
+ .theme-toggle,
17
+ .toggle-color-mode,
18
+ .toggle-theme,
19
+ .sd-theme-toggle,
20
+ button[aria-label^="Toggle color"],
21
+ button[aria-label*="theme"] {
22
+ display: none !important;
23
+ }
24
+
25
+ /* Ensure sidebar logo and notebook outputs remain visible */
26
+ .content-icon-container{
27
+ display: block !important;
28
+ }
29
+ .nboutput, .output, .jp-OutputArea, .output_area {
30
+ display: block !important;
31
+ }
@@ -0,0 +1,36 @@
1
+ (function enforceLight() {
2
+ function setLight() {
3
+ try {
4
+ // prefer setting the document element attribute used by themes
5
+ document.documentElement.setAttribute('data-theme', 'light');
6
+ if (document.body) document.body.dataset.theme = 'light';
7
+ localStorage.setItem('theme', 'light');
8
+
9
+ // hide common theme toggle controls if present
10
+ var selectors = [
11
+ '.theme-toggle',
12
+ '.toggle-color-mode',
13
+ '.toggle-theme',
14
+ '.sd-theme-toggle',
15
+ 'button[aria-label^="Toggle color"], button[aria-label*="theme"]'
16
+ ];
17
+ selectors.forEach(function(s) {
18
+ var el = document.querySelector(s);
19
+ if (el) el.style.display = 'none';
20
+ });
21
+ } catch (e) {
22
+ // ignore
23
+ }
24
+ }
25
+
26
+ setLight();
27
+ window.addEventListener('DOMContentLoaded', setLight);
28
+ window.addEventListener('load', setLight);
29
+ // Enforce repeatedly for a short while in case other scripts override
30
+ var tries = 0;
31
+ var id = setInterval(function() {
32
+ setLight();
33
+ tries += 1;
34
+ if (tries > 20) clearInterval(id);
35
+ }, 200);
36
+ })();
@@ -0,0 +1,4 @@
1
+ # Sphinx build info version 1
2
+ # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3
+ config: cb70878f0e1cea535f3a9cb2f95cac0e
4
+ tags: 645f666f9bcd5a90fca523b33c5a78b7
@@ -0,0 +1,119 @@
1
+ Core Module
2
+ ===========
3
+
4
+ Timeline
5
+ --------
6
+
7
+ .. autoclass:: diplotocus.core.Timeline
8
+ :members:
9
+ :undoc-members:
10
+ :show-inheritance:
11
+
12
+ Animations
13
+ ----------
14
+
15
+ Base
16
+ ~~~~
17
+
18
+ .. autoclass:: diplotocus.animations.Animation
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
23
+ Axis and figure animations
24
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
25
+
26
+ .. autoclass:: diplotocus.animations.axis_zoom
27
+ :members:
28
+ :undoc-members:
29
+
30
+ .. autoclass:: diplotocus.animations.axis_limits
31
+ :members:
32
+ :undoc-members:
33
+
34
+ .. autoclass:: diplotocus.animations.axis_move
35
+ :members:
36
+ :undoc-members:
37
+
38
+ .. autoclass:: diplotocus.animations.axis_alpha
39
+ :members:
40
+ :undoc-members:
41
+
42
+ .. autoclass:: diplotocus.animations.fig_width_ratio
43
+ :members:
44
+ :undoc-members:
45
+
46
+ .. autoclass:: diplotocus.animations.fig_height_ratio
47
+ :members:
48
+ :undoc-members:
49
+
50
+ Plot object animations
51
+ ~~~~~~~~~~~~~~~~~~~~~~
52
+
53
+ .. autoclass:: diplotocus.animations.scatter
54
+ :members:
55
+ :undoc-members:
56
+
57
+ .. autoclass:: diplotocus.animations.plot
58
+ :members:
59
+ :undoc-members:
60
+
61
+ .. autoclass:: diplotocus.animations.step
62
+ :members:
63
+ :undoc-members:
64
+
65
+ .. autoclass:: diplotocus.animations.fill_between
66
+ :members:
67
+ :undoc-members:
68
+
69
+ .. autoclass:: diplotocus.animations.fill_betweenx
70
+ :members:
71
+ :undoc-members:
72
+
73
+ .. autoclass:: diplotocus.animations.axvline
74
+ :members:
75
+ :undoc-members:
76
+
77
+ .. autoclass:: diplotocus.animations.axhline
78
+ :members:
79
+ :undoc-members:
80
+
81
+ .. autoclass:: diplotocus.animations.errorbar
82
+ :members:
83
+ :undoc-members:
84
+
85
+ .. autoclass:: diplotocus.animations.hist
86
+ :members:
87
+ :undoc-members:
88
+
89
+ .. autoclass:: diplotocus.animations.hist2d
90
+ :members:
91
+ :undoc-members:
92
+
93
+ .. autoclass:: diplotocus.animations.contourf
94
+ :members:
95
+ :undoc-members:
96
+
97
+ .. autoclass:: diplotocus.animations.text
98
+ :members:
99
+ :undoc-members:
100
+
101
+ .. autoclass:: diplotocus.animations.svg
102
+ :members:
103
+ :undoc-members:
104
+
105
+ Easings
106
+ -------
107
+
108
+ .. automodule:: diplotocus.easings
109
+ :members:
110
+ :undoc-members:
111
+ :show-inheritance:
112
+
113
+ GUI
114
+ ===
115
+
116
+ .. autoclass:: diplotocus.GUI.server.GUI
117
+ :members:
118
+ :undoc-members:
119
+ :show-inheritance:
@@ -0,0 +1,9 @@
1
+ API Reference
2
+ ==============
3
+
4
+ This section documents the Python API of Diplotocus.
5
+
6
+ .. toctree::
7
+ :maxdepth: 2
8
+
9
+ core
@@ -0,0 +1,87 @@
1
+ Welcome to diplotocus' documentation!
2
+ ======================================
3
+
4
+ .. raw:: html
5
+
6
+ <center>
7
+ <video width="700" height="394" autoplay muted playsinline>
8
+ <source src="_static/logo.mp4" type="video/mp4">
9
+ </video>
10
+ </center>
11
+
12
+ **Diplotocus** is a python package designed to render animations of `matplotlib <https://matplotlib.org/>`_ objects, in a *timeline* style.
13
+
14
+ Here's a quick example of the syntax of diplotocus:
15
+
16
+ .. code-block:: python
17
+
18
+ import diplotocus as dpl
19
+ import numpy as np
20
+
21
+ #We define our Timeline, the object that handles all animations on our figure
22
+ tl = dpl.Timeline(xlim=(0,6*np.pi),ylim=(-1,1))
23
+
24
+ #We generate data points
25
+ x = np.linspace(0,6*np.pi,200)
26
+ y = np.cos(x)
27
+
28
+ #We create a plot() object
29
+ p = dpl.plot(x=x,y=y)
30
+
31
+ #We draw its data points sequentially
32
+ p.draw(duration=100)
33
+ tl.animate(p)
34
+
35
+ #We wait 25 frames
36
+ tl.wait(duration=25)
37
+
38
+ #We unzoom and move the axis to (0,0)
39
+ az = dpl.axis_zoom(zoom=0.5,duration=50)
40
+ am = dpl.axis_move(end_pos=(0,0),duration=50)
41
+ tl.animate((az,am))
42
+
43
+ #We hide the plot
44
+ p.hide(duration=100)
45
+ tl.animate(p)
46
+
47
+ #We render our video
48
+ tl.save_video(path='../_static/demo.mp4')
49
+
50
+ .. raw:: html
51
+
52
+ <center>
53
+ <video width="640" height="360" autoplay loop muted playsinline>
54
+ <source src="_static/demo.mp4" type="video/mp4">
55
+ </video>
56
+ </center>
57
+
58
+ **Diplotocus** also features a Web GUI that lets you put your animations together visually, in a timeline-like manner:
59
+
60
+ .. image:: _static/Web_GUI.png
61
+ :width: 700
62
+ :target: notebooks/GUI
63
+
64
+ Get started by :doc:`Installing Diplotocus <notebooks/installation>`, and follow the :doc:`Quick-Start guide <notebooks/quick-start>`.
65
+
66
+ .. toctree::
67
+ :maxdepth: 2
68
+ :caption: Getting Started
69
+
70
+ notebooks/installation
71
+ notebooks/quick-start
72
+
73
+ .. toctree::
74
+ :maxdepth: 3
75
+ :caption: Library reference
76
+
77
+ notebooks/timeline
78
+ notebooks/plot_objects
79
+ notebooks/animations
80
+ notebooks/easings
81
+ notebooks/GUI
82
+
83
+ .. toctree::
84
+ :maxdepth: 2
85
+ :caption: API Reference
86
+
87
+ api/index
@@ -0,0 +1,91 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "fc90d5b2",
6
+ "metadata": {},
7
+ "source": [
8
+ "# GUI\n",
9
+ "\n",
10
+ "**Diplotocus** features a GUI (Graphical User Interface):\n",
11
+ "\n",
12
+ "![](../_static/Web_GUI.png)\n",
13
+ "\n",
14
+ "When running diplotocus through this mode, you will make edit your animation through a local web page in your browser. This page communicates with a python server, which links the GUI and diplotocus objects in the background. Hence, everything you can do through python, you can do through the GUI, and vice versa.\n",
15
+ "\n",
16
+ "```{note}\n",
17
+ "\n",
18
+ "The datapoints used in any of the plot objects of your animations have to be created before launching the GUI, as they will be passed to the function that launches the GUI.\n",
19
+ "```\n",
20
+ "\n",
21
+ "```{eval-rst}\n",
22
+ ".. autoclass:: diplotocus.GUI\n",
23
+ " :members:\n",
24
+ " :noindex:\n",
25
+ "```\n",
26
+ "\n",
27
+ "Here's an example on how to launch the GUI:"
28
+ ]
29
+ },
30
+ {
31
+ "cell_type": "code",
32
+ "execution_count": null,
33
+ "id": "8069c581",
34
+ "metadata": {},
35
+ "outputs": [],
36
+ "source": [
37
+ "import diplotocus as dpl\n",
38
+ "import numpy as np\n",
39
+ "\n",
40
+ "#We define our datapoints\n",
41
+ "x = np.linspace(0,2*np.pi,100)\n",
42
+ "y = np.cos(x)\n",
43
+ "\n",
44
+ "#We create our plot objects\n",
45
+ "a = dpl.scatter(x,y)\n",
46
+ "b = dpl.plot(x,y*2)\n",
47
+ "\n",
48
+ "#We create our timeline\n",
49
+ "tl = dpl.Timeline(xlim=(0,2*np.pi),ylim=(-1,1))\n",
50
+ "\n",
51
+ "#We pass our timeline, and a list of dictionaries of our plot objects,\n",
52
+ "#their display name, and any data that might be used by animations\n",
53
+ "GUI = dpl.GUI(\n",
54
+ " timeline=tl,\n",
55
+ " plot_objects=[\n",
56
+ " {\n",
57
+ " 'name':'scatter',\n",
58
+ " 'object':a,\n",
59
+ " 'new_x':x,\n",
60
+ " 'new_y':y/2\n",
61
+ " },\n",
62
+ " {\n",
63
+ " 'name':'plot',\n",
64
+ " 'object':b\n",
65
+ " }\n",
66
+ "])"
67
+ ]
68
+ }
69
+ ],
70
+ "metadata": {
71
+ "kernelspec": {
72
+ "display_name": "Python 3",
73
+ "language": "python",
74
+ "name": "python3"
75
+ },
76
+ "language_info": {
77
+ "codemirror_mode": {
78
+ "name": "ipython",
79
+ "version": 3
80
+ },
81
+ "file_extension": ".py",
82
+ "mimetype": "text/x-python",
83
+ "name": "python",
84
+ "nbconvert_exporter": "python",
85
+ "pygments_lexer": "ipython3",
86
+ "version": "3.13.3"
87
+ }
88
+ },
89
+ "nbformat": 4,
90
+ "nbformat_minor": 5
91
+ }