perspective-python 3.0.0rc2__tar.gz → 3.0.0rc3__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 (532) hide show
  1. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/Cargo.lock +12 -8
  2. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/PKG-INFO +7 -1
  3. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/__init__.py +3 -3
  4. perspective_python-3.0.0rc3/perspective/psp_cffi.py +127 -0
  5. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/pyproject.toml +5 -1
  6. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/Cargo.toml +8 -3
  7. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/build.rs +7 -0
  8. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/get_hosted_table_names.md +34 -0
  9. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/open_table.md +36 -0
  10. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/system_info.md +14 -0
  11. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/table.md +84 -0
  12. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/terminate.md +2 -0
  13. perspective_python-3.0.0rc3/rust/perspective-client/docs/client.md +70 -0
  14. perspective_python-3.0.0rc3/rust/perspective-client/docs/index.html +8 -0
  15. {perspective_python-3.0.0rc2/rust/perspective-python → perspective_python-3.0.0rc3/rust/perspective-client}/docs/table/clear.md +2 -2
  16. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/columns.md +30 -0
  17. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/delete.md +48 -0
  18. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/get_features.md +2 -0
  19. {perspective_python-3.0.0rc2/rust/perspective-python → perspective_python-3.0.0rc3/rust/perspective-client}/docs/table/get_index.md +14 -6
  20. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/remove.md +34 -0
  21. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/replace.md +2 -2
  22. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/schema.md +14 -0
  23. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/update.md +8 -0
  24. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/validate_expressions.md +11 -0
  25. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/view.md +0 -2
  26. perspective_python-3.0.0rc3/rust/perspective-client/docs/table.md +14 -0
  27. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/collapse.md +3 -0
  28. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/dimensions.md +9 -7
  29. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/expand.md +3 -0
  30. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/expression_schema.md +2 -0
  31. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/get_config.md +2 -0
  32. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/num_columns.md +6 -0
  33. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/num_rows.md +6 -0
  34. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/on_delete.md +9 -0
  35. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/on_update.md +25 -0
  36. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/remove_delete.md +2 -2
  37. {perspective_python-3.0.0rc2/rust/perspective-python → perspective_python-3.0.0rc3/rust/perspective-client}/docs/view/remove_update.md +2 -2
  38. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/schema.md +18 -0
  39. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_arrow.md +1 -0
  40. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_columns.md +1 -0
  41. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_columns_string.md +2 -0
  42. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_csv.md +1 -0
  43. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_json.md +1 -0
  44. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view.md +101 -162
  45. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/client.rs +23 -5
  46. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/aggregates.rs +6 -0
  47. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/filters.rs +20 -2
  48. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/lib.rs +8 -4
  49. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/session.rs +13 -9
  50. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/table.rs +1 -14
  51. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/table_data.rs +2 -0
  52. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/clone.rs +1 -0
  53. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/view.rs +2 -0
  54. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/Cargo.toml +15 -9
  55. perspective_python-3.0.0rc3/rust/perspective-python/README.md +3 -0
  56. perspective_python-3.0.0rc3/rust/perspective-python/build/main.rs +81 -0
  57. perspective_python-3.0.0rc2/rust/perspective-server/build.rs → perspective_python-3.0.0rc3/rust/perspective-python/build/psp.rs +34 -18
  58. perspective_python-3.0.0rc3/rust/perspective-python/docs/index.html +14 -0
  59. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/__init__.py +3 -3
  60. perspective_python-3.0.0rc3/rust/perspective-python/perspective/psp_cffi.py +127 -0
  61. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/src/client/client_sync.rs +35 -35
  62. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/src/lib.rs +16 -8
  63. perspective_python-3.0.0rc2/rust/perspective-client/docs/client/get_hosted_table_names.md +0 -20
  64. perspective_python-3.0.0rc2/rust/perspective-client/docs/client/open_table.md +0 -16
  65. perspective_python-3.0.0rc2/rust/perspective-client/docs/client/system_info.md +0 -1
  66. perspective_python-3.0.0rc2/rust/perspective-client/docs/client/table.md +0 -58
  67. perspective_python-3.0.0rc2/rust/perspective-client/docs/client/terminate.md +0 -1
  68. perspective_python-3.0.0rc2/rust/perspective-client/docs/client.md +0 -18
  69. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/clear.md +0 -5
  70. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/columns.md +0 -10
  71. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/delete.md +0 -6
  72. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/get_features.md +0 -2
  73. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/get_index.md +0 -25
  74. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/remove.md +0 -18
  75. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/schema.md +0 -13
  76. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/update.md +0 -6
  77. perspective_python-3.0.0rc2/rust/perspective-client/docs/table/validate_expressions.md +0 -11
  78. perspective_python-3.0.0rc2/rust/perspective-client/docs/table.md +0 -14
  79. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/collapse.md +0 -11
  80. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/expand.md +0 -11
  81. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/expression_schema.md +0 -3
  82. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/get_config.md +0 -1
  83. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/num_columns.md +0 -5
  84. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/num_rows.md +0 -5
  85. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/on_delete.md +0 -8
  86. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/on_update.md +0 -19
  87. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/remove_update.md +0 -9
  88. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/schema.md +0 -13
  89. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/to_arrow.md +0 -1
  90. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/to_columns.md +0 -1
  91. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/to_columns_string.md +0 -1
  92. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/to_csv.md +0 -1
  93. perspective_python-3.0.0rc2/rust/perspective-client/docs/view/to_json.md +0 -1
  94. perspective_python-3.0.0rc2/rust/perspective-python/docs/client/get_hosted_table_names.md +0 -20
  95. perspective_python-3.0.0rc2/rust/perspective-python/docs/client/open_table.md +0 -16
  96. perspective_python-3.0.0rc2/rust/perspective-python/docs/client/set_loop_callback.md +0 -7
  97. perspective_python-3.0.0rc2/rust/perspective-python/docs/client/system_info.md +0 -1
  98. perspective_python-3.0.0rc2/rust/perspective-python/docs/client/table.md +0 -58
  99. perspective_python-3.0.0rc2/rust/perspective-python/docs/client/terminate.md +0 -1
  100. perspective_python-3.0.0rc2/rust/perspective-python/docs/client.md +0 -18
  101. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/columns.md +0 -10
  102. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/delete.md +0 -6
  103. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/get_client.md +0 -1
  104. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/get_features.md +0 -2
  105. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/get_limit.md +0 -1
  106. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/get_num_views.md +0 -1
  107. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/make_port.md +0 -2
  108. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/on_delete.md +0 -5
  109. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/remove.md +0 -18
  110. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/remove_delete.md +0 -1
  111. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/replace.md +0 -2
  112. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/schema.md +0 -13
  113. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/size.md +0 -1
  114. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/update.md +0 -6
  115. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/validate_expressions.md +0 -11
  116. perspective_python-3.0.0rc2/rust/perspective-python/docs/table/view.md +0 -3
  117. perspective_python-3.0.0rc2/rust/perspective-python/docs/table.md +0 -14
  118. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/collapse.md +0 -11
  119. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/column_paths.md +0 -3
  120. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/delete.md +0 -1
  121. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/dimensions.md +0 -11
  122. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/expand.md +0 -11
  123. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/expression_schema.md +0 -3
  124. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/get_config.md +0 -1
  125. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/get_min_max.md +0 -5
  126. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/num_columns.md +0 -5
  127. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/num_rows.md +0 -5
  128. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/on_delete.md +0 -8
  129. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/on_update.md +0 -19
  130. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/remove_delete.md +0 -9
  131. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/schema.md +0 -13
  132. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/set_depth.md +0 -1
  133. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/to_arrow.md +0 -1
  134. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/to_columns.md +0 -1
  135. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/to_columns_string.md +0 -1
  136. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/to_csv.md +0 -1
  137. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/to_json.md +0 -1
  138. perspective_python-3.0.0rc2/rust/perspective-python/docs/view/to_json_string.md +0 -1
  139. perspective_python-3.0.0rc2/rust/perspective-python/docs/view.md +0 -387
  140. perspective_python-3.0.0rc2/rust/perspective-server/Cargo.toml +0 -53
  141. perspective_python-3.0.0rc2/rust/perspective-server/cmake/Pybind.txt.in +0 -16
  142. perspective_python-3.0.0rc2/rust/perspective-server/cmake/arrow/CMakeLists.txt +0 -305
  143. perspective_python-3.0.0rc2/rust/perspective-server/cmake/arrow/config.h +0 -53
  144. perspective_python-3.0.0rc2/rust/perspective-server/cmake/arrow.txt.in +0 -21
  145. perspective_python-3.0.0rc2/rust/perspective-server/cmake/date.txt.in +0 -16
  146. perspective_python-3.0.0rc2/rust/perspective-server/cmake/double-conversion.txt.in +0 -16
  147. perspective_python-3.0.0rc2/rust/perspective-server/cmake/exprtk.txt.in +0 -16
  148. perspective_python-3.0.0rc2/rust/perspective-server/cmake/flatbuffers.txt.in +0 -16
  149. perspective_python-3.0.0rc2/rust/perspective-server/cmake/hopscotch.txt.in +0 -16
  150. perspective_python-3.0.0rc2/rust/perspective-server/cmake/lz4.txt.in +0 -16
  151. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/.clangd.in +0 -3
  152. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/FindColor.cmake +0 -13
  153. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/FindExprTk.cmake +0 -76
  154. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/FindFlatbuffers.cmake +0 -64
  155. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/FindInstallDependency.cmake +0 -87
  156. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/FindProtoc.cmake +0 -124
  157. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/FindRe2.cmake +0 -70
  158. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/LLVMToolchain.cmake +0 -9
  159. perspective_python-3.0.0rc2/rust/perspective-server/cmake/modules/SetupClangd.cmake +0 -42
  160. perspective_python-3.0.0rc2/rust/perspective-server/cmake/ordered-map.txt.in +0 -16
  161. perspective_python-3.0.0rc2/rust/perspective-server/cmake/protobuf.txt.in +0 -24
  162. perspective_python-3.0.0rc2/rust/perspective-server/cmake/rapidjson.txt.in +0 -16
  163. perspective_python-3.0.0rc2/rust/perspective-server/cmake/re2/CMakeLists.txt +0 -176
  164. perspective_python-3.0.0rc2/rust/perspective-server/cmake/re2.txt.in +0 -21
  165. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/.clangd.in +0 -3
  166. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/CMakeLists.txt +0 -725
  167. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/build.js +0 -50
  168. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/env.js +0 -15
  169. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/package.json +0 -16
  170. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/aggregate.cpp +0 -466
  171. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/aggspec.cpp +0 -448
  172. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/arg_sort.cpp +0 -81
  173. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/arrow_csv.cpp +0 -465
  174. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/arrow_loader.cpp +0 -740
  175. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/arrow_writer.cpp +0 -81
  176. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/base.cpp +0 -805
  177. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/base_impl_linux.cpp +0 -26
  178. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/base_impl_osx.cpp +0 -26
  179. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/base_impl_wasm.cpp +0 -26
  180. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/base_impl_win.cpp +0 -47
  181. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/binding.cpp +0 -16
  182. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/column.cpp +0 -1025
  183. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/comparators.cpp +0 -16
  184. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/compat.cpp +0 -38
  185. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_linux.cpp +0 -231
  186. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_osx.cpp +0 -234
  187. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_wasm.cpp +0 -150
  188. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_win.cpp +0 -312
  189. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/computed_expression.cpp +0 -621
  190. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/computed_function.cpp +0 -2349
  191. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/config.cpp +0 -486
  192. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_base.cpp +0 -16
  193. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_grouped_pkey.cpp +0 -935
  194. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_handle.cpp +0 -52
  195. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_iterators.cpp +0 -246
  196. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_one.cpp +0 -924
  197. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_two.cpp +0 -1382
  198. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_unit.cpp +0 -490
  199. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/context_zero.cpp +0 -974
  200. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/data.cpp +0 -30
  201. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/data_slice.cpp +0 -201
  202. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/data_table.cpp +0 -887
  203. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/date.cpp +0 -170
  204. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/date_parser.cpp +0 -54
  205. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/dense_nodes.cpp +0 -46
  206. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/dense_tree.cpp +0 -505
  207. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/dense_tree_context.cpp +0 -290
  208. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/dependency.cpp +0 -82
  209. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/emscripten_api.cpp +0 -156
  210. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/expression_tables.cpp +0 -179
  211. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/expression_vocab.cpp +0 -71
  212. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/extract_aggregate.cpp +0 -119
  213. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/filter.cpp +0 -168
  214. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/flat_traversal.cpp +0 -450
  215. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/get_data_extents.cpp +0 -48
  216. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/gnode.cpp +0 -1693
  217. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/gnode_state.cpp +0 -802
  218. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/init.cpp +0 -24
  219. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/kernel_engine.cpp +0 -24
  220. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/main.cpp +0 -20
  221. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/mask.cpp +0 -151
  222. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/multi_sort.cpp +0 -230
  223. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/none.cpp +0 -59
  224. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/path.cpp +0 -31
  225. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/pivot.cpp +0 -59
  226. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/pool.cpp +0 -354
  227. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/port.cpp +0 -113
  228. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/process_state.cpp +0 -46
  229. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/proto_api.cpp +0 -68
  230. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/pyutils.cpp +0 -28
  231. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/raii.cpp +0 -47
  232. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/raii_impl_linux.cpp +0 -52
  233. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/raii_impl_osx.cpp +0 -52
  234. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/raii_impl_win.cpp +0 -51
  235. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/range.cpp +0 -75
  236. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/regex.cpp +0 -40
  237. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/rlookup.cpp +0 -29
  238. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/scalar.cpp +0 -1685
  239. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/schema.cpp +0 -214
  240. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/schema_column.cpp +0 -26
  241. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/server.cpp +0 -2410
  242. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/simple_bitmask.cpp +0 -20
  243. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/slice.cpp +0 -132
  244. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/sort_specification.cpp +0 -82
  245. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/sparse_tree.cpp +0 -2650
  246. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/sparse_tree_node.cpp +0 -92
  247. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/step_delta.cpp +0 -85
  248. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/storage.cpp +0 -658
  249. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/storage_impl_linux.cpp +0 -126
  250. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/storage_impl_osx.cpp +0 -132
  251. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/storage_impl_win.cpp +0 -185
  252. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/sym_table.cpp +0 -115
  253. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/table.cpp +0 -1543
  254. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/time.cpp +0 -277
  255. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/tracing.cpp +0 -64
  256. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/tracing_impl_linux.cpp +0 -139
  257. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/tracing_impl_osx.cpp +0 -139
  258. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/traversal.cpp +0 -702
  259. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/traversal_nodes.cpp +0 -34
  260. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/tree_context_common.cpp +0 -273
  261. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/update_task.cpp +0 -49
  262. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/utils.cpp +0 -150
  263. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/vendor/arrow_compute_registry.cpp +0 -235
  264. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/vendor/arrow_single_threaded_reader.cpp +0 -1038
  265. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/vendor/single_threaded_reader.cpp +0 -3632
  266. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/view.cpp +0 -2333
  267. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/view_config.cpp +0 -447
  268. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/cpp/vocab.cpp +0 -251
  269. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/aggregate.h +0 -332
  270. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/aggspec.h +0 -120
  271. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/arg_sort.h +0 -43
  272. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/arrow_csv.h +0 -36
  273. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/arrow_loader.h +0 -112
  274. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/arrow_writer.h +0 -356
  275. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/base.h +0 -557
  276. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/binding.h +0 -476
  277. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/column.h +0 -450
  278. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/comparators.h +0 -47
  279. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/compat.h +0 -61
  280. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/computed_expression.h +0 -248
  281. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/computed_function.h +0 -422
  282. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/config.h +0 -240
  283. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_base.h +0 -319
  284. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_common_decls.h +0 -144
  285. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_grouped_pkey.h +0 -86
  286. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_handle.h +0 -40
  287. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_one.h +0 -65
  288. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_two.h +0 -98
  289. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_unit.h +0 -166
  290. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/context_zero.h +0 -113
  291. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/data.h +0 -30
  292. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/data_accessor.h +0 -26
  293. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/data_slice.h +0 -144
  294. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/data_table.h +0 -567
  295. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/date.h +0 -138
  296. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/date_parser.h +0 -31
  297. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/debug_helpers.h +0 -47
  298. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/defaults.h +0 -49
  299. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/dense_nodes.h +0 -46
  300. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/dense_tree.h +0 -100
  301. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/dense_tree_context.h +0 -63
  302. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/dependency.h +0 -58
  303. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/emscripten_api_utils.h +0 -32
  304. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/env_vars.h +0 -173
  305. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/exception.h +0 -31
  306. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/exports.h +0 -42
  307. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/expression_tables.h +0 -72
  308. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/expression_vocab.h +0 -70
  309. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/exprtk.h +0 -1872
  310. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/extract_aggregate.h +0 -28
  311. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/filter.h +0 -212
  312. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/filter_utils.h +0 -35
  313. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/first.h +0 -69
  314. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/flat_traversal.h +0 -155
  315. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/flatten.h +0 -20
  316. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/fragments.h +0 -19
  317. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/get_data_extents.h +0 -36
  318. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/gnode.h +0 -632
  319. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/gnode_state.h +0 -313
  320. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/index.h +0 -21
  321. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/init.h +0 -19
  322. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/iterator.h +0 -150
  323. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/kernel_engine.h +0 -63
  324. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/last.h +0 -33
  325. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/mask.h +0 -81
  326. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/multi_sort.h +0 -190
  327. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/node_processor.h +0 -162
  328. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/node_processor_types.h +0 -47
  329. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/none.h +0 -79
  330. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/parallel_for.h +0 -54
  331. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/partition.h +0 -145
  332. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/path.h +0 -30
  333. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/pivot.h +0 -48
  334. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/pool.h +0 -133
  335. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/port.h +0 -51
  336. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/portable.h +0 -55
  337. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/process_state.h +0 -65
  338. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/proto_api.h +0 -46
  339. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/pyutils.h +0 -57
  340. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/raii.h +0 -45
  341. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/range.h +0 -63
  342. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/raw_types.h +0 -159
  343. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/regex.h +0 -45
  344. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/rlookup.h +0 -27
  345. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/scalar.h +0 -475
  346. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/schema.h +0 -68
  347. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/schema_column.h +0 -35
  348. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/server.h +0 -595
  349. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/simple_bitmask.h +0 -104
  350. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/slice.h +0 -66
  351. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/sort_specification.h +0 -58
  352. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/sparse_tree.h +0 -472
  353. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/sparse_tree_node.h +0 -87
  354. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/step_delta.h +0 -127
  355. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/storage.h +0 -399
  356. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/sym_table.h +0 -45
  357. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/table.h +0 -290
  358. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/time.h +0 -156
  359. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/tracing.h +0 -56
  360. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/tracing_impl_linux.h +0 -21
  361. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/tracing_impl_osx.h +0 -21
  362. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/tracing_impl_win.h +0 -11
  363. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/traversal.h +0 -263
  364. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/traversal_nodes.h +0 -60
  365. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/tree_context_common.h +0 -127
  366. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/tree_iterator.h +0 -204
  367. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/update_task.h +0 -32
  368. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/utils.h +0 -204
  369. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/val.h +0 -198
  370. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/vendor/arrow_compute_registry.h +0 -102
  371. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/vendor/arrow_single_threaded_reader.h +0 -72
  372. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/view.h +0 -434
  373. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/view_config.h +0 -237
  374. perspective_python-3.0.0rc2/rust/perspective-server/cpp/perspective/src/include/perspective/vocab.h +0 -96
  375. perspective_python-3.0.0rc2/rust/perspective-server/cpp/protos/CMakeLists.txt +0 -34
  376. perspective_python-3.0.0rc2/rust/perspective-server/cpp/protos/perspective.proto +0 -503
  377. perspective_python-3.0.0rc2/rust/perspective-server/include/server.h +0 -32
  378. perspective_python-3.0.0rc2/rust/perspective-server/src/ffi.rs +0 -67
  379. perspective_python-3.0.0rc2/rust/perspective-server/src/lib.rs +0 -247
  380. perspective_python-3.0.0rc2/rust/perspective-server/src/server.cpp +0 -67
  381. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/install.json +0 -5
  382. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/package.json +0 -80
  383. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.62664683b16e6812e453.js +0 -18
  384. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.62664683b16e6812e453.js.LICENSE.txt +0 -59
  385. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/905.d3bbc3d5954582d507bb.js +0 -1
  386. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.18d5d740c252bde12d73.js +0 -1
  387. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/style.js +0 -4
  388. perspective_python-3.0.0rc2.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/third-party-licenses.json +0 -16
  389. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/Cargo.toml +0 -0
  390. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/extension/finos-perspective-nbextension.json +0 -0
  391. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/handlers/__init__.py +0 -0
  392. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/handlers/aiohttp.py +0 -0
  393. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/handlers/starlette.py +0 -0
  394. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/handlers/tornado.py +0 -0
  395. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/templates/exported_widget.html.jinja +0 -0
  396. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/__init__.py +0 -0
  397. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/conftest.py +0 -0
  398. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/core/__init__.py +0 -0
  399. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/core/test_async.py +0 -0
  400. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/core/test_threadpool.py +0 -0
  401. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/server/__init__.py +0 -0
  402. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/server/test_server.py +0 -0
  403. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/server/test_session.py +0 -0
  404. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/single_threaded/test_single_threaded.py +0 -0
  405. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/__init__.py +0 -0
  406. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/date32.arrow +0 -0
  407. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/date64.arrow +0 -0
  408. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/dict.arrow +0 -0
  409. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/dict_update.arrow +0 -0
  410. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
  411. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
  412. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
  413. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/object_sequence.py +0 -0
  414. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_delete.py +0 -0
  415. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_exception.py +0 -0
  416. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_leaks.py +0 -0
  417. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_ports.py +0 -0
  418. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_remove.py +0 -0
  419. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table.py +0 -0
  420. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_arrow.py +0 -0
  421. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_datetime.py +0 -0
  422. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_infer.py +0 -0
  423. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_limit.py +0 -0
  424. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_numpy.py +0 -0
  425. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_pandas.py +0 -0
  426. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_to_arrow.py +0 -0
  427. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_to_arrow_lz4.py +0 -0
  428. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_to_format.py +0 -0
  429. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_update.py +0 -0
  430. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_update_arrow.py +0 -0
  431. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_update_pandas.py +0 -0
  432. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_view.py +0 -0
  433. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/table/test_view_expression.py +0 -0
  434. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/viewer/__init__.py +0 -0
  435. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/viewer/test_validate.py +0 -0
  436. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/viewer/test_viewer.py +0 -0
  437. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/widget/__init__.py +0 -0
  438. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/widget/test_widget.py +0 -0
  439. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/tests/widget/test_widget_pandas.py +0 -0
  440. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/viewer/__init__.py +0 -0
  441. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/viewer/validate.py +0 -0
  442. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/viewer/viewer.py +0 -0
  443. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/viewer/viewer_traitlets.py +0 -0
  444. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/widget/__init__.py +0 -0
  445. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/perspective/widget/widget.py +0 -0
  446. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/client/set_loop_callback.md +0 -0
  447. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/get_client.md +0 -0
  448. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/get_limit.md +0 -0
  449. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/get_num_views.md +0 -0
  450. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/make_port.md +0 -0
  451. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/on_delete.md +0 -0
  452. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/remove_delete.md +0 -0
  453. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/size.md +0 -0
  454. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/column_paths.md +0 -0
  455. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/delete.md +0 -0
  456. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/get_min_max.md +0 -0
  457. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/set_depth.md +0 -0
  458. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/to_json_string.md +0 -0
  459. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/column_type.rs +0 -0
  460. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/expressions.rs +0 -0
  461. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/mod.rs +0 -0
  462. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/plugin.rs +0 -0
  463. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/sort.rs +0 -0
  464. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/view_config.rs +0 -0
  465. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/proto.rs +0 -0
  466. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/logging.rs +0 -0
  467. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/mod.rs +0 -0
  468. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/tests/clone.rs +0 -0
  469. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/tests/mod.rs +0 -0
  470. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/__init__.py +0 -0
  471. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/__init__.py +0 -0
  472. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/bench.py +0 -0
  473. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/perspective_benchmark.py +0 -0
  474. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/run_perspective_benchmark.py +0 -0
  475. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/__init__.py +0 -0
  476. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/async_server.py +0 -0
  477. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/bench.py +0 -0
  478. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/distributed_mode.py +0 -0
  479. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/server/new_api.py +0 -0
  480. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/server/old_api.py +0 -0
  481. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/server_mode.py +0 -0
  482. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/__init__.py +0 -0
  483. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/aiohttp.py +0 -0
  484. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/starlette.py +0 -0
  485. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/tornado.py +0 -0
  486. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/__init__.py +0 -0
  487. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/conftest.py +0 -0
  488. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/core/__init__.py +0 -0
  489. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/core/test_async.py +0 -0
  490. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/core/test_threadpool.py +0 -0
  491. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/server/__init__.py +0 -0
  492. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/server/test_server.py +0 -0
  493. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/server/test_session.py +0 -0
  494. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/single_threaded/test_single_threaded.py +0 -0
  495. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/__init__.py +0 -0
  496. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/object_sequence.py +0 -0
  497. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_delete.py +0 -0
  498. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_exception.py +0 -0
  499. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_leaks.py +0 -0
  500. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_ports.py +0 -0
  501. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_remove.py +0 -0
  502. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table.py +0 -0
  503. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_arrow.py +0 -0
  504. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_datetime.py +0 -0
  505. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_infer.py +0 -0
  506. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_limit.py +0 -0
  507. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_numpy.py +0 -0
  508. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_pandas.py +0 -0
  509. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_to_arrow.py +0 -0
  510. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_to_arrow_lz4.py +0 -0
  511. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_to_format.py +0 -0
  512. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_update.py +0 -0
  513. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_update_arrow.py +0 -0
  514. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_update_pandas.py +0 -0
  515. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_view.py +0 -0
  516. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_view_expression.py +0 -0
  517. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/viewer/__init__.py +0 -0
  518. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/viewer/test_validate.py +0 -0
  519. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/viewer/test_viewer.py +0 -0
  520. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/widget/__init__.py +0 -0
  521. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/widget/test_widget.py +0 -0
  522. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/widget/test_widget_pandas.py +0 -0
  523. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/__init__.py +0 -0
  524. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/validate.py +0 -0
  525. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/viewer.py +0 -0
  526. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/viewer_traitlets.py +0 -0
  527. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/widget/__init__.py +0 -0
  528. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/widget/widget.py +0 -0
  529. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/src/client/mod.rs +0 -0
  530. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/src/client/python.rs +0 -0
  531. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/src/server/mod.rs +0 -0
  532. {perspective_python-3.0.0rc2 → perspective_python-3.0.0rc3}/rust/perspective-python/src/server/server_sync.rs +0 -0
