ipyprogressivis 0.3.0__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 (186) hide show
  1. ipyprogressivis-0.3.0/.gitignore +15 -0
  2. ipyprogressivis-0.3.0/LICENSE +24 -0
  3. ipyprogressivis-0.3.0/PKG-INFO +123 -0
  4. ipyprogressivis-0.3.0/README.md +60 -0
  5. ipyprogressivis-0.3.0/ipyprogressivis/MANIFEST.in +2 -0
  6. ipyprogressivis-0.3.0/ipyprogressivis/__init__.py +90 -0
  7. ipyprogressivis-0.3.0/ipyprogressivis/_frontend.py +5 -0
  8. ipyprogressivis-0.3.0/ipyprogressivis/_version.py +21 -0
  9. ipyprogressivis-0.3.0/ipyprogressivis/app.py +26 -0
  10. ipyprogressivis-0.3.0/ipyprogressivis/hook_tools.py +40 -0
  11. ipyprogressivis-0.3.0/ipyprogressivis/install.json +5 -0
  12. ipyprogressivis-0.3.0/ipyprogressivis/js/.babelrc +3 -0
  13. ipyprogressivis-0.3.0/ipyprogressivis/js/.eslintrc.js +32 -0
  14. ipyprogressivis-0.3.0/ipyprogressivis/js/README.md +11 -0
  15. ipyprogressivis-0.3.0/ipyprogressivis/js/css/main.css +255 -0
  16. ipyprogressivis-0.3.0/ipyprogressivis/js/css/module-graph.css +62 -0
  17. ipyprogressivis-0.3.0/ipyprogressivis/js/css/scatterplot.css +5 -0
  18. ipyprogressivis-0.3.0/ipyprogressivis/js/css/sparkline-progressbar.css +14 -0
  19. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/.gitkeep +0 -0
  20. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/backup.js +41 -0
  21. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/base.js +7 -0
  22. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/cell_out.js +16 -0
  23. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/colormaps.js +90 -0
  24. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/commands.js +229 -0
  25. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/config-editor.js +379 -0
  26. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/dag_widget.js +597 -0
  27. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/data_table.js +86 -0
  28. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/embed.js +33 -0
  29. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/es6-element-ready.js +30 -0
  30. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/extension.js +26 -0
  31. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/functions.js +171 -0
  32. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/history.js +45 -0
  33. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/index.js +50 -0
  34. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/json_editor.js +67 -0
  35. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/json_html.js +131 -0
  36. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/labplugin.js +240 -0
  37. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/line_graph.js +14 -0
  38. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/module_graph.js +281 -0
  39. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/previmages.js +283 -0
  40. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/scatterplot.js +614 -0
  41. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/sensitive_html.js +82 -0
  42. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/sparkline_progressbar.js +93 -0
  43. ipyprogressivis-0.3.0/ipyprogressivis/js/lib/talker.js +15 -0
  44. ipyprogressivis-0.3.0/ipyprogressivis/js/package.json +92 -0
  45. ipyprogressivis-0.3.0/ipyprogressivis/js/schema/plugin.json +23 -0
  46. ipyprogressivis-0.3.0/ipyprogressivis/js/src/backup.js +41 -0
  47. ipyprogressivis-0.3.0/ipyprogressivis/js/src/base.js +7 -0
  48. ipyprogressivis-0.3.0/ipyprogressivis/js/src/cell_out.js +16 -0
  49. ipyprogressivis-0.3.0/ipyprogressivis/js/src/colormaps.js +90 -0
  50. ipyprogressivis-0.3.0/ipyprogressivis/js/src/commands.js +229 -0
  51. ipyprogressivis-0.3.0/ipyprogressivis/js/src/config-editor.jsx +508 -0
  52. ipyprogressivis-0.3.0/ipyprogressivis/js/src/dag_widget.js +597 -0
  53. ipyprogressivis-0.3.0/ipyprogressivis/js/src/data_table.js +86 -0
  54. ipyprogressivis-0.3.0/ipyprogressivis/js/src/embed.js +33 -0
  55. ipyprogressivis-0.3.0/ipyprogressivis/js/src/es6-element-ready.js +30 -0
  56. ipyprogressivis-0.3.0/ipyprogressivis/js/src/extension.js +26 -0
  57. ipyprogressivis-0.3.0/ipyprogressivis/js/src/functions.js +171 -0
  58. ipyprogressivis-0.3.0/ipyprogressivis/js/src/history.js +45 -0
  59. ipyprogressivis-0.3.0/ipyprogressivis/js/src/index.js +50 -0
  60. ipyprogressivis-0.3.0/ipyprogressivis/js/src/json_editor.js +67 -0
  61. ipyprogressivis-0.3.0/ipyprogressivis/js/src/json_html.js +131 -0
  62. ipyprogressivis-0.3.0/ipyprogressivis/js/src/labplugin.js +240 -0
  63. ipyprogressivis-0.3.0/ipyprogressivis/js/src/line_graph.js +14 -0
  64. ipyprogressivis-0.3.0/ipyprogressivis/js/src/module_graph.js +281 -0
  65. ipyprogressivis-0.3.0/ipyprogressivis/js/src/previmages.js +283 -0
  66. ipyprogressivis-0.3.0/ipyprogressivis/js/src/scatterplot.js +614 -0
  67. ipyprogressivis-0.3.0/ipyprogressivis/js/src/sensitive_html.js +82 -0
  68. ipyprogressivis-0.3.0/ipyprogressivis/js/src/sparkline_progressbar.js +93 -0
  69. ipyprogressivis-0.3.0/ipyprogressivis/js/src/talker.js +15 -0
  70. ipyprogressivis-0.3.0/ipyprogressivis/js/webpack.config.js +75 -0
  71. ipyprogressivis-0.3.0/ipyprogressivis/js/yarn.lock +8999 -0
  72. ipyprogressivis-0.3.0/ipyprogressivis/jupyter-progressivis.json +5 -0
  73. ipyprogressivis-0.3.0/ipyprogressivis/labextension/package.json +96 -0
  74. ipyprogressivis-0.3.0/ipyprogressivis/labextension/schemas/jupyter-progressivis/package.json.orig +92 -0
  75. ipyprogressivis-0.3.0/ipyprogressivis/labextension/schemas/jupyter-progressivis/plugin.json +23 -0
  76. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/109.fdb337af58f32cc5c0bf.js +1 -0
  77. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/21.2f7611abef2e526e5d25.js +1 -0
  78. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/351.13fdfc67a28ce291e15c.js +1 -0
  79. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/399.2fb2e0ef5e19374c394d.js +1 -0
  80. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/3e016c23ae51417382b6.png +0 -0
  81. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/430.8691ad47b5b333eaf92e.js +1 -0
  82. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/485.f46a28dfd0f0485c926b.js +2 -0
  83. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/485.f46a28dfd0f0485c926b.js.LICENSE.txt +40 -0
  84. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/487.de4fc3bdb03a240e600e.js +2 -0
  85. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/487.de4fc3bdb03a240e600e.js.LICENSE.txt +56 -0
  86. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/490.4b694e6eb1a4b76bab0e.js +1 -0
  87. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/536.e1da47be8a798fbfa612.js +1 -0
  88. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/537.c242693371e0a2a4418f.js +1 -0
  89. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/570.4a28e1035792dd27a4ea.js +1 -0
  90. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/595704c3f3cf4cb65c7d.png +0 -0
  91. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/606.14263bc2140db2a71660.js +1 -0
  92. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/655.93533cbefba4bc78138e.js +2 -0
  93. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/655.93533cbefba4bc78138e.js.LICENSE.txt +6 -0
  94. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/692.e1f51926b03c4334a23a.js +2 -0
  95. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/692.e1f51926b03c4334a23a.js.LICENSE.txt +10 -0
  96. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/6c0f0c1b21ef6807057a.png +0 -0
  97. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/75.4eb0fb006a734cee8d78.js +1 -0
  98. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/799.ce5122a27c6ec79d5e1b.js +1 -0
  99. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/848.c2819c28140c718734a4.js +1 -0
  100. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/851.5a3f1d88c044d87ec93c.js +2 -0
  101. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/851.5a3f1d88c044d87ec93c.js.LICENSE.txt +1 -0
  102. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/866.605bea37963b6714cbd4.js +2 -0
  103. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/866.605bea37963b6714cbd4.js.LICENSE.txt +3 -0
  104. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/884.cb97bef4833378bc3da6.js +1 -0
  105. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/894.c5db3fc7747087e1cf73.js +1 -0
  106. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/997.f1ae8549e63cc94a6613.js +1 -0
  107. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/a65b8f4f84d6427a81c3.png +0 -0
  108. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/d08ed0e21f187dd30903.png +0 -0
  109. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/remoteEntry.85baa5335dfd6424eabe.js +1 -0
  110. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/style.js +4 -0
  111. ipyprogressivis-0.3.0/ipyprogressivis/labextension/static/third-party-licenses.json +856 -0
  112. ipyprogressivis-0.3.0/ipyprogressivis/magics.py +86 -0
  113. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/07c018ae0160704a329067ec7fbdc614.png +0 -0
  114. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/27ac5d1bc294b1fae0564fe461a6304d.png +0 -0
  115. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/4bba59196d7ce26196967adefd7c5c3f.png +0 -0
  116. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/70877b002e38b1438b21.png +1 -0
  117. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/76d72a9c9134274cfceb.png +1 -0
  118. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/8b117faa9d4dd934d6bbbd9f0cdb2459.png +0 -0
  119. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/8debc83844d7e6a561da.png +1 -0
  120. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/a960f4c060ed06b0adf5.png +1 -0
  121. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/b58dcb5732c21a44cbc8.png +1 -0
  122. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/c4196d3286cc33244c83af3398675a6a.png +0 -0
  123. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/extension.js +1 -0
  124. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/index.js +3 -0
  125. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/index.js.LICENSE.txt +153 -0
  126. ipyprogressivis-0.3.0/ipyprogressivis/nbextension/index.js.map +1 -0
  127. ipyprogressivis-0.3.0/ipyprogressivis/notebook_templates/ProgressiBook.ipynb +123 -0
  128. ipyprogressivis-0.3.0/ipyprogressivis/pre_save.py +59 -0
  129. ipyprogressivis-0.3.0/ipyprogressivis/pre_save_md.py +57 -0
  130. ipyprogressivis-0.3.0/ipyprogressivis/pre_save_x.py +96 -0
  131. ipyprogressivis-0.3.0/ipyprogressivis/py.typed +0 -0
  132. ipyprogressivis-0.3.0/ipyprogressivis/resources/snapshot_marker.png +0 -0
  133. ipyprogressivis-0.3.0/ipyprogressivis/widgets/__init__.py +14 -0
  134. ipyprogressivis-0.3.0/ipyprogressivis/widgets/_bar_schema.py +11 -0
  135. ipyprogressivis-0.3.0/ipyprogressivis/widgets/_corr_schema.py +36 -0
  136. ipyprogressivis-0.3.0/ipyprogressivis/widgets/_hist1d_schema.py +63 -0
  137. ipyprogressivis-0.3.0/ipyprogressivis/widgets/_hist2d_schema.py +19 -0
  138. ipyprogressivis-0.3.0/ipyprogressivis/widgets/_stacked_hist_schema.py +87 -0
  139. ipyprogressivis-0.3.0/ipyprogressivis/widgets/backup.py +36 -0
  140. ipyprogressivis-0.3.0/ipyprogressivis/widgets/cell_out.py +35 -0
  141. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/__init__.py +37 -0
  142. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/_js.py +110 -0
  143. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/_multi_series.py +48 -0
  144. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/aggregate.py +123 -0
  145. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/any_vega.py +295 -0
  146. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/columns.py +429 -0
  147. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/constructor.py +271 -0
  148. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/csv_loader.py +392 -0
  149. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/custom.py +23 -0
  150. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/desc_stats.py +882 -0
  151. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/dump_table.py +42 -0
  152. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/facade_creator.py +689 -0
  153. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/group_by.py +157 -0
  154. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/heatmap.py +223 -0
  155. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/histogram.py +121 -0
  156. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/iscaler.py +329 -0
  157. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/join.py +311 -0
  158. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/loaders.py +36 -0
  159. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/multi_series.py +125 -0
  160. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/parquet_loader.py +409 -0
  161. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/quantiles.py +84 -0
  162. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/range_query_2d.py +271 -0
  163. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/scatterplot.py +104 -0
  164. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/snippet.py +135 -0
  165. ipyprogressivis-0.3.0/ipyprogressivis/widgets/chaining/utils.py +1487 -0
  166. ipyprogressivis-0.3.0/ipyprogressivis/widgets/control_panel.py +81 -0
  167. ipyprogressivis-0.3.0/ipyprogressivis/widgets/csv_sniffer.py +696 -0
  168. ipyprogressivis-0.3.0/ipyprogressivis/widgets/dag_widget.py +202 -0
  169. ipyprogressivis-0.3.0/ipyprogressivis/widgets/data_table.py +31 -0
  170. ipyprogressivis-0.3.0/ipyprogressivis/widgets/df_grid.py +66 -0
  171. ipyprogressivis-0.3.0/ipyprogressivis/widgets/iscaler.py +225 -0
  172. ipyprogressivis-0.3.0/ipyprogressivis/widgets/json_editor.py +28 -0
  173. ipyprogressivis-0.3.0/ipyprogressivis/widgets/json_html.py +30 -0
  174. ipyprogressivis-0.3.0/ipyprogressivis/widgets/module_graph.py +29 -0
  175. ipyprogressivis-0.3.0/ipyprogressivis/widgets/module_wg.py +95 -0
  176. ipyprogressivis-0.3.0/ipyprogressivis/widgets/plotting_progressbar.py +29 -0
  177. ipyprogressivis-0.3.0/ipyprogressivis/widgets/previmages.py +39 -0
  178. ipyprogressivis-0.3.0/ipyprogressivis/widgets/psboard.py +223 -0
  179. ipyprogressivis-0.3.0/ipyprogressivis/widgets/scatterplot.py +113 -0
  180. ipyprogressivis-0.3.0/ipyprogressivis/widgets/sensitive_html.py +32 -0
  181. ipyprogressivis-0.3.0/ipyprogressivis/widgets/slot_wg.py +78 -0
  182. ipyprogressivis-0.3.0/ipyprogressivis/widgets/sparkline_progressbar.py +35 -0
  183. ipyprogressivis-0.3.0/ipyprogressivis/widgets/talker.py +34 -0
  184. ipyprogressivis-0.3.0/ipyprogressivis/widgets/utils.py +93 -0
  185. ipyprogressivis-0.3.0/ipyprogressivis/widgets/vega.py +17 -0
  186. ipyprogressivis-0.3.0/pyproject.toml +190 -0
