perspective-python 3.1.2__tar.gz → 3.1.4__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 (229) hide show
  1. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/Cargo.toml +10 -3
  2. {perspective_python-3.1.2 → perspective_python-3.1.4}/PKG-INFO +6 -7
  3. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/docs/lib.md +4 -2
  4. perspective_python-3.1.4/package.json +27 -0
  5. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/perspective/__init__.py +5 -1
  6. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/handlers/aiohttp.py +2 -1
  7. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/perspective/handlers/tornado.py +3 -0
  8. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_to_arrow_lz4.py → perspective_python-3.1.4/perspective/tests/multi_threaded/test_multi_threaded.py +25 -16
  9. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/perspective/tests/table/test_exception.py +12 -0
  10. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/install.json +5 -0
  11. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/package.json +81 -0
  12. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.88b05fb655c916604764.js +18 -0
  13. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.88b05fb655c916604764.js.LICENSE.txt +59 -0
  14. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/295.b558c522e11647489867.js +1 -0
  15. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.c7cf6058d0553da62b3f.js +1 -0
  16. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/style.js +4 -0
  17. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/third-party-licenses.json +16 -0
  18. perspective_python-3.1.2/rust/perspective-server/Cargo.toml → perspective_python-3.1.4/pyproject.toml +41 -41
  19. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/client/client_sync.rs +110 -77
  20. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/server/server_sync.rs +2 -1
  21. perspective_python-3.1.2/Cargo.lock +0 -3803
  22. perspective_python-3.1.2/Cargo.toml +0 -34
  23. perspective_python-3.1.2/perspective/__init__.py +0 -54
  24. perspective_python-3.1.2/perspective/handlers/tornado.py +0 -63
  25. perspective_python-3.1.2/perspective/tests/table/test_exception.py +0 -53
  26. perspective_python-3.1.2/pyproject.toml +0 -48
  27. perspective_python-3.1.2/rust/perspective-client/Cargo.toml +0 -79
  28. perspective_python-3.1.2/rust/perspective-client/build.rs +0 -83
  29. perspective_python-3.1.2/rust/perspective-client/docs/client/get_hosted_table_names.md +0 -34
  30. perspective_python-3.1.2/rust/perspective-client/docs/client/open_table.md +0 -36
  31. perspective_python-3.1.2/rust/perspective-client/docs/client/set_loop_callback.md +0 -7
  32. perspective_python-3.1.2/rust/perspective-client/docs/client/system_info.md +0 -14
  33. perspective_python-3.1.2/rust/perspective-client/docs/client/table.md +0 -98
  34. perspective_python-3.1.2/rust/perspective-client/docs/client/terminate.md +0 -2
  35. perspective_python-3.1.2/rust/perspective-client/docs/client.md +0 -78
  36. perspective_python-3.1.2/rust/perspective-client/docs/expressions.md +0 -141
  37. perspective_python-3.1.2/rust/perspective-client/docs/index.html +0 -8
  38. perspective_python-3.1.2/rust/perspective-client/docs/table/clear.md +0 -5
  39. perspective_python-3.1.2/rust/perspective-client/docs/table/columns.md +0 -30
  40. perspective_python-3.1.2/rust/perspective-client/docs/table/delete.md +0 -48
  41. perspective_python-3.1.2/rust/perspective-client/docs/table/get_client.md +0 -1
  42. perspective_python-3.1.2/rust/perspective-client/docs/table/get_features.md +0 -2
  43. perspective_python-3.1.2/rust/perspective-client/docs/table/get_index.md +0 -33
  44. perspective_python-3.1.2/rust/perspective-client/docs/table/get_limit.md +0 -1
  45. perspective_python-3.1.2/rust/perspective-client/docs/table/get_num_views.md +0 -3
  46. perspective_python-3.1.2/rust/perspective-client/docs/table/make_port.md +0 -2
  47. perspective_python-3.1.2/rust/perspective-client/docs/table/on_delete.md +0 -5
  48. perspective_python-3.1.2/rust/perspective-client/docs/table/remove.md +0 -34
  49. perspective_python-3.1.2/rust/perspective-client/docs/table/remove_delete.md +0 -2
  50. perspective_python-3.1.2/rust/perspective-client/docs/table/replace.md +0 -39
  51. perspective_python-3.1.2/rust/perspective-client/docs/table/schema.md +0 -14
  52. perspective_python-3.1.2/rust/perspective-client/docs/table/size.md +0 -1
  53. perspective_python-3.1.2/rust/perspective-client/docs/table/update.md +0 -44
  54. perspective_python-3.1.2/rust/perspective-client/docs/table/validate_expressions.md +0 -11
  55. perspective_python-3.1.2/rust/perspective-client/docs/table/view.md +0 -53
  56. perspective_python-3.1.2/rust/perspective-client/docs/table.md +0 -281
  57. perspective_python-3.1.2/rust/perspective-client/docs/view/collapse.md +0 -3
  58. perspective_python-3.1.2/rust/perspective-client/docs/view/column_paths.md +0 -5
  59. perspective_python-3.1.2/rust/perspective-client/docs/view/delete.md +0 -3
  60. perspective_python-3.1.2/rust/perspective-client/docs/view/dimensions.md +0 -13
  61. perspective_python-3.1.2/rust/perspective-client/docs/view/expand.md +0 -3
  62. perspective_python-3.1.2/rust/perspective-client/docs/view/expression_schema.md +0 -2
  63. perspective_python-3.1.2/rust/perspective-client/docs/view/get_config.md +0 -2
  64. perspective_python-3.1.2/rust/perspective-client/docs/view/get_min_max.md +0 -5
  65. perspective_python-3.1.2/rust/perspective-client/docs/view/num_columns.md +0 -6
  66. perspective_python-3.1.2/rust/perspective-client/docs/view/num_rows.md +0 -6
  67. perspective_python-3.1.2/rust/perspective-client/docs/view/on_delete.md +0 -13
  68. perspective_python-3.1.2/rust/perspective-client/docs/view/on_update.md +0 -29
  69. perspective_python-3.1.2/rust/perspective-client/docs/view/remove_delete.md +0 -9
  70. perspective_python-3.1.2/rust/perspective-client/docs/view/remove_update.md +0 -40
  71. perspective_python-3.1.2/rust/perspective-client/docs/view/schema.md +0 -18
  72. perspective_python-3.1.2/rust/perspective-client/docs/view/set_depth.md +0 -1
  73. perspective_python-3.1.2/rust/perspective-client/docs/view/to_arrow.md +0 -1
  74. perspective_python-3.1.2/rust/perspective-client/docs/view/to_columns.md +0 -1
  75. perspective_python-3.1.2/rust/perspective-client/docs/view/to_columns_string.md +0 -2
  76. perspective_python-3.1.2/rust/perspective-client/docs/view/to_csv.md +0 -1
  77. perspective_python-3.1.2/rust/perspective-client/docs/view/to_json.md +0 -1
  78. perspective_python-3.1.2/rust/perspective-client/docs/view/to_json_string.md +0 -1
  79. perspective_python-3.1.2/rust/perspective-client/docs/view.md +0 -397
  80. perspective_python-3.1.2/rust/perspective-client/package.json +0 -18
  81. perspective_python-3.1.2/rust/perspective-client/src/rust/client.rs +0 -385
  82. perspective_python-3.1.2/rust/perspective-client/src/rust/config/aggregates.rs +0 -318
  83. perspective_python-3.1.2/rust/perspective-client/src/rust/config/column_type.rs +0 -74
  84. perspective_python-3.1.2/rust/perspective-client/src/rust/config/expressions.rs +0 -519
  85. perspective_python-3.1.2/rust/perspective-client/src/rust/config/filters.rs +0 -206
  86. perspective_python-3.1.2/rust/perspective-client/src/rust/config/mod.rs +0 -30
  87. perspective_python-3.1.2/rust/perspective-client/src/rust/config/plugin.rs +0 -69
  88. perspective_python-3.1.2/rust/perspective-client/src/rust/config/sort.rs +0 -146
  89. perspective_python-3.1.2/rust/perspective-client/src/rust/config/view_config.rs +0 -259
  90. perspective_python-3.1.2/rust/perspective-client/src/rust/lib.rs +0 -113
  91. perspective_python-3.1.2/rust/perspective-client/src/rust/session.rs +0 -145
  92. perspective_python-3.1.2/rust/perspective-client/src/rust/table.rs +0 -375
  93. perspective_python-3.1.2/rust/perspective-client/src/rust/table_data.rs +0 -77
  94. perspective_python-3.1.2/rust/perspective-client/src/rust/utils/clone.rs +0 -84
  95. perspective_python-3.1.2/rust/perspective-client/src/rust/utils/logging.rs +0 -108
  96. perspective_python-3.1.2/rust/perspective-client/src/rust/utils/mod.rs +0 -79
  97. perspective_python-3.1.2/rust/perspective-client/src/rust/utils/tests/clone.rs +0 -83
  98. perspective_python-3.1.2/rust/perspective-client/src/rust/utils/tests/mod.rs +0 -13
  99. perspective_python-3.1.2/rust/perspective-client/src/rust/view.rs +0 -379
  100. perspective_python-3.1.2/rust/perspective-python/perspective/handlers/aiohttp.py +0 -55
  101. perspective_python-3.1.2/rust/perspective-python/perspective/handlers/starlette.py +0 -52
  102. perspective_python-3.1.2/rust/perspective-python/perspective/tests/__init__.py +0 -11
  103. perspective_python-3.1.2/rust/perspective-python/perspective/tests/conftest.py +0 -272
  104. perspective_python-3.1.2/rust/perspective-python/perspective/tests/core/__init__.py +0 -11
  105. perspective_python-3.1.2/rust/perspective-python/perspective/tests/core/test_async.py +0 -414
  106. perspective_python-3.1.2/rust/perspective-python/perspective/tests/server/__init__.py +0 -11
  107. perspective_python-3.1.2/rust/perspective-python/perspective/tests/server/test_server.py +0 -1066
  108. perspective_python-3.1.2/rust/perspective-python/perspective/tests/server/test_session.py +0 -55
  109. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/__init__.py +0 -11
  110. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/object_sequence.py +0 -402
  111. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_delete.py +0 -124
  112. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_leaks.py +0 -54
  113. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_ports.py +0 -178
  114. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_remove.py +0 -102
  115. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table.py +0 -621
  116. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table_arrow.py +0 -452
  117. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table_datetime.py +0 -2409
  118. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table_infer.py +0 -201
  119. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table_limit.py +0 -45
  120. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table_numpy.py +0 -1022
  121. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_table_pandas.py +0 -1018
  122. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_to_arrow.py +0 -417
  123. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_to_format.py +0 -1024
  124. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_update.py +0 -545
  125. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_update_arrow.py +0 -980
  126. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_update_pandas.py +0 -211
  127. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_view.py +0 -2234
  128. perspective_python-3.1.2/rust/perspective-python/perspective/tests/table/test_view_expression.py +0 -1940
  129. perspective_python-3.1.2/rust/perspective-python/perspective/tests/test_dependencies.py +0 -46
  130. perspective_python-3.1.2/rust/perspective-python/perspective/tests/viewer/__init__.py +0 -11
  131. perspective_python-3.1.2/rust/perspective-python/perspective/tests/viewer/test_validate.py +0 -69
  132. perspective_python-3.1.2/rust/perspective-python/perspective/tests/viewer/test_viewer.py +0 -246
  133. perspective_python-3.1.2/rust/perspective-python/perspective/tests/widget/__init__.py +0 -11
  134. perspective_python-3.1.2/rust/perspective-python/perspective/tests/widget/test_widget.py +0 -278
  135. perspective_python-3.1.2/rust/perspective-python/perspective/tests/widget/test_widget_pandas.py +0 -453
  136. perspective_python-3.1.2/rust/perspective-python/perspective/widget/__init__.py +0 -278
  137. perspective_python-3.1.2/rust/perspective-python/perspective/widget/viewer/__init__.py +0 -15
  138. perspective_python-3.1.2/rust/perspective-python/perspective/widget/viewer/validate.py +0 -22
  139. perspective_python-3.1.2/rust/perspective-python/perspective/widget/viewer/viewer.py +0 -310
  140. perspective_python-3.1.2/rust/perspective-python/perspective/widget/viewer/viewer_traitlets.py +0 -101
  141. perspective_python-3.1.2/rust/perspective-server/build/main.rs +0 -82
  142. perspective_python-3.1.2/rust/perspective-server/build/psp.rs +0 -161
  143. perspective_python-3.1.2/rust/perspective-server/docs/architecture.dot +0 -197
  144. perspective_python-3.1.2/rust/perspective-server/docs/architecture.sub1.dot +0 -66
  145. perspective_python-3.1.2/rust/perspective-server/docs/architecture.sub1.svg +0 -60
  146. perspective_python-3.1.2/rust/perspective-server/docs/architecture.sub2.dot +0 -66
  147. perspective_python-3.1.2/rust/perspective-server/docs/architecture.sub2.svg +0 -67
  148. perspective_python-3.1.2/rust/perspective-server/docs/architecture.sub3.dot +0 -97
  149. perspective_python-3.1.2/rust/perspective-server/docs/architecture.sub3.svg +0 -97
  150. perspective_python-3.1.2/rust/perspective-server/docs/architecture.svg +0 -250
  151. perspective_python-3.1.2/rust/perspective-server/docs/lib.md +0 -167
  152. perspective_python-3.1.2/rust/perspective-server/src/ffi.rs +0 -150
  153. perspective_python-3.1.2/rust/perspective-server/src/lib.rs +0 -24
  154. perspective_python-3.1.2/rust/perspective-server/src/local_client.rs +0 -112
  155. perspective_python-3.1.2/rust/perspective-server/src/local_session.rs +0 -88
  156. perspective_python-3.1.2/rust/perspective-server/src/server.rs +0 -124
  157. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/README.md +0 -0
  158. {perspective_python-3.1.2/perspective/handlers → perspective_python-3.1.4/bench}/__init__.py +0 -0
  159. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/runtime/__init__.py +0 -0
  160. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/runtime/bench.py +0 -0
  161. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/runtime/perspective_benchmark.py +0 -0
  162. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/runtime/run_perspective_benchmark.py +0 -0
  163. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/__init__.py +0 -0
  164. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/async_server.py +0 -0
  165. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/bench.py +0 -0
  166. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/distributed_mode.py +0 -0
  167. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/server/new_api.py +0 -0
  168. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/server/old_api.py +0 -0
  169. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/bench/tornado/server_mode.py +0 -0
  170. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/build.rs +0 -0
  171. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/docs/index.html +0 -0
  172. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/extension/finos-perspective-nbextension.json +0 -0
  173. {perspective_python-3.1.2/perspective/tests → perspective_python-3.1.4/perspective/handlers}/__init__.py +0 -0
  174. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/handlers/starlette.py +0 -0
  175. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/templates/exported_widget.html.template +0 -0
  176. {perspective_python-3.1.2/perspective/tests/core → perspective_python-3.1.4/perspective/tests}/__init__.py +0 -0
  177. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/conftest.py +0 -0
  178. {perspective_python-3.1.2/perspective/tests/server → perspective_python-3.1.4/perspective/tests/core}/__init__.py +0 -0
  179. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/core/test_async.py +0 -0
  180. {perspective_python-3.1.2/perspective/tests/table → perspective_python-3.1.4/perspective/tests/multi_threaded}/__init__.py +0 -0
  181. {perspective_python-3.1.2/perspective/tests/viewer → perspective_python-3.1.4/perspective/tests/server}/__init__.py +0 -0
  182. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/server/test_server.py +0 -0
  183. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/server/test_session.py +0 -0
  184. {perspective_python-3.1.2/perspective/tests/widget → perspective_python-3.1.4/perspective/tests/table}/__init__.py +0 -0
  185. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/date32.arrow +0 -0
  186. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/date64.arrow +0 -0
  187. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/dict.arrow +0 -0
  188. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/dict_update.arrow +0 -0
  189. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
  190. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
  191. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
  192. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/object_sequence.py +0 -0
  193. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_delete.py +0 -0
  194. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_leaks.py +0 -0
  195. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_ports.py +0 -0
  196. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_remove.py +0 -0
  197. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table.py +0 -0
  198. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table_arrow.py +0 -0
  199. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table_datetime.py +0 -0
  200. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table_infer.py +0 -0
  201. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table_limit.py +0 -0
  202. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table_numpy.py +0 -0
  203. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_table_pandas.py +0 -0
  204. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_to_arrow.py +0 -0
  205. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_to_arrow_lz4.py +0 -0
  206. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_to_format.py +0 -0
  207. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_update.py +0 -0
  208. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_update_arrow.py +0 -0
  209. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_update_pandas.py +0 -0
  210. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_view.py +0 -0
  211. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/table/test_view_expression.py +0 -0
  212. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/test_dependencies.py +0 -0
  213. {perspective_python-3.1.2/rust/perspective-python/bench → perspective_python-3.1.4/perspective/tests/viewer}/__init__.py +0 -0
  214. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/viewer/test_validate.py +0 -0
  215. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/viewer/test_viewer.py +0 -0
  216. {perspective_python-3.1.2/rust/perspective-python/perspective/handlers → perspective_python-3.1.4/perspective/tests/widget}/__init__.py +0 -0
  217. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/widget/test_widget.py +0 -0
  218. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/tests/widget/test_widget_pandas.py +0 -0
  219. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/widget/__init__.py +0 -0
  220. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/widget/viewer/__init__.py +0 -0
  221. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/widget/viewer/validate.py +0 -0
  222. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/widget/viewer/viewer.py +0 -0
  223. {perspective_python-3.1.2 → perspective_python-3.1.4}/perspective/widget/viewer/viewer_traitlets.py +0 -0
  224. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/client/mod.rs +0 -0
  225. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/client/pandas.rs +0 -0
  226. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/client/pyarrow.rs +0 -0
  227. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/client/python.rs +0 -0
  228. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/lib.rs +0 -0
  229. {perspective_python-3.1.2/rust/perspective-python → perspective_python-3.1.4}/src/server/mod.rs +0 -0
