perspective-python 3.0.0rc6__tar.gz → 3.0.1__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 (217) hide show
  1. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/Cargo.lock +9 -7
  2. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/PKG-INFO +13 -1
  3. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/__init__.py +1 -1
  4. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/pyproject.toml +13 -1
  5. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/Cargo.toml +1 -1
  6. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client.md +8 -0
  7. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table.md +11 -0
  8. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/on_delete.md +5 -1
  9. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/on_update.md +5 -1
  10. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view.md +97 -17
  11. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/Cargo.toml +3 -3
  12. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/build/main.rs +4 -0
  13. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/docs/index.html +1 -1
  14. perspective_python-3.0.1/rust/perspective-python/docs/lib.md +528 -0
  15. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/__init__.py +1 -1
  16. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/src/lib.rs +1 -0
  17. {perspective_python-3.0.0rc6.data → perspective_python-3.0.1.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/package.json +2 -2
  18. perspective_python-3.0.1.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.21bd87061737b28bdb5b.js +18 -0
  19. perspective_python-3.0.1.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/905.bda9d13f81bc1d4190ff.js +1 -0
  20. perspective_python-3.0.1.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.2d479254617fc3abef25.js +1 -0
  21. perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.68e6568b5970b09d562f.js +0 -18
  22. perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/905.d3bbc3d5954582d507bb.js +0 -1
  23. perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.f837ca9d296229985161.js +0 -1
  24. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/Cargo.toml +0 -0
  25. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/extension/finos-perspective-nbextension.json +0 -0
  26. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/handlers/__init__.py +0 -0
  27. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/handlers/aiohttp.py +0 -0
  28. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/handlers/starlette.py +0 -0
  29. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/handlers/tornado.py +0 -0
  30. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/psp_cffi.py +0 -0
  31. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/templates/exported_widget.html.jinja +0 -0
  32. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/__init__.py +0 -0
  33. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/conftest.py +0 -0
  34. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/core/__init__.py +0 -0
  35. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/core/test_async.py +0 -0
  36. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/core/test_threadpool.py +0 -0
  37. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/server/__init__.py +0 -0
  38. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/server/test_server.py +0 -0
  39. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/server/test_session.py +0 -0
  40. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/single_threaded/test_single_threaded.py +0 -0
  41. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/__init__.py +0 -0
  42. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/date32.arrow +0 -0
  43. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/date64.arrow +0 -0
  44. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/dict.arrow +0 -0
  45. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/dict_update.arrow +0 -0
  46. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
  47. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
  48. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
  49. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/object_sequence.py +0 -0
  50. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_delete.py +0 -0
  51. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_exception.py +0 -0
  52. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_leaks.py +0 -0
  53. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_ports.py +0 -0
  54. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_remove.py +0 -0
  55. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table.py +0 -0
  56. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table_arrow.py +0 -0
  57. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table_datetime.py +0 -0
  58. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table_infer.py +0 -0
  59. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table_limit.py +0 -0
  60. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table_numpy.py +0 -0
  61. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_table_pandas.py +0 -0
  62. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_to_arrow.py +0 -0
  63. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_to_arrow_lz4.py +0 -0
  64. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_to_format.py +0 -0
  65. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_update.py +0 -0
  66. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_update_arrow.py +0 -0
  67. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_update_pandas.py +0 -0
  68. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_view.py +0 -0
  69. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/table/test_view_expression.py +0 -0
  70. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/viewer/__init__.py +0 -0
  71. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/viewer/test_validate.py +0 -0
  72. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/viewer/test_viewer.py +0 -0
  73. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/widget/__init__.py +0 -0
  74. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/widget/test_widget.py +0 -0
  75. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/tests/widget/test_widget_pandas.py +0 -0
  76. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/viewer/__init__.py +0 -0
  77. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/viewer/validate.py +0 -0
  78. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/viewer/viewer.py +0 -0
  79. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/viewer/viewer_traitlets.py +0 -0
  80. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/widget/__init__.py +0 -0
  81. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/perspective/widget/widget.py +0 -0
  82. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/build.rs +0 -0
  83. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client/get_hosted_table_names.md +0 -0
  84. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client/open_table.md +0 -0
  85. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client/set_loop_callback.md +0 -0
  86. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client/system_info.md +0 -0
  87. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client/table.md +0 -0
  88. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/client/terminate.md +0 -0
  89. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/index.html +0 -0
  90. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/clear.md +0 -0
  91. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/columns.md +0 -0
  92. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/delete.md +0 -0
  93. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/get_client.md +0 -0
  94. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/get_features.md +0 -0
  95. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/get_index.md +0 -0
  96. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/get_limit.md +0 -0
  97. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/get_num_views.md +0 -0
  98. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/make_port.md +0 -0
  99. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/on_delete.md +0 -0
  100. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/remove.md +0 -0
  101. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/remove_delete.md +0 -0
  102. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/replace.md +0 -0
  103. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/schema.md +0 -0
  104. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/size.md +0 -0
  105. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/update.md +0 -0
  106. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/validate_expressions.md +0 -0
  107. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/table/view.md +0 -0
  108. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/collapse.md +0 -0
  109. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/column_paths.md +0 -0
  110. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/delete.md +0 -0
  111. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/dimensions.md +0 -0
  112. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/expand.md +0 -0
  113. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/expression_schema.md +0 -0
  114. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/get_config.md +0 -0
  115. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/get_min_max.md +0 -0
  116. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/num_columns.md +0 -0
  117. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/num_rows.md +0 -0
  118. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/remove_delete.md +0 -0
  119. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/remove_update.md +0 -0
  120. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/schema.md +0 -0
  121. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/set_depth.md +0 -0
  122. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/to_arrow.md +0 -0
  123. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/to_columns.md +0 -0
  124. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/to_columns_string.md +0 -0
  125. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/to_csv.md +0 -0
  126. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/to_json.md +0 -0
  127. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/docs/view/to_json_string.md +0 -0
  128. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/client.rs +0 -0
  129. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/aggregates.rs +0 -0
  130. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/column_type.rs +0 -0
  131. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/expressions.rs +0 -0
  132. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/filters.rs +0 -0
  133. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/mod.rs +0 -0
  134. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/plugin.rs +0 -0
  135. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/sort.rs +0 -0
  136. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/config/view_config.rs +0 -0
  137. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/lib.rs +0 -0
  138. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/session.rs +0 -0
  139. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/table.rs +0 -0
  140. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/table_data.rs +0 -0
  141. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/utils/clone.rs +0 -0
  142. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/utils/logging.rs +0 -0
  143. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/utils/mod.rs +0 -0
  144. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/utils/tests/clone.rs +0 -0
  145. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/utils/tests/mod.rs +0 -0
  146. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-client/src/rust/view.rs +0 -0
  147. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/README.md +0 -0
  148. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/__init__.py +0 -0
  149. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/runtime/__init__.py +0 -0
  150. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/runtime/bench.py +0 -0
  151. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/runtime/perspective_benchmark.py +0 -0
  152. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/runtime/run_perspective_benchmark.py +0 -0
  153. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/__init__.py +0 -0
  154. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/async_server.py +0 -0
  155. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/bench.py +0 -0
  156. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/distributed_mode.py +0 -0
  157. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/server/new_api.py +0 -0
  158. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/server/old_api.py +0 -0
  159. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/bench/tornado/server_mode.py +0 -0
  160. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/build/psp.rs +0 -0
  161. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/handlers/__init__.py +0 -0
  162. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/handlers/aiohttp.py +0 -0
  163. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/handlers/starlette.py +0 -0
  164. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/handlers/tornado.py +0 -0
  165. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/psp_cffi.py +0 -0
  166. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/__init__.py +0 -0
  167. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/conftest.py +0 -0
  168. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/core/__init__.py +0 -0
  169. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/core/test_async.py +0 -0
  170. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/core/test_threadpool.py +0 -0
  171. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/server/__init__.py +0 -0
  172. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/server/test_server.py +0 -0
  173. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/server/test_session.py +0 -0
  174. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/single_threaded/test_single_threaded.py +0 -0
  175. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/__init__.py +0 -0
  176. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/object_sequence.py +0 -0
  177. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_delete.py +0 -0
  178. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_exception.py +0 -0
  179. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_leaks.py +0 -0
  180. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_ports.py +0 -0
  181. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_remove.py +0 -0
  182. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table.py +0 -0
  183. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table_arrow.py +0 -0
  184. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table_datetime.py +0 -0
  185. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table_infer.py +0 -0
  186. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table_limit.py +0 -0
  187. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table_numpy.py +0 -0
  188. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_table_pandas.py +0 -0
  189. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_to_arrow.py +0 -0
  190. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_to_arrow_lz4.py +0 -0
  191. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_to_format.py +0 -0
  192. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_update.py +0 -0
  193. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_update_arrow.py +0 -0
  194. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_update_pandas.py +0 -0
  195. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_view.py +0 -0
  196. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/table/test_view_expression.py +0 -0
  197. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/viewer/__init__.py +0 -0
  198. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/viewer/test_validate.py +0 -0
  199. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/viewer/test_viewer.py +0 -0
  200. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/widget/__init__.py +0 -0
  201. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/widget/test_widget.py +0 -0
  202. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/tests/widget/test_widget_pandas.py +0 -0
  203. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/viewer/__init__.py +0 -0
  204. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/viewer/validate.py +0 -0
  205. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/viewer/viewer.py +0 -0
  206. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/viewer/viewer_traitlets.py +0 -0
  207. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/widget/__init__.py +0 -0
  208. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/perspective/widget/widget.py +0 -0
  209. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/src/client/client_sync.rs +0 -0
  210. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/src/client/mod.rs +0 -0
  211. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/src/client/python.rs +0 -0
  212. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/src/server/mod.rs +0 -0
  213. {perspective_python-3.0.0rc6 → perspective_python-3.0.1}/rust/perspective-python/src/server/server_sync.rs +0 -0
  214. {perspective_python-3.0.0rc6.data → perspective_python-3.0.1.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/install.json +0 -0
  215. /perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.68e6568b5970b09d562f.js.LICENSE.txt → /perspective_python-3.0.1.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.21bd87061737b28bdb5b.js.LICENSE.txt +0 -0
  216. {perspective_python-3.0.0rc6.data → perspective_python-3.0.1.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/style.js +0 -0
  217. {perspective_python-3.0.0rc6.data → perspective_python-3.0.1.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/third-party-licenses.json +0 -0
@@ -1783,7 +1783,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1783
1783
 
1784
1784
  [[package]]
1785
1785
  name = "perspective"
1786
- version = "3.0.0-rc.6"
1786
+ version = "3.0.1"
1787
1787
  dependencies = [
1788
1788
  "async-lock",
1789
1789
  "axum",
@@ -1823,7 +1823,7 @@ dependencies = [
1823
1823
 
1824
1824
  [[package]]
1825
1825
  name = "perspective-client"
1826
- version = "3.0.0-rc.6"
1826
+ version = "3.0.1"
1827
1827
  dependencies = [
1828
1828
  "async-lock",
1829
1829
  "futures",
@@ -1845,7 +1845,7 @@ dependencies = [
1845
1845
 
1846
1846
  [[package]]
1847
1847
  name = "perspective-js"
1848
- version = "3.0.0-rc.6"
1848
+ version = "3.0.1"
1849
1849
  dependencies = [
1850
1850
  "anyhow",
1851
1851
  "base64 0.13.1",
@@ -1874,7 +1874,7 @@ dependencies = [
1874
1874
 
1875
1875
  [[package]]
1876
1876
  name = "perspective-lint"
1877
- version = "3.0.0-rc.6"
1877
+ version = "3.0.1"
1878
1878
  dependencies = [
1879
1879
  "glob",
1880
1880
  "yew-fmt",
@@ -1882,7 +1882,7 @@ dependencies = [
1882
1882
 
1883
1883
  [[package]]
1884
1884
  name = "perspective-python"
1885
- version = "3.0.0-rc.6"
1885
+ version = "3.0.1"
1886
1886
  dependencies = [
1887
1887
  "async-lock",
1888
1888
  "cmake",
@@ -1902,21 +1902,23 @@ dependencies = [
1902
1902
 
1903
1903
  [[package]]
1904
1904
  name = "perspective-server"
1905
- version = "3.0.0-rc.6"
1905
+ version = "3.0.1"
1906
1906
  dependencies = [
1907
1907
  "async-lock",
1908
+ "base64 0.22.1",
1908
1909
  "cmake",
1909
1910
  "cxx",
1910
1911
  "cxx-build",
1911
1912
  "futures",
1912
1913
  "num_cpus",
1913
1914
  "perspective-client",
1915
+ "regex",
1914
1916
  "tracing",
1915
1917
  ]
1916
1918
 
1917
1919
  [[package]]
1918
1920
  name = "perspective-viewer"
1919
- version = "3.0.0-rc.6"
1921
+ version = "3.0.1"
1920
1922
  dependencies = [
1921
1923
  "anyhow",
1922
1924
  "async-lock",
@@ -1,8 +1,20 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: perspective-python
3
- Version: 3.0.0rc6
3
+ Version: 3.0.1
4
+ Classifier: Development Status :: 5 - Production/Stable
4
5
  Classifier: Programming Language :: Rust
5
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.9
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Framework :: Jupyter :: JupyterLab
13
+ Classifier: Framework :: Jupyter :: JupyterLab :: 3
14
+ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
15
+ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
16
+ Requires-Dist: jinja2 >=2.0, <4
17
+ Requires-Dist: ipywidgets >=7.5.1, <9
6
18
  Summary: A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
7
19
  Home-Page: https://perspective.finos.org
8
20
  Author: Andrew Stein <steinlink@gmail.com>
@@ -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.0.0-rc.6"
13
+ __version__ = "3.0.1"
14
14
  __all__ = [
15
15
  "_jupyter_labextension_paths",
16
16
  "PerspectiveError",
@@ -19,13 +19,25 @@ name = "perspective-python"
19
19
  requires-python = ">=3.9"
20
20
  dynamic = ["version"]
21
21
  classifiers = [
22
+ "Development Status :: 5 - Production/Stable",
22
23
  "Programming Language :: Rust",
23
24
  "Programming Language :: Python :: Implementation :: CPython",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.9",
27
+ "Programming Language :: Python :: 3.10",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ "Framework :: Jupyter :: JupyterLab",
31
+ "Framework :: Jupyter :: JupyterLab :: 3",
32
+ "Framework :: Jupyter :: JupyterLab :: Extensions",
33
+ # "Framework :: Jupyter :: JupyterLab :: Extensions :: Mime Renderers",
34
+ "Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt",
24
35
  ]
36
+ dependencies = ["Jinja2>=2.0,<4", "ipywidgets>=7.5.1,<9"]
25
37
 
26
38
  [tool.maturin]
27
39
  module-name = "perspective"
28
- data = "perspective_python-3.0.0rc6.data"
40
+ data = "perspective_python-3.0.1.data"
29
41
  features = ["pyo3/extension-module"]
30
42
  include = [
31
43
  { path = "perspective/*libpsp.so", format = "wheel" },
@@ -12,7 +12,7 @@
12
12
 
13
13
  [package]
14
14
  name = "perspective-client"
15
- version = "3.0.0-rc.6"
15
+ version = "3.0.1"
16
16
  authors = ["Andrew Stein <steinlink@gmail.com>"]
17
17
  edition = "2021"
18
18
  description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
@@ -4,6 +4,10 @@ transport like a WebSocket.
4
4
 
5
5
  <div class="javascript">
6
6
 
7
+ <div class="warning">
8
+ The examples in this module are in JavaScript. See <a href="https://docs.rs/crate/perspective/latest"><code>perspective</code></a> docs for the Rust API.
9
+ </div>
10
+
7
11
  The browser and node.js libraries both support the `websocket(url)` constructor,
8
12
  which connects to a remote `perspective_server::Server` instance over a
9
13
  WebSocket transport.
@@ -40,6 +44,10 @@ import { default as client } from "@finos/perspective";
40
44
  </div>
41
45
  <div class="python">
42
46
 
47
+ <div class="warning">
48
+ The examples in this module are in Python. See <a href="https://docs.rs/crate/perspective/latest"><code>perspective</code></a> docs for the Rust API.
49
+ </div>
50
+
43
51
  # Python Examples
44
52
 
45
53
  Create a `perspective_server::Server` and a local, synchronous [`Client`]
@@ -12,3 +12,14 @@ The schema of a [`Table`] is _immutable after creation_, which means the column
12
12
  names and data types cannot be changed after the [`Table`] has been created.
13
13
  Columns cannot be added or deleted after creation either, but a [`View`] can be
14
14
  used to select an arbitrary set of columns from the [`Table`].
15
+
16
+ <div class="javascript">
17
+ <div class="warning">
18
+ The examples in this module are in JavaScript. See <a href="https://docs.rs/crate/perspective/latest"><code>perspective</code></a> docs for the Rust API.
19
+ </div>
20
+ </div>
21
+ <div class="python">
22
+ <div class="warning">
23
+ The examples in this module are in Python. See <a href="https://docs.rs/crate/perspective/latest"><code>perspective</code></a> docs for the Rust API.
24
+ </div>
25
+ </div>
@@ -1,9 +1,13 @@
1
1
  Register a callback with this [`View`]. Whenever the [`View`] is deleted, this
2
2
  callback will be invoked.
3
3
 
4
- # Example
4
+ <div class="javascript">
5
+
6
+ # JavaScript Examples
5
7
 
6
8
  ```javascript
7
9
  // attach an `on_delete` callback
8
10
  view.on_delete(() => console.log("Deleted!"));
9
11
  ```
12
+
13
+ </div>
@@ -12,7 +12,9 @@ which is the new data that was updated for each cell or each row.
12
12
  `OnUpdateOptions { mode: Some(OnUpdateMode::Row) }`, then `delta` is an
13
13
  Arrow of the updated rows. Otherwise `delta` will be [`Option::None`].
14
14
 
15
- # Examples
15
+ <div class="javascript">
16
+
17
+ # JavaScript Examples
16
18
 
17
19
  ```javascript
18
20
  // Attach an `on_update` callback
@@ -23,3 +25,5 @@ view.on_update((updated) => console.log(updated.port_id));
23
25
  // `on_update` with row deltas
24
26
  view.on_update((updated) => console.log(updated.delta), { mode: "row" });
25
27
  ```
28
+
29
+ </div>
@@ -1,6 +1,11 @@
1
1
  The [`View`] struct is Perspective's query and serialization interface. It
2
2
  represents a query on the `Table`'s dataset and is always created from an
3
- existing `Table` instance via the [`Table::view`] method. .
3
+ existing `Table` instance via the [`Table::view`] method.
4
+
5
+ <div class="javascript">
6
+ <div class="warning">
7
+ The examples in this module are in JavaScript. See <a href="https://docs.rs/crate/perspective/latest"><code>perspective</code></a> docs for the Rust API.
8
+ </div>
4
9
 
5
10
  ```javascript
6
11
  const table = await perspective.table({
@@ -13,6 +18,12 @@ const json = await view.to_json();
13
18
  await view.delete();
14
19
  ```
15
20
 
21
+ </div>
22
+ <div class="python">
23
+ <div class="warning">
24
+ The examples in this module are in Python. See <a href="https://docs.rs/crate/perspective/latest"><code>perspective</code></a> docs for the Rust API.
25
+ </div>
26
+
16
27
  ```python
17
28
  table = perspective.Table({
18
29
  "id": [1, 2, 3, 4],
@@ -24,6 +35,9 @@ arrow = view.to_arrow()
24
35
  view.delete()
25
36
  ```
26
37
 
38
+ </div>
39
+ <div class="rust">
40
+
27
41
  ```rust
28
42
  let opts = TableInitOptions::default();
29
43
  let data = TableData::Update(UpdateData::Csv("x,y\n1,2\n3,4".into()));
@@ -34,6 +48,8 @@ let arrow = view.to_arrow().await?;
34
48
  view.delete().await?;
35
49
  ```
36
50
 
51
+ </div>
52
+
37
53
  [`View`]s are immutable with respect to the arguments provided to the
38
54
  [`Table::view`] method; to change these parameters, you must create a new
39
55
  [`View`] on the same [`Table`]. However, each [`View`] is _live_ with respect to
@@ -51,6 +67,8 @@ optional configuration object. A [`Table`] can have as many [`View`]s associated
51
67
  with it as you need - Perspective conserves memory by relying on a single
52
68
  [`Table`] to power multiple [`View`]s concurrently:
53
69
 
70
+ <div class="javascript">
71
+
54
72
  ```javascript
55
73
  const view = await table.view({
56
74
  columns: ["Sales"],
@@ -60,6 +78,9 @@ const view = await table.view({
60
78
  });
61
79
  ```
62
80
 
81
+ </div>
82
+ <div class="python">
83
+
63
84
  ```python
64
85
  view = table.view(
65
86
  columns=["Sales"],
@@ -69,6 +90,9 @@ view = table.view(
69
90
  )
70
91
  ```
71
92
 
93
+ </div>
94
+ <div class="rust">
95
+
72
96
  ```rust
73
97
  use crate::config::*;
74
98
  let view = table
@@ -85,6 +109,8 @@ let view = table
85
109
  .await?;
86
110
  ```
87
111
 
112
+ </div>
113
+
88
114
  ## Group By
89
115
 
90
116
  A group by _groups_ the dataset by the unique values of each column used as a
@@ -100,14 +126,22 @@ Code, which are grouped by City, which are in turn grouped by State.
100
126
 
101
127
  #### Example
102
128
 
129
+ <div class="javascript">
130
+
103
131
  ```javascript
104
132
  const view = await table.view({ group_by: ["a", "c"] });
105
133
  ```
106
134
 
135
+ </div>
136
+ <div class="python">
137
+
107
138
  ```python
108
139
  view = table.view(group_by=["a", "c"])
109
140
  ```
110
141
 
142
+ </div>
143
+ <div class="rust">
144
+
111
145
  ```rust
112
146
  let view = table.view(Some(ViewConfigUpdate {
113
147
  group_by: Some(vec!["a".into(), "c".into()]),
@@ -115,8 +149,7 @@ let view = table.view(Some(ViewConfigUpdate {
115
149
  })).await?;
116
150
  ```
117
151
 
118
- <!-- <perspective-viewer group_by='["State", "City"]' columns='["Sales", "Profit"]'>
119
- </perspective-viewer> -->
152
+ </div>
120
153
 
121
154
  ## Split By
122
155
 
@@ -130,14 +163,22 @@ pivot:
130
163
 
131
164
  #### Example
132
165
 
166
+ <div class="javascript">
167
+
133
168
  ```javascript
134
169
  const view = await table.view({ split_by: ["a", "c"] });
135
170
  ```
136
171
 
172
+ </div>
173
+ <div class="python">
174
+
137
175
  ```python
138
176
  view = table.view(split_by=["a", "c"])
139
177
  ```
140
178
 
179
+ </div>
180
+ <div class="rust">
181
+
141
182
  ```rust
142
183
  let view = table.view(Some(ViewConfigUpdate {
143
184
  split_by: Some(vec!["a".into(), "c".into()]),
@@ -145,8 +186,7 @@ let view = table.view(Some(ViewConfigUpdate {
145
186
  })).await?;
146
187
  ```
147
188
 
148
- <!-- <perspective-viewer group_by='["Category"]' split_by='["Region"]' columns='["Sales", "Profit"]'>
149
- </perspective-viewer> -->
189
+ </div>
150
190
 
151
191
  ## Aggregates
152
192
 
@@ -164,6 +204,8 @@ function name.
164
204
 
165
205
  #### Example
166
206
 
207
+ <div class="javascript">
208
+
167
209
  ```javascript
168
210
  const view = await table.view({
169
211
  aggregates: {
@@ -173,6 +215,9 @@ const view = await table.view({
173
215
  });
174
216
  ```
175
217
 
218
+ </div>
219
+ <div class="python">
220
+
176
221
  ```python
177
222
  view = table.view(
178
223
  aggregates={
@@ -182,8 +227,10 @@ view = table.view(
182
227
  )
183
228
  ```
184
229
 
185
- <!-- <perspective-viewer aggregates='{"Sales": "avg", "Profit": "median"}' group_by='["State", "City"]' columns='["Sales", "Profit"]'>
186
- </perspective-viewer> -->
230
+ </div>
231
+ <div class="rust">
232
+
233
+ </div>
187
234
 
188
235
  ## Columns
189
236
 
@@ -194,19 +241,25 @@ represented in Perspective as an array of string column names:
194
241
 
195
242
  #### Example
196
243
 
244
+ <div class="javascript">
245
+
197
246
  ```javascript
198
247
  const view = await table.view({
199
248
  columns: ["a"],
200
249
  });
201
250
  ```
202
251
 
252
+ </div>
253
+ <div class="python">
254
+
203
255
  ```python
204
256
  view = table.view(columns=["a"])
205
257
  ```
206
258
 
207
- <!--
208
- <perspective-viewer columns='["Sales", "Profit"]'>
209
- </perspective-viewer> -->
259
+ </div>
260
+ <div class="rust">
261
+
262
+ </div>
210
263
 
211
264
  ## Sort
212
265
 
@@ -220,18 +273,22 @@ determine the order of pivot columns groups.
220
273
 
221
274
  #### Example
222
275
 
276
+ <div class="javascript">
277
+
223
278
  ```javascript
224
279
  const view = await table.view({
225
280
  sort: [["a", "asc"]],
226
281
  });
227
282
  ```
228
283
 
284
+ </div>
285
+ <div class="python">
286
+
229
287
  ```python
230
288
  view = table.view(sort=[["a", "asc"]])
231
289
  ```
232
290
 
233
- <!-- <perspective-viewer columns='["Sales", "Profit"]' sort='[["Sales", "desc"]]'> -->
234
- <!-- </perspective-viewer> -->
291
+ </div>
235
292
 
236
293
  ## Filter
237
294
 
@@ -247,18 +304,25 @@ operand in the type of the column:
247
304
 
248
305
  #### Example
249
306
 
307
+ <div class="javascript">
308
+
250
309
  ```javascript
251
310
  const view = await table.view({
252
311
  filter: [["a", "<", 100]],
253
312
  });
254
313
  ```
255
314
 
315
+ </div>
316
+ <div class="python">
317
+
256
318
  ```python
257
319
  view = table.view(filter=[["a", "<", 100]])
258
320
  ```
259
321
 
260
- <!-- <perspective-viewer columns='["State", "Sales", "Profit"]' filter='[["State","==","Texas"]]'>
261
- </perspective-viewer> -->
322
+ </div>
323
+ <div class="rust">
324
+
325
+ </div>
262
326
 
263
327
  ## Expressions
264
328
 
@@ -271,19 +335,25 @@ A custom name can be added to an expression by making the first line a comment:
271
335
 
272
336
  #### Example
273
337
 
338
+ <div class="javascript">
339
+
274
340
  ```javascript
275
341
  const view = await table.view({
276
342
  expressions: { '"a" + "b"': '"a" + "b"' },
277
343
  });
278
344
  ```
279
345
 
346
+ </div>
347
+ <div class="python">
348
+
280
349
  ```python
281
350
  view = table.view(expressions=['"a" + "b"'])
282
351
  ```
283
352
 
284
- <!--
285
- <perspective-viewer columns='["new expression"]' expressions='{"new expression": "\"Sales\" + \"Profit\" * 50 / sqrt(\"Sales\")"}'>
286
- </perspective-viewer> -->
353
+ </div>
354
+ <div class="rust">
355
+
356
+ </div>
287
357
 
288
358
  ## Flattening a [`Table::view`] into a [`Table`]
289
359
 
@@ -296,6 +366,8 @@ serializing the `View` to an arrow and setting up an `on_update` callback.
296
366
 
297
367
  # Example
298
368
 
369
+ <div class="javascript">
370
+
299
371
  ```javascript
300
372
  const worker1 = perspective.worker();
301
373
  const table = await worker.table(data);
@@ -304,6 +376,9 @@ const table2 = await worker.table(view);
304
376
  table.update([{ State: "Texas", City: "Austin" }]);
305
377
  ```
306
378
 
379
+ </div>
380
+ <div class="python">
381
+
307
382
  ```python
308
383
  table = perspective.Table(data);
309
384
  view = table.view(filter=[["State", "==", "Texas"]])
@@ -316,6 +391,9 @@ view.on_update(updater, mode="Row")
316
391
  table.update([{"State": "Texas", "City": "Austin"}])
317
392
  ```
318
393
 
394
+ </div>
395
+ <div class="rust">
396
+
319
397
  ```rust
320
398
  let opts = TableInitOptions::default();
321
399
  let data = TableData::Update(UpdateData::Csv("x,y\n1,2\n3,4".into()));
@@ -324,3 +402,5 @@ let view = table.view(None).await?;
324
402
  let table2 = client.table(TableData::View(view)).await?;
325
403
  table.update(data).await?;
326
404
  ```
405
+
406
+ </div>
@@ -12,7 +12,7 @@
12
12
 
13
13
  [package]
14
14
  name = "perspective-python"
15
- version = "3.0.0-rc.6"
15
+ version = "3.0.1"
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"
@@ -54,8 +54,8 @@ python-config-rs = "0.1.2"
54
54
 
55
55
  [dependencies]
56
56
  async-lock = "2.5.0"
57
- perspective-client = { version = "3.0.0-rc.6", path = "../perspective-client" }
58
- # perspective-server = { version = "3.0.0-rc.6", path = "../perspective-server" }
57
+ perspective-client = { version = "3.0.1", path = "../perspective-client" }
58
+ # perspective-server = { version = "3.0.1", path = "../perspective-server" }
59
59
  pollster = "0.3.0"
60
60
  extend = "1.1.2"
61
61
  futures = "0.3.28"
@@ -36,6 +36,10 @@ fn main() -> Result<(), Box<dyn Error>> {
36
36
  }
37
37
  }
38
38
 
39
+ if std::option_env!("PSP_DISABLE_CPP").is_some() {
40
+ return Ok(());
41
+ }
42
+
39
43
  std::env::set_var("CARGO_FEATURE_PYTHON", "1"); // Not a relevant feature for this crate, but required for consistency
40
44
  if let Some(artifact_dir) = psp::cmake_build()? {
41
45
  let source_name = match std::env::var("CARGO_CFG_TARGET_OS")?
@@ -6,7 +6,7 @@
6
6
  </script>
7
7
  <style>
8
8
  pre.rust,
9
- pre.language-javascript,
9
+ /* pre.language-javascript, */
10
10
  div.rust,
11
11
  div.javascript {
12
12
  display: none;