@@ -1783,9 +1783,11 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1783
1783
 
1784
1784
  [[package]]
1785
1785
  name = "perspective"
1786
- version = "3.0.0-rc.2"
1786
+ version = "3.0.0-rc.3"
1787
1787
  dependencies = [
1788
1788
  "async-lock",
1789
+ "axum",
1790
+ "futures",
1789
1791
  "perspective-client",
1790
1792
  "perspective-server",
1791
1793
  "tokio",
@@ -1821,7 +1823,7 @@ dependencies = [
1821
1823
 
1822
1824
  [[package]]
1823
1825
  name = "perspective-client"
1824
- version = "3.0.0-rc.2"
1826
+ version = "3.0.0-rc.3"
1825
1827
  dependencies = [
1826
1828
  "async-lock",
1827
1829
  "futures",
@@ -1843,7 +1845,7 @@ dependencies = [
1843
1845
 
1844
1846
  [[package]]
1845
1847
  name = "perspective-js"
1846
- version = "3.0.0-rc.2"
1848
+ version = "3.0.0-rc.3"
1847
1849
  dependencies = [
1848
1850
  "anyhow",
1849
1851
  "base64 0.13.1",
@@ -1872,7 +1874,7 @@ dependencies = [
1872
1874
 
1873
1875
  [[package]]
1874
1876
  name = "perspective-lint"
1875
- version = "3.0.0-rc.2"
1877
+ version = "3.0.0-rc.3"
1876
1878
  dependencies = [
1877
1879
  "glob",
1878
1880
  "yew-fmt",
@@ -1880,13 +1882,15 @@ dependencies = [
1880
1882
 
1881
1883
  [[package]]
1882
1884
  name = "perspective-python"
1883
- version = "3.0.0-rc.2"
1885
+ version = "3.0.0-rc.3"
1884
1886
  dependencies = [
1885
1887
  "async-lock",
1888
+ "cmake",
1889
+ "cxx-build",
1886
1890
  "extend",
1887
1891
  "futures",
1892
+ "num_cpus",
1888
1893
  "perspective-client",
1889
- "perspective-server",
1890
1894
  "pollster",
1891
1895
  "pyo3",
1892
1896
  "pyo3-build-config 0.20.3",
@@ -1898,7 +1902,7 @@ dependencies = [
1898
1902
 
1899
1903
  [[package]]
1900
1904
  name = "perspective-server"
1901
- version = "3.0.0-rc.2"
1905
+ version = "3.0.0-rc.3"
1902
1906
  dependencies = [
1903
1907
  "async-lock",
1904
1908
  "cmake",
@@ -1912,7 +1916,7 @@ dependencies = [
1912
1916
 
1913
1917
  [[package]]
1914
1918
  name = "perspective-viewer"
1915
- version = "3.0.0-rc.2"
1919
+ version = "3.0.0-rc.3"
1916
1920
  dependencies = [
1917
1921
  "anyhow",
1918
1922
  "async-lock",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: perspective-python
3
- Version: 3.0.0rc2
3
+ Version: 3.0.0rc3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Summary: A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
@@ -9,4 +9,10 @@ Author: Andrew Stein <steinlink@gmail.com>
9
9
  Author-email: Andrew Stein <steinlink@gmail.com>
10
10
  License: Apache-2.0
11
11
  Requires-Python: >=3.9
12
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
12
13
  Project-URL: Source Code, https://github.com/finos/perspective
14
+
15
+ # `perspective-python`
16
+
17
+ This crate provides the Python bindings for Perspective.
18
+
@@ -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.2"
13
+ __version__ = "3.0.0-rc.3"
14
14
  __all__ = [
15
15
  "_jupyter_labextension_paths",
16
16
  "PerspectiveError",
@@ -25,7 +25,6 @@ __all__ = [
25
25
  from .perspective import (
26
26
  PySyncClient,
27
27
  PerspectiveError,
28
- PySyncServer,
29
28
  Table,
30
29
  View,
31
30
  PySyncProxySession as ProxySession,
@@ -34,6 +33,7 @@ from .perspective import (
34
33
  from .widget import PerspectiveWidget
35
34
  from .viewer import PerspectiveViewer
36
35
 
36
+ from .psp_cffi import ServerBase
37
37
 
38
38
  try:
39
39
  from .handlers import PerspectiveTornadoHandler
@@ -45,7 +45,7 @@ def default_loop_cb(fn, *args, **kwargs):
45
45
  return fn(*args, **kwargs)
46
46
 
47
47
 
48
- class Server(PySyncServer):
48
+ class Server(ServerBase):
49
49
  def set_threadpool_size(self, n_cpus):
50
50
  pass
51
51
 
@@ -0,0 +1,127 @@
1
+ # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ # ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ # ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ # ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ # ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ # ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ # ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ # ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ # ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+
13
+ import ctypes
14
+ import os
15
+ import platform
16
+ from typing import Callable
17
+
18
+ if "PSP_CXX_SO_PATH" in os.environ:
19
+ lib = ctypes.CDLL(os.environ["PSP_CXX_SO_PATH"])
20
+ else:
21
+ ext = "so"
22
+ if platform.system().lower() == "windows":
23
+ ext = "dll"
24
+ arch = platform.machine().lower()
25
+ if arch == "amd64":
26
+ arch = "x86_64"
27
+ dylib_name = f"{platform.system().lower()}-{arch}-libpsp.{ext}"
28
+ lib = ctypes.CDLL(os.path.join(os.path.dirname(__file__), dylib_name))
29
+
30
+
31
+ class EncodedApiResp(ctypes.Structure):
32
+ _pack_ = 1
33
+ _fields_ = [
34
+ ("data", ctypes.POINTER(ctypes.c_char)),
35
+ ("size", ctypes.c_uint32),
36
+ ("client_id", ctypes.c_uint32),
37
+ ]
38
+
39
+
40
+ class EncodedApiEntries(ctypes.Structure):
41
+ _pack_ = 1
42
+ _fields_ = [
43
+ ("size", ctypes.c_uint32),
44
+ ("entries", ctypes.POINTER(EncodedApiResp)),
45
+ ]
46
+
47
+
48
+ ProtoApiServerPtr = ctypes.c_void_p
49
+ lib.psp_new_server.restype = ProtoApiServerPtr
50
+
51
+ lib.psp_new_session.argtypes = [ProtoApiServerPtr]
52
+ lib.psp_new_session.restype = ctypes.c_uint32
53
+
54
+ lib.psp_handle_request.argtypes = [
55
+ ProtoApiServerPtr,
56
+ ctypes.c_uint32,
57
+ ctypes.c_char_p,
58
+ ctypes.c_size_t,
59
+ ]
60
+ lib.psp_handle_request.restype = ctypes.POINTER(EncodedApiEntries)
61
+
62
+ lib.psp_poll.argtypes = [ProtoApiServerPtr]
63
+ lib.psp_poll.restype = ctypes.POINTER(EncodedApiEntries)
64
+
65
+ lib.psp_new_session.argtypes = [ProtoApiServerPtr]
66
+ lib.psp_new_session.restype = ctypes.c_uint32
67
+
68
+ lib.psp_close_session.argtypes = [ProtoApiServerPtr, ctypes.c_uint32]
69
+ lib.psp_close_session.restype = None
70
+
71
+ lib.psp_delete_server.argtypes = [ProtoApiServerPtr]
72
+ lib.psp_delete_server.restype = None
73
+
74
+
75
+ class Session:
76
+ def __init__(self, server: "ServerBase"):
77
+ self._server: "ServerBase" = server
78
+ self._session_id = lib.psp_new_session(server._server)
79
+
80
+ def __del__(self):
81
+ lib.psp_close_session(self._server._server, self._session_id)
82
+
83
+ def handle_request(self, bytes_msg):
84
+ resps = lib.psp_handle_request(
85
+ self._server._server, self._session_id, bytes_msg, len(bytes_msg)
86
+ )
87
+ try:
88
+ size = resps.contents.size
89
+ for i in range(size):
90
+ resp = resps.contents.entries[i]
91
+ self._server._client_cbs[resp.client_id](resp.data[: resp.size])
92
+ finally:
93
+ for i in range(size):
94
+ lib.psp_free(resps.contents.entries[i].data)
95
+ lib.psp_free(resps.contents.entries)
96
+ lib.psp_free(resps)
97
+
98
+ def poll(self):
99
+ resps = lib.psp_poll(self._server._server)
100
+ try:
101
+ size = resps.contents.size
102
+ for i in range(size):
103
+ resp = resps.contents.entries[i]
104
+ self._server._client_cbs[resp.client_id](resp.data[: resp.size])
105
+ finally:
106
+ for i in range(size):
107
+ lib.psp_free(resps.contents.entries[i].data)
108
+ lib.psp_free(resps.contents.entries)
109
+ lib.psp_free(resps)
110
+
111
+
112
+ class ServerBase:
113
+ def __init__(self):
114
+ self._client_cbs: dict[str, Callable[[bytes], None]] = {}
115
+ self._sessions: list[Session] = []
116
+ self._server: int = lib.psp_new_server()
117
+
118
+ def __del__(self):
119
+ for session in self._sessions:
120
+ del session
121
+ lib.psp_delete_server(self._server)
122
+
123
+ def new_session(self, cb: Callable[[bytes], None]):
124
+ session = Session(self)
125
+ self._client_cbs[session._session_id] = cb
126
+ self._sessions.append(session)
127
+ return session
@@ -25,8 +25,12 @@ classifiers = [
25
25
 
26
26
  [tool.maturin]
27
27
  module-name = "perspective"
28
- data = "perspective_python-3.0.0rc2.data"
28
+ data = "perspective_python-3.0.0rc3.data"
29
29
  features = ["pyo3/extension-module"]
30
+ include = [
31
+ { path = "perspective/*libpsp.so", format = "wheel" },
32
+ { path = "perspective/*libpsp.dll", format = "wheel" },
33
+ ]
30
34
  manifest-path = "rust/perspective-python/Cargo.toml"
31
35
 
32
36
  [tool.pytest.ini_options]
@@ -12,7 +12,7 @@
12
12
 
13
13
  [package]
14
14
  name = "perspective-client"
15
- version = "3.0.0-rc.2"
15
+ version = "3.0.0-rc.3"
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."
@@ -20,6 +20,7 @@ repository = "https://github.com/finos/perspective"
20
20
  license = "Apache-2.0"
21
21
  homepage = "https://perspective.finos.org"
22
22
  keywords = []
23
+ links = "perspective_client"
23
24
  include = [
24
25
  "src/**/*",
25
26
  "Cargo.toml",
@@ -29,9 +30,13 @@ include = [
29
30
  "perspective.proto",
30
31
  ]
31
32
 
33
+ [package.metadata.docs.rs]
34
+ rustdoc-args = ["--html-in-header", "docs/index.html"]
35
+
32
36
  [features]
33
37
  default = []
34
38
  external-proto = ["protobuf-src"]
39
+ external-protoc = []
35
40
 
36
41
  [lib]
37
42
  crate-type = ["rlib"]
@@ -46,12 +51,12 @@ async-lock = { version = "2.5.0" }
46
51
  futures = { version = "0.3.28" }
47
52
  itertools = { version = "0.10.1" }
48
53
  nanoid = { version = "0.4.0" }
49
- paste = { version = "1.0.14" }
54
+ paste = { version = "1.0.12" }
50
55
  prost-types = { version = "0.12.3" }
51
56
  serde = { version = "1.0", features = ["derive"] }
52
57
  serde_bytes = { version = "0.11" }
53
58
  serde_json = { version = "1.0.107", features = ["raw_value"] }
54
- thiserror = { version = "1.0.56" }
59
+ thiserror = { version = "1.0.55" }
55
60
  tracing = { version = ">=0.1.36" }
56
61
  tracing-unwrap = "1.0.1"
57
62
 
@@ -14,6 +14,13 @@ use std::io::Result;
14
14
  use std::path::Path;
15
15
 
16
16
  fn prost_build() -> Result<()> {
17
+ // Output the path to docs files so they can be shared by `perspective-js` and
18
+ // `perspective-python`.
19
+ println!(
20
+ "cargo::metadata=DOCS_PATH={}/docs/",
21
+ env!("CARGO_MANIFEST_DIR")
22
+ );
23
+
17
24
  // This source file is included at `publish` time, but not `sbuild` time
18
25
  // because it is initially generated from the `perspective.proto` definition
19
26
  // in the C++ source.
@@ -0,0 +1,34 @@
1
+ Retrieves the names of all tables that this client has access to.
2
+
3
+ `name` is a string identifier unique to the [`Table`] (per [`Client`]), which
4
+ can be used in conjunction with [`Client::open_table`] to get a [`Table`]
5
+ instance without the use of [`Client::table`] constructor directly (e.g., one
6
+ created by another [`Client`]).
7
+
8
+ <div class="javascript">
9
+
10
+ # JavaScript Examples
11
+
12
+ ```javascript
13
+ const tables = await client.get_hosted_table_names();
14
+ ```
15
+
16
+ </div>
17
+ <div class="python">
18
+
19
+ # Python Examples
20
+
21
+ ```python
22
+ tables = client.get_hosted_table_names();
23
+ ```
24
+
25
+ </div>
26
+ <div class="python">
27
+
28
+ # Examples
29
+
30
+ ```rust
31
+ let tables = client.get_hosted_table_names().await;
32
+ ```
33
+
34
+ </div>
@@ -0,0 +1,36 @@
1
+ Opens a [`Table`] that is hosted on the `perspective_server::Server` that is
2
+ connected to this [`Client`].
3
+
4
+ The `name` property of [`TableInitOptions`] is used to identify each [`Table`].
5
+ [`Table`] `name`s can be looked up for each [`Client`] via
6
+ [`Client::get_hosted_table_names`].
7
+
8
+ <div class="javascript">
9
+
10
+ # JavaScript Examples
11
+
12
+ Get a virtual [`Table`] named "table_one" from this [`Client`]
13
+
14
+ ```javascript
15
+ const tables = await client.open_table("table_one");
16
+ ```
17
+
18
+ </div>
19
+ <div class="python">
20
+
21
+ # Python Examples
22
+
23
+ ```python
24
+ tables = client.open_table("table_one");
25
+ ```
26
+
27
+ </div>
28
+ <div class="rust">
29
+
30
+ # Examples
31
+
32
+ ```rust
33
+ let tables = client.open_table("table_one").await;
34
+ ```
35
+
36
+ </div>
@@ -0,0 +1,14 @@
1
+ Provides the [`SystemInfo`] struct, implementation-specific metadata about the
2
+ `perspective_server::Server` runtime such as Memory and CPU usage.
3
+
4
+ <div class="javascript">
5
+
6
+ For WebAssembly servers, this method includes the WebAssembly heap size.
7
+
8
+ # JavaScript Examples
9
+
10
+ ```javascript
11
+ const info = await client.system_info();
12
+ ```
13
+
14
+ </div>
@@ -0,0 +1,84 @@
1
+ Creates a new [`Table`] from either a _schema_ or _data_.
2
+
3
+ The [`Client::table`] factory function can be initialized with either a _schema_
4
+ (see [`Table::schema`]), or data in one of these formats:
5
+
6
+ - Apache Arrow
7
+ - CSV
8
+ - JSON row-oriented
9
+ - JSON column-oriented
10
+
11
+ When instantiated with _data_, the schema is inferred from this data. While this
12
+ is convenient, inferrence is sometimes imperfect e.g. when the input is empty,
13
+ null or ambiguous. For these cases, [`Client::table`] can first be instantiated
14
+ with a explicit schema.
15
+
16
+ When instantiated with a _schema_, the resulting [`Table`] is empty but with
17
+ known column names and column types. When subsqeuently populated with
18
+ [`Table::update`], these columns will be _coerced_ to the schema's type. This
19
+ behavior can be useful when [`Client::table`]'s column type inferences doesn't
20
+ work.
21
+
22
+ The resulting [`Table`] is _virtual_, and invoking its methods dispatches events
23
+ to the `perspective_server::Server` this [`Client`] connects to, where the data
24
+ is stored and all calculation occurs.
25
+
26
+ # Arguments
27
+
28
+ - `arg` - Either _schema_ or initialization _data_.
29
+ - `options` - Optional configuration which provides one of:
30
+ - `limit` - The max number of rows the resulting [`Table`] can store.
31
+ - `index` - The column name to use as an _index_ column. If this `Table`
32
+ is being instantiated by _data_, this column name must be present in the
33
+ data.
34
+ - `name` - The name of the table. This will be generated if it is not
35
+ provided.
36
+
37
+ <div class="javascript">
38
+
39
+ # JavaScript Examples
40
+
41
+ Load a CSV from a `string`:
42
+
43
+ ```javascript
44
+ const table = await client.table("x,y\n1,2\n3,4");
45
+ ```
46
+
47
+ Load an Arrow from an `ArrayBuffer`:
48
+
49
+ ```javascript
50
+ import * as fs from "node:fs/promises";
51
+ const table2 = await client.table(await fs.readFile("superstore.arrow"));
52
+ ```
53
+
54
+ Create a table with an `index`:
55
+
56
+ ```javascript
57
+ const table = await client.table(data, { index: "Row ID" });
58
+ ```
59
+
60
+ </div>
61
+ <div class="python">
62
+
63
+ # Python Examples
64
+
65
+ Load a CSV from a `str`:
66
+
67
+ ```python
68
+ table = client.table("x,y\n1,2\n3,4")
69
+ ```
70
+
71
+ </div>
72
+ <div class="rust">
73
+
74
+ # Examples
75
+
76
+ Load a CSV from a `String`:
77
+
78
+ ```rust
79
+ let opts = TableInitOptions::default();
80
+ let data = TableData::Update(UpdateData::Csv("x,y\n1,2\n3,4".into()));
81
+ let table = client.table(data, opts).await?;
82
+ ```
83
+
84
+ </div>
@@ -0,0 +1,2 @@
1
+ Terminates this [`Client`], cleaning up any [`crate::View`] handles the
2
+ [`Client`] has open as well as its callbacks.
@@ -0,0 +1,70 @@
1
+ An instance of a [`Client`] is a unique connection to a single
2
+ `perspective_server::Server`, whether locally in-memory or remote over some
3
+ transport like a WebSocket.
4
+
5
+ <div class="javascript">
6
+
7
+ The browser and node.js libraries both support the `websocket(url)` constructor,
8
+ which connects to a remote `perspective_server::Server` instance over a
9
+ WebSocket transport.
10
+
11
+ In the browser, the `worker()` constructor creates a new Web Worker
12
+ `perspective_server::Server` and returns a [`Client`] connected to it.
13
+
14
+ In node.js, a pre-instantied [`Client`] connected synhronously to a global
15
+ singleton `perspective_server::Server` is the default module export.
16
+
17
+ # JavaScript Examples
18
+
19
+ Create a Web Worker `perspective_server::Server` in the browser and return a
20
+ [`Client`] instance connected for it:
21
+
22
+ ```javascript
23
+ import perspective from "@finos/perspective";
24
+ const client = await perspective.worker();
25
+ ```
26
+
27
+ Create a WebSocket connection to a remote `perspective_server::Server`:
28
+
29
+ ```javascript
30
+ import perspective from "@finos/perspective";
31
+ const client = await perspective.websocket("ws://locahost:8080/ws");
32
+ ```
33
+
34
+ Access the synchronous client in node.js:
35
+
36
+ ```javascript
37
+ import { default as client } from "@finos/perspective";
38
+ ```
39
+
40
+ </div>
41
+ <div class="python">
42
+
43
+ # Python Examples
44
+
45
+ Create a `perspective_server::Server` and a local, synchronous [`Client`]
46
+ instance connected for it:
47
+
48
+ ```python
49
+ import perspective;
50
+ server = perspective.Server()
51
+ client = server.new_local_client();
52
+ ```
53
+
54
+ </div>
55
+ <div class="rust">
56
+
57
+ # Examples
58
+
59
+ Create a `perspective_server::Server` and a synchronous [`Client`] via the
60
+ `perspective` crate:
61
+
62
+ ```rust
63
+ use perspective::server::Server;
64
+ use perspective::LocalClient;
65
+
66
+ let server = Server::default();
67
+ let client = perspective::LocalClient::new(&server);
68
+ ```
69
+
70
+ </div>
@@ -0,0 +1,8 @@
1
+ <style>
2
+ pre.language-javascript,
3
+ pre.language-python,
4
+ div.javascript,
5
+ div.python {
6
+ display: none;
7
+ }
8
+ </style>
@@ -1,5 +1,5 @@
1
1
  Removes all the rows in the [`Table`], but preserves everything else including
2
2
  the schema, index, and any callbacks or registered [`View`] instances.
3
3
 
4
- Calling [`Table::clear`], like [`Table::update`] and [`Table::remove`], will trigger an update event
5
- to any registered listeners via [`View::on_update`].
4
+ Calling [`Table::clear`], like [`Table::update`] and [`Table::remove`], will
5
+ trigger an update event to any registered listeners via [`View::on_update`].
@@ -0,0 +1,30 @@
1
+ Returns the column names of this [`Table`] in "natural" order (the ordering
2
+ implied by the input format).
3
+
4
+ <div class="javascript">
5
+
6
+ # JavaScript Examples
7
+
8
+ ```javascript
9
+ const columns = await table.columns();
10
+ ```
11
+
12
+ </div>
13
+ <div class="python">
14
+
15
+ # Python Examples
16
+
17
+ ```python
18
+ columns = table.columns()
19
+ ```
20
+
21
+ </div>
22
+ <div class="rust">
23
+
24
+ # Examples
25
+
26
+ ```rust
27
+ let columns = table.columns().await;
28
+ ```
29
+
30
+ </div>
@@ -0,0 +1,48 @@
1
+ Delete this [`Table`] and cleans up associated resources, assuming it has no
2
+ [`View`] instances registered to it (which must be deleted first).
3
+
4
+ [`Table`]s do not stop consuming resources or processing updates when they are
5
+ garbage collected in their host language - you must call this method to reclaim
6
+ these.
7
+
8
+ <div class="javascript">
9
+
10
+ # JavaScript Examples
11
+
12
+ ```javascript
13
+ const table = await client.table("x,y\n1,2\n3,4");
14
+
15
+ // ...
16
+
17
+ await table.delete();
18
+ ```
19
+
20
+ </div>
21
+ <div class="python">
22
+
23
+ # Python Examples
24
+
25
+ ```python
26
+ table = client.table("x,y\n1,2\n3,4")
27
+
28
+ // ...
29
+
30
+ table.delete()
31
+ ```
32
+
33
+ </div>
34
+ <div class="rust">
35
+
36
+ # Examples
37
+
38
+ ```rust
39
+ let opts = TableInitOptions::default();
40
+ let data = TableData::Update(UpdateData::Csv("x,y\n1,2\n3,4".into()));
41
+ let table = client.table(data, opts).await?;
42
+
43
+ // ...
44
+
45
+ table.delete().await?;
46
+ ```
47
+
48
+ </div>
@@ -0,0 +1,2 @@
1
+ Get a metadata dictionary of the `perspective_server::Server`'s features, which
2
+ is (currently) implementation specific, but there is only one implementation.