@@ -12,7 +12,7 @@
12
12
 
13
13
  [package]
14
14
  name = "perspective-python"
15
- version = "3.1.2"
15
+ version = "3.1.4"
16
16
  edition = "2021"
17
17
  description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
18
18
  repository = "https://github.com/finos/perspective"
@@ -25,8 +25,12 @@ include = [
25
25
  "bench/**/*.py",
26
26
  "build.rs",
27
27
  "./Cargo.toml",
28
+ "README.md",
28
29
  "./package.json",
29
30
  "perspective/**/*.py",
31
+ "perspective/extension",
32
+ "perspective/templates",
33
+ "perspective/tests/**/*.arrow",
30
34
  "./pyproject.toml",
31
35
  "src/**/*.rs",
32
36
  "docs/**/*",
@@ -52,9 +56,12 @@ pyo3-build-config = "0.20.2"
52
56
  python-config-rs = "0.1.2"
53
57
 
54
58
  [dependencies]
59
+ # NOTE: when building from the git repo, these perspective-* dependencies are
60
+ # overridden with path dependencies in .cargo/config.toml. This is done to
61
+ # support the sdist, which doesn't include these packages.
62
+ perspective-client = { version = "3.1.4" }
63
+ perspective-server = { version = "3.1.4" }
55
64
  async-lock = "2.5.0"
56
- perspective-client = { version = "3.1.2", path = "../perspective-client" }
57
- perspective-server = { version = "3.1.2", path = "../perspective-server" }
58
65
  pollster = "0.3.0"
59
66
  extend = "1.1.2"
60
67
  futures = "0.3.28"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: perspective-python
3
- Version: 3.1.2
3
+ Version: 3.1.4
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -13,16 +13,16 @@ Classifier: Framework :: Jupyter :: JupyterLab
13
13
  Classifier: Framework :: Jupyter :: JupyterLab :: 3
14
14
  Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
15
15
  Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
16
- Requires-Dist: ipywidgets >=7.5.1, <9 ; extra == 'jupyter'
17
- Requires-Dist: tornado >=5, <7 ; extra == 'tornado'
18
- Requires-Dist: aiohttp >=2, <4 ; extra == 'aiohttp'
19
- Requires-Dist: starlette <1 ; extra == 'starlette'
16
+ Requires-Dist: ipywidgets>=7.5.1,<9 ; extra == 'jupyter'
17
+ Requires-Dist: tornado>=5,<7 ; extra == 'tornado'
18
+ Requires-Dist: aiohttp>=2,<4 ; extra == 'aiohttp'
19
+ Requires-Dist: starlette<1 ; extra == 'starlette'
20
20
  Provides-Extra: jupyter
21
21
  Provides-Extra: tornado
22
22
  Provides-Extra: aiohttp
23
23
  Provides-Extra: starlette
24
24
  Summary: A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
25
- Home-Page: https://perspective.finos.org
25
+ Home-page: https://perspective.finos.org
26
26
  Author: Andrew Stein <steinlink@gmail.com>
27
27
  Author-email: Andrew Stein <steinlink@gmail.com>
28
28
  License: Apache-2.0
@@ -33,4 +33,3 @@ Project-URL: Source Code, https://github.com/finos/perspective
33
33
  # `perspective-python`
34
34
 
35
35
  This crate provides the Python bindings for Perspective.
36
-
@@ -376,7 +376,7 @@ supported by `perspective.Table`. `PerspectiveWidget` takes keyword arguments
376
376
  for the managed `View`:
377
377
 
378
378
  ```python
379
- from perspective import PerspectiveWidget
379
+ from perspective.widget import PerspectiveWidget
380
380
  w = perspective.PerspectiveWidget(
381
381
  data,
382
382
  plugin="X Bar",
@@ -396,7 +396,7 @@ if the intention is to await data for loading later on. A widget can be
396
396
  constructed from a dataset:
397
397
 
398
398
  ```python
399
- from perspective import PerspectiveWidget
399
+ from perspective.widget import PerspectiveWidget
400
400
  PerspectiveWidget(data, group_by=["date"])
401
401
  ```
402
402
 
@@ -456,6 +456,8 @@ configuration object in the route tuple, and it must contain
456
456
  `"perspective_server"`, which is a reference to the `Server` you just created.
457
457
 
458
458
  ```python
459
+ from perspective.handlers.tornado import PerspectiveTornadoHandler
460
+
459
461
  app = tornado.web.Application([
460
462
 
461
463
  # ... other handlers ...
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@finos/perspective-python",
3
+ "version": "3.1.4",
4
+ "description": "",
5
+ "private": true,
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/finos/perspective"
9
+ },
10
+ "type": "module",
11
+ "license": "Apache-2.0",
12
+ "scripts": {
13
+ "build": "node build.mjs",
14
+ "clean": "rimraf *.data && rimraf dist && rimraf build",
15
+ "test": "node test.mjs"
16
+ },
17
+ "devDependencies": {
18
+ "@finos/perspective-scripts": "workspace:*",
19
+ "@iarna/toml": "^1.0.0-rc.1",
20
+ "glob": "^11",
21
+ "cpy": "^9.0.1",
22
+ "tar": "^7.4.3"
23
+ },
24
+ "dependencies": {
25
+ "@finos/perspective-jupyterlab": "workspace:*"
26
+ }
27
+ }
@@ -10,7 +10,7 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- __version__ = "3.1.2"
13
+ __version__ = "3.1.4"
14
14
  __all__ = [
15
15
  "_jupyter_labextension_paths",
16
16
  "Server",
@@ -27,6 +27,10 @@ from .perspective import (
27
27
  PerspectiveError,
28
28
  ProxySession,
29
29
  PySyncServer as Server,
30
+ # NOTE: these are classes without constructors,
31
+ # so we import them just for type hinting
32
+ Table, # noqa: F401
33
+ View, # noqa: F401
30
34
  )
31
35
 
32
36
 
@@ -39,7 +39,7 @@ class PerspectiveAIOHTTPHandler(object):
39
39
  self._request = kwargs.pop("request")
40
40
  super().__init__(**kwargs)
41
41
 
42
- async def run(self) -> None:
42
+ async def run(self) -> web.WebSocketResponse:
43
43
  def inner(msg):
44
44
  asyncio.get_running_loop().create_task(self._ws.send_bytes(msg))
45
45
 
@@ -53,3 +53,4 @@ class PerspectiveAIOHTTPHandler(object):
53
53
 
54
54
  finally:
55
55
  self.session.close()
56
+ return self._ws
@@ -42,6 +42,9 @@ class PerspectiveTornadoHandler(WebSocketHandler):
42
42
  ... ])