@@ -0,0 +1,15 @@
1
+ *~
2
+ *#
3
+ *.egg-info/
4
+ .ipynb_checkpoints/
5
+ ipyprogressivis/_version.py
6
+ dist/
7
+ build/
8
+ *.py[cod]
9
+ node_modules/
10
+
11
+ # Compiled javascript
12
+ nbwidgets/static/
13
+
14
+ # OS X
15
+ .DS_Store
@@ -0,0 +1,24 @@
1
+ Copyright (c) 2017, Jean-Daniel Fekete
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+
10
+ * Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
+
@@ -0,0 +1,123 @@
1
+ Metadata-Version: 2.4
2
+ Name: ipyprogressivis
3
+ Version: 0.3.0
4
+ Summary: A Custom Jupyter Widget Library for Progressivis
5
+ Project-URL: Homepage, https://github.com/progressivis/ipyprogressivis
6
+ Author-email: "INRIA, Jean-Daniel Fekete, Christian Poli" <jean-daniel.fekete@inria.fr>
7
+ License-Expression: BSD-2-Clause
8
+ License-File: LICENSE
9
+ Keywords: IPython,Jupyter,Widgets
10
+ Classifier: Framework :: Jupyter
11
+ Classifier: Framework :: Jupyter :: JupyterLab
12
+ Classifier: Framework :: Jupyter :: JupyterLab :: 4
13
+ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
14
+ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: License :: OSI Approved :: BSD License
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: ipydatawidgets
26
+ Requires-Dist: ipywidgets<9,>=7.6
27
+ Requires-Dist: jupyter-client>=8.6.0
28
+ Requires-Dist: lz4
29
+ Requires-Dist: numpy>=1.26.4
30
+ Requires-Dist: pandas<3.0.0,>=1.0.0
31
+ Requires-Dist: pillow
32
+ Requires-Dist: sidecar>=0.7.0
33
+ Requires-Dist: traitlets>=4.3.0
34
+ Requires-Dist: traittypes>=0.0.6
35
+ Requires-Dist: vega>=4.0.0
36
+ Provides-Extra: dev
37
+ Requires-Dist: jupyterlab>=4.0.0; extra == 'dev'
38
+ Provides-Extra: progressivis
39
+ Requires-Dist: progressivis; extra == 'progressivis'
40
+ Provides-Extra: test
41
+ Requires-Dist: nbval; extra == 'test'
42
+ Requires-Dist: pytest-cov; extra == 'test'
43
+ Requires-Dist: pytest>=6.0; extra == 'test'
44
+ Provides-Extra: typing
45
+ Requires-Dist: duckdb; extra == 'typing'
46
+ Requires-Dist: ipython; extra == 'typing'
47
+ Requires-Dist: jinja2; extra == 'typing'
48
+ Requires-Dist: mypy>=1.0.1; extra == 'typing'
49
+ Requires-Dist: numpy; extra == 'typing'
50
+ Requires-Dist: pandas-stubs; extra == 'typing'
51
+ Requires-Dist: sqlalchemy-stubs; extra == 'typing'
52
+ Requires-Dist: traits-stubs; extra == 'typing'
53
+ Requires-Dist: traittypes; extra == 'typing'
54
+ Requires-Dist: typeguard; extra == 'typing'
55
+ Requires-Dist: types-pillow; extra == 'typing'
56
+ Requires-Dist: types-pytz; extra == 'typing'
57
+ Requires-Dist: types-pyyaml; extra == 'typing'
58
+ Requires-Dist: types-requests; extra == 'typing'
59
+ Requires-Dist: types-setuptools; extra == 'typing'
60
+ Requires-Dist: types-urllib3; extra == 'typing'
61
+ Requires-Dist: typing-extensions; extra == 'typing'
62
+ Description-Content-Type: text/markdown
63
+
64
+ # IpyProgressiVis: A Custom Jupyter Widget Library for ProgressiVis
65
+
66
+ [![Python Tests](https://github.com/progressivis/ipyprogressivis/actions/workflows/ui.yml/badge.svg?branch=main&event=push)](https://github.com/progressivis/ipyprogressivis/actions/workflows/ui.yml)
67
+ [![Documentation Status](https://readthedocs.org/projects/progressivis/badge/?version=latest)](https://progressivis.readthedocs.io/en/latest/?badge=latest)
68
+ [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
69
+ [![types - Mypy](https://img.shields.io/badge/types-Mypy-blue.svg)](https://github.com/python/mypy)
70
+ [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
71
+ [![License](https://img.shields.io/badge/License-BSD_2--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause)
72
+
73
+
74
+ ## Installation
75
+
76
+ See the installation instructions [provided here](https://progressivis.readthedocs.io/en/latest/install.html).
77
+
78
+ ## Running demos (on your computer)
79
+
80
+ After installing `ipyprogressivis` do:
81
+
82
+ ```
83
+ cd ipyprogressivis/notebooks
84
+ jupyter lab
85
+ ```
86
+ then run the notebooks of your choice
87
+
88
+ <!--
89
+ ### Running under Voilà
90
+
91
+ Install voilà :
92
+
93
+ $ conda install -c conda-forge voila
94
+
95
+ #### As a standalone app :
96
+
97
+ voila --enable_nbextensions=True YourNotebook.ipynb
98
+
99
+ #### As a server extension to notebook or jupyter_server
100
+
101
+ First, you have to enable the extension:
102
+
103
+ $ jupyter serverextension enable voila --sys-prefix
104
+
105
+
106
+ Then run:
107
+
108
+ $jupyter lab --VoilaConfiguration.enable_nbextensions=True
109
+
110
+ or
111
+
112
+ $jupyter notebook --VoilaConfiguration.enable_nbextensions=True
113
+
114
+ When running the Jupyter server, the Voilà app is accessible from the base url suffixed with voila
115
+
116
+ #### Using a JupyterLab extension to render a notebook with voila
117
+
118
+ Install the extension :
119
+
120
+ jupyter labextension install @jupyter-voila/jupyterlab-preview
121
+
122
+ Display the notebook with Voilà like showed here: https://user-images.githubusercontent.com/591645/59288034-1f8d6a80-8c73-11e9-860f-c3449dd3dcb5.gif
123
+ -->
@@ -0,0 +1,60 @@
1
+ # IpyProgressiVis: A Custom Jupyter Widget Library for ProgressiVis
2
+
3
+ [![Python Tests](https://github.com/progressivis/ipyprogressivis/actions/workflows/ui.yml/badge.svg?branch=main&event=push)](https://github.com/progressivis/ipyprogressivis/actions/workflows/ui.yml)
4
+ [![Documentation Status](https://readthedocs.org/projects/progressivis/badge/?version=latest)](https://progressivis.readthedocs.io/en/latest/?badge=latest)
5
+ [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
6
+ [![types - Mypy](https://img.shields.io/badge/types-Mypy-blue.svg)](https://github.com/python/mypy)
7
+ [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
8
+ [![License](https://img.shields.io/badge/License-BSD_2--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause)
9
+
10
+
11
+ ## Installation
12
+
13
+ See the installation instructions [provided here](https://progressivis.readthedocs.io/en/latest/install.html).
14
+
15
+ ## Running demos (on your computer)
16
+
17
+ After installing `ipyprogressivis` do:
18
+
19
+ ```
20
+ cd ipyprogressivis/notebooks
21
+ jupyter lab
22
+ ```
23
+ then run the notebooks of your choice
24
+
25
+ <!--
26
+ ### Running under Voilà
27
+
28
+ Install voilà :
29
+
30
+ $ conda install -c conda-forge voila
31
+
32
+ #### As a standalone app :
33
+
34
+ voila --enable_nbextensions=True YourNotebook.ipynb
35
+
36
+ #### As a server extension to notebook or jupyter_server
37
+
38
+ First, you have to enable the extension:
39
+
40
+ $ jupyter serverextension enable voila --sys-prefix
41
+
42
+
43
+ Then run:
44
+
45
+ $jupyter lab --VoilaConfiguration.enable_nbextensions=True
46
+
47
+ or
48
+
49
+ $jupyter notebook --VoilaConfiguration.enable_nbextensions=True
50
+
51
+ When running the Jupyter server, the Voilà app is accessible from the base url suffixed with voila
52
+
53
+ #### Using a JupyterLab extension to render a notebook with voila
54
+
55
+ Install the extension :
56
+
57
+ jupyter labextension install @jupyter-voila/jupyterlab-preview
58
+
59
+ Display the notebook with Voilà like showed here: https://user-images.githubusercontent.com/591645/59288034-1f8d6a80-8c73-11e9-860f-c3449dd3dcb5.gif
60
+ -->
@@ -0,0 +1,2 @@
1
+ recursive-include widgets/static *.*
2
+ include progressivis-nb-widgets.json
@@ -0,0 +1,90 @@
1
+ # type: ignore
2
+ from ._version import __version__
3
+ import asyncio
4
+
5
+ _ = __version__
6
+
7
+
8
+ def _jupyter_labextension_paths():
9
+ """Called by Jupyter Lab Server to detect if it is a valid labextension and
10
+ to install the widget
11
+
12
+ Returns
13
+ =======
14
+ src: Source directory name to copy files from. Webpack outputs generated files
15
+ into this directory and Jupyter Lab copies from this directory during
16
+ widget installation
17
+ dest: Destination directory name to install widget files to. Jupyter Lab copies
18
+ from `src` directory into <jupyter path>/labextensions/<dest> directory
19
+ during widget installation
20
+ """
21
+ return [{
22
+ 'src': 'labextension',
23
+ 'dest': 'jupyter-progressivis',
24
+ }]
25
+
26
+
27
+ def _jupyter_nbextension_paths():
28
+ """Called by Jupyter Notebook Server to detect if it is a valid nbextension and
29
+ to install the widget
30
+
31
+ Returns
32
+ =======
33
+ section: The section of the Jupyter Notebook Server to change.
34
+ Must be 'notebook' for widget extensions
35
+ src: Source directory name to copy files from. Webpack outputs generated files
36
+ into this directory and Jupyter Notebook copies from this directory during
37
+ widget installation
38
+ dest: Destination directory name to install widget files to. Jupyter Notebook copies
39
+ from `src` directory into <jupyter path>/nbextensions/<dest> directory
40
+ during widget installation
41
+ require: Path to importable AMD Javascript module inside the
42
+ <jupyter path>/nbextensions/<dest> directory
43
+ """
44
+ return [{
45
+ 'section': 'notebook',
46
+ 'src': 'nbextension',
47
+ 'dest': 'jupyter-progressivis',
48
+ 'require': 'jupyter-progressivis/extension'
49
+ }]
50
+
51
+
52
+ def _jupyter_server_extension_points():
53
+ """
54
+ Returns a list of dictionaries with metadata describing
55
+ where to find the `_load_jupyter_server_extension` function.
56
+ """
57
+ return [{"module": "ipyprogressivis.app"}]
58
+
59
+
60
+ def pre_save(model, contents_manager, **kwargs):
61
+ from .pre_save_md import pre_save_md_impl
62
+ from .pre_save import pre_save_impl
63
+ log = contents_manager.log
64
+ log.info("Starting pre_save ...")
65
+ pre_save_md_impl(model, contents_manager, **kwargs)
66
+ pre_save_impl(model, contents_manager, **kwargs)
67
+ log.info("... end pre_save")
68
+
69
+
70
+ def pre_save_x(model, contents_manager, **kwargs):
71
+ import nest_asyncio
72
+ nest_asyncio.apply()
73
+ from .pre_save_md import pre_save_md_impl
74
+ from .pre_save_x import pre_save_impl
75
+ log = contents_manager.log
76
+ log.info("Starting pre_save_x ...")
77
+ pre_save_md_impl(model, contents_manager, **kwargs)
78
+ loop = asyncio.get_event_loop()
79
+ task = loop.create_task(pre_save_impl(model, contents_manager, **kwargs))
80
+ loop.run_until_complete(task)
81
+ log.info("... end pre_save_x")
82
+
83
+ def pre_save_md(model, contents_manager, **kwargs):
84
+ from .pre_save_md import pre_save_md_impl
85
+ log = contents_manager.log
86
+ log.info("Starting pre_save_md ...")
87
+ pre_save_md_impl(model, contents_manager, **kwargs)
88
+ log.info("... end pre_save_md")
89
+
90
+ __all__ = ["__version__"]
@@ -0,0 +1,5 @@
1
+ # Module version
2
+
3
+
4
+ NPM_PACKAGE = "jupyter-progressivis"
5
+ NPM_PACKAGE_RANGE = "^0.1.0"
@@ -0,0 +1,21 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
6
+ TYPE_CHECKING = False
7
+ if TYPE_CHECKING:
8
+ from typing import Tuple
9
+ from typing import Union
10
+
11
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
12
+ else:
13
+ VERSION_TUPLE = object
14
+
15
+ version: str
16
+ __version__: str
17
+ __version_tuple__: VERSION_TUPLE
18
+ version_tuple: VERSION_TUPLE
19
+
20
+ __version__ = version = '0.3.0'
21
+ __version_tuple__ = version_tuple = (0, 3, 0)
@@ -0,0 +1,26 @@
1
+ # type: ignore
2
+ from jupyter_server.base.handlers import JupyterHandler
3
+ from jupyter_server.serverapp import ServerApp
4
+ import tornado
5
+ import json
6
+ from os.path import join as pjoin
7
+
8
+
9
+ class ProgressivisHandler(JupyterHandler):
10
+ @tornado.web.authenticated
11
+ def get(self) -> None:
12
+ import ipyprogressivis
13
+ nb_name = pjoin(ipyprogressivis.__path__[0],
14
+ "notebook_templates",
15
+ "ProgressiBook.ipynb")
16
+ with open(nb_name) as fd:
17
+ payload = fd.read()
18
+ self.finish(json.dumps(dict(payload=payload)))
19
+
20
+
21
+ def _load_jupyter_server_extension(serverapp: ServerApp) -> None:
22
+ """
23
+ This function is called when the extension is loaded.
24
+ """
25
+ handlers = [("/progressivis/template", ProgressivisHandler)]
26
+ serverapp.web_app.add_handlers(".*$", handlers) # type: ignore
@@ -0,0 +1,40 @@
1
+ from PIL import Image
2
+ import base64
3
+ import io
4
+ import os
5
+ from pathlib import Path
6
+
7
+ from typing import Any
8
+
9
+ eye_img = Image.open(Path(os.path.dirname(__file__)) / "resources" / "snapshot_marker.png")
10
+ eye_img = eye_img.resize((64, 64))
11
+
12
+
13
+ def add_snapshot_tag(data: Any) -> str:
14
+ img = Image.open(io.BytesIO(base64.b64decode(data)))
15
+ # img = img.filter(ImageFilter.BLUR)
16
+ img.paste(eye_img, (0, 0), eye_img)
17
+ buffered = io.BytesIO()
18
+ img.save(buffered, format="PNG")
19
+ return base64.b64encode(buffered.getvalue()).decode("utf-8")
20
+
21
+ def add_snapshot_tag_from_bytes(data: Any) -> str:
22
+ img = Image.open(io.BytesIO(data))
23
+ # img = img.filter(ImageFilter.BLUR)
24
+ img.paste(eye_img, (0, 0), eye_img)
25
+ buffered = io.BytesIO()
26
+ img.save(buffered, format="PNG")
27
+ return base64.b64encode(buffered.getvalue()).decode("utf-8")
28
+
29
+ def parse_tag(tag: str) -> tuple[str, int]:
30
+ if "[" not in tag:
31
+ return tag, 0
32
+ assert tag[-1] == "]"
33
+ pos = tag.index("[")
34
+ return tag[:pos], int(tag[pos+1:-1])
35
+
36
+
37
+ def make_css_marker(key: str, nb: int = 0) -> str:
38
+ key = key.replace(" ", "_")
39
+ return f"progressivis_guest_widget--{key}_{nb}"
40
+
@@ -0,0 +1,5 @@
1
+ {
2
+ "packageManager": "python",
3
+ "packageName": "ipyprogressivis",
4
+ "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package ipyprogressivis"
5
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "presets": ["@babel/preset-env", "@babel/preset-react"]
3
+ }
@@ -0,0 +1,32 @@
1
+ module.exports = {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true,
5
+ "node": true
6
+ },
7
+ "globals": {
8
+ "__webpack_public_path__": "writable",
9
+ "sorttable": "readable"
10
+ },
11
+ "extends": [
12
+ "eslint:recommended",
13
+ "plugin:react/recommended"
14
+ ],
15
+ "settings": {
16
+ "react": {
17
+ "version": "detect"
18
+ }
19
+ },
20
+ "parserOptions": {
21
+ "ecmaFeatures": {
22
+ "jsx": true
23
+ },
24
+ "ecmaVersion": 12,
25
+ "sourceType": "module"
26
+ },
27
+ "plugins": [
28
+ "react"
29
+ ],
30
+ "rules": {
31
+ }
32
+ };
@@ -0,0 +1,11 @@
1
+ A Custom Jupyter Widget Library for Progressivis
2
+
3
+ Package Install
4
+ ---------------
5
+
6
+ **Prerequisites**
7
+ - [node](http://nodejs.org/)
8
+
9
+ ```bash
10
+ npm install --save progressivis-nb-widgets
11
+ ```