43
43
  """
44
44
 
45
+ def check_origin(self, origin):
46
+ return True
47
+
45
48
  def initialize(self, perspective_server=perspective.GLOBAL_SERVER):
46
49
  self.server = perspective_server
47
50
 
@@ -10,23 +10,32 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- import perspective as psp
13
+ from perspective import Server
14
14
 
15
- client = psp.Server().new_local_client()
16
- Table = client.table
15
+ import asyncio
16
+ import random
17
+ import threading
17
18
 
18
19
 
19
- class TestToArrowLZ4(object):
20
- def test_to_arrow_lz4_roundtrip(self, superstore):
21
- original_tbl = Table(superstore.to_dict(orient="records"))
22
- arrow_uncompressed = original_tbl.view().to_arrow(compression=None)
20
+ class TestServer(object):
21
+ def test_concurrent_updates(self):
22
+ def feed(table):
23
+ y = 1000
24
+ while y > 0:
25
+ y -= 1
26
+ table.update([{"a": random.randint(0, 10), "index": 1}])
23
27
 
24
- tbl = Table(arrow_uncompressed)
25
- arr = tbl.view().to_arrow(compression="lz4")
26
- assert len(arr) < len(arrow_uncompressed)
27
- tbl2 = Table(arr)
28
- arr2 = tbl2.view().to_arrow(compression=None)
29
- assert len(arr2) > len(arr)
30
- tbl3 = Table(arr)
31
- arr3 = tbl3.view().to_arrow(compression="lz4")
32
- assert len(arr3) == len(arr)
28
+ perspective_server = Server()
29
+ loop = asyncio.get_event_loop()
30
+ client = perspective_server.new_local_client(
31
+ loop_callback=loop.call_soon_threadsafe
32
+ )
33
+
34
+ table = client.table(
35
+ {"a": "integer", "index": "integer"}, index="index", name="test"
36
+ )
37
+
38
+ thread = threading.Thread(target=feed, args=(table,), daemon=True)
39
+ thread.start()
40
+ feed(table)
41
+ thread.join()
@@ -20,6 +20,18 @@ Table = client.table
20
20
 
21
21
 
22
22
  class TestException(object):
23
+ def test_instantiation_exception_table(self):
24
+ from perspective import Table
25
+ with raises(TypeError) as ex:
26
+ Table()
27
+ assert "Do not call Table's constructor directly" in str(ex.value)
28
+
29
+ def test_instantiation_exception_view(self):
30
+ from perspective import View
31
+ with raises(TypeError) as ex:
32
+ View()
33
+ assert "Do not call View's constructor directly" in str(ex.value)
34
+
23
35
  def test_exception_from_core(self):
24
36
  tbl = Table({"a": [1, 2, 3]})
25
37
 
@@ -0,0 +1,5 @@
1
+ {
2
+ "packageManager": "python",
3
+ "packageName": "perspective-python",
4
+ "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package perspective-python"
5
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@finos/perspective-jupyterlab",
3
+ "version": "3.1.4",
4
+ "description": "A Jupyterlab extension for the Perspective library, designed to be used with perspective-python.",
5
+ "files": [
6
+ "dist/**/*",
7
+ "src/**/*"
8
+ ],
9
+ "type": "commonjs",
10
+ "main": "dist/esm/perspective-jupyterlab.js",
11
+ "style": "dist/css/perspective-jupyterlab.css",
12
+ "directories": {
13
+ "dist": "dist/"
14
+ },
15
+ "license": "Apache-2.0",
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "scripts": {
20
+ "bench": "npm-run-all bench:build bench:run",
21
+ "bench:build": "echo \"No Benchmarks\"",
22
+ "bench:run": "echo \"No Benchmarks\"",
23
+ "build": "node build.mjs",
24
+ "clean": "npm-run-all clean:*",
25
+ "clean:dist": "rimraf dist",
26
+ "clean:lib": "rimraf lib",
27
+ "clean:labextension": "rimraf ../../rust/perspective-python/perspective/labextension",
28
+ "clean:nbextension": "rimraf ../../rust/perspective-python/perspective/nbextension/static",
29
+ "test:build": "node build.mjs --test",
30
+ "test:jupyter:build": "cpy \"test/arrow/*\" dist/esm",
31
+ "test:jupyter": "__JUPYTERLAB_PORT__=6538 npx playwright test --config ../../tools/perspective-test/playwright.config.ts -- --jupyter",
32
+ "test": "npm-run-all test:build",
33
+ "version": "yarn build"
34
+ },
35
+ "dependencies": {
36
+ "@finos/perspective": "workspace:^",
37
+ "@finos/perspective-viewer": "workspace:^",
38
+ "@finos/perspective-viewer-d3fc": "workspace:^",
39
+ "@finos/perspective-viewer-datagrid": "workspace:^",
40
+ "@finos/perspective-viewer-openlayers": "workspace:^",
41
+ "@jupyter-widgets/base": ">2 <5",
42
+ "@jupyterlab/application": ">2 <5",
43
+ "@lumino/application": "<3",
44
+ "@lumino/widgets": "<3"
45
+ },
46
+ "devDependencies": {
47
+ "@finos/perspective-esbuild-plugin": "workspace:^",
48
+ "@finos/perspective-test": "workspace:^",
49
+ "@jupyterlab/builder": "^4",
50
+ "copy-webpack-plugin": "~12",
51
+ "@prospective.co/procss": "^0.1.16",
52
+ "cpy": "^9.0.1",
53
+ "zx": "^8.1.8"
54
+ },
55
+ "jupyterlab": {
56
+ "webpackConfig": "./webpack.config.js",
57
+ "extension": true,
58
+ "outputDir": "./dist/cjs",
59
+ "sharedPackages": {
60
+ "@jupyter-widgets/base": {
61
+ "bundled": false,
62
+ "singleton": true
63
+ }
64
+ },
65
+ "discovery": {
66
+ "server": {
67
+ "base": {
68
+ "name": "perspective-python"
69
+ },
70
+ "managers": [
71
+ "pip"
72
+ ]
73
+ }
74
+ },
75
+ "_build": {
76
+ "load": "static/remoteEntry.c7cf6058d0553da62b3f.js",
77
+ "extension": "./extension",
78
+ "style": "./style"
79
+ }
80
+ }
81
+ }