perspective-python 3.0.0rc1__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 (534) hide show
  1. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/Cargo.lock +12 -8
  2. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/PKG-INFO +7 -2
  3. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/__init__.py +5 -4
  4. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3}/perspective/handlers/__init__.py +3 -3
  5. perspective_python-3.0.0rc3/perspective/psp_cffi.py +127 -0
  6. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/conftest.py +24 -20
  7. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3}/perspective/tests/core/test_async.py +1 -24
  8. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/server/test_server.py +1 -5
  9. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3}/perspective/tests/table/test_table.py +6 -4
  10. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_datetime.py +1 -1
  11. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_infer.py +1 -1
  12. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_limit.py +0 -2
  13. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_to_arrow.py +4 -1
  14. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_to_arrow_lz4.py +0 -1
  15. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_view.py +0 -1
  16. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_view_expression.py +4 -4
  17. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3}/perspective/tests/viewer/test_validate.py +0 -1
  18. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/widget/widget.py +4 -4
  19. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/pyproject.toml +6 -3
  20. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/Cargo.toml +8 -3
  21. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/build.rs +7 -0
  22. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/get_hosted_table_names.md +34 -0
  23. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/open_table.md +36 -0
  24. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/system_info.md +14 -0
  25. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/table.md +84 -0
  26. perspective_python-3.0.0rc3/rust/perspective-client/docs/client/terminate.md +2 -0
  27. perspective_python-3.0.0rc3/rust/perspective-client/docs/client.md +70 -0
  28. perspective_python-3.0.0rc3/rust/perspective-client/docs/index.html +8 -0
  29. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3/rust/perspective-client}/docs/table/clear.md +2 -2
  30. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/columns.md +30 -0
  31. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/delete.md +48 -0
  32. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/get_client.md +1 -0
  33. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/get_features.md +2 -0
  34. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3/rust/perspective-client}/docs/table/get_index.md +14 -6
  35. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/remove.md +34 -0
  36. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/replace.md +2 -2
  37. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/schema.md +14 -0
  38. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/update.md +8 -0
  39. perspective_python-3.0.0rc3/rust/perspective-client/docs/table/validate_expressions.md +11 -0
  40. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/view.md +0 -2
  41. perspective_python-3.0.0rc3/rust/perspective-client/docs/table.md +14 -0
  42. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/collapse.md +3 -0
  43. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/dimensions.md +9 -7
  44. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/expand.md +3 -0
  45. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/expression_schema.md +2 -0
  46. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/get_config.md +2 -1
  47. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/num_columns.md +6 -0
  48. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/num_rows.md +6 -0
  49. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/on_delete.md +9 -0
  50. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/on_update.md +25 -0
  51. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/remove_delete.md +2 -2
  52. {perspective_python-3.0.0rc1/rust/perspective-python → perspective_python-3.0.0rc3/rust/perspective-client}/docs/view/remove_update.md +2 -2
  53. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/schema.md +18 -0
  54. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_arrow.md +1 -0
  55. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_columns.md +1 -0
  56. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_columns_string.md +2 -0
  57. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_csv.md +1 -0
  58. perspective_python-3.0.0rc3/rust/perspective-client/docs/view/to_json.md +1 -0
  59. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view.md +101 -162
  60. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/client.rs +23 -5
  61. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/aggregates.rs +6 -0
  62. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/filters.rs +20 -2
  63. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/lib.rs +8 -4
  64. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/session.rs +13 -9
  65. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/table.rs +1 -14
  66. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/table_data.rs +2 -0
  67. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/clone.rs +1 -0
  68. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/view.rs +5 -3
  69. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/Cargo.toml +15 -10
  70. perspective_python-3.0.0rc3/rust/perspective-python/README.md +3 -0
  71. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/server/new_api.py +0 -2
  72. perspective_python-3.0.0rc3/rust/perspective-python/build/main.rs +81 -0
  73. perspective_python-3.0.0rc1/rust/perspective-server/build.rs → perspective_python-3.0.0rc3/rust/perspective-python/build/psp.rs +37 -18
  74. perspective_python-3.0.0rc3/rust/perspective-python/docs/index.html +14 -0
  75. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/__init__.py +5 -4
  76. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3/rust/perspective-python}/perspective/handlers/__init__.py +3 -3
  77. perspective_python-3.0.0rc3/rust/perspective-python/perspective/psp_cffi.py +127 -0
  78. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/conftest.py +24 -20
  79. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3/rust/perspective-python}/perspective/tests/core/test_async.py +1 -24
  80. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/server/test_server.py +1 -5
  81. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3/rust/perspective-python}/perspective/tests/table/test_table.py +6 -4
  82. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3/rust/perspective-python}/perspective/tests/table/test_table_datetime.py +1 -1
  83. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_infer.py +1 -1
  84. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3/rust/perspective-python}/perspective/tests/table/test_table_limit.py +0 -2
  85. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_to_arrow.py +4 -1
  86. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_to_arrow_lz4.py +0 -1
  87. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_view.py +0 -1
  88. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_view_expression.py +4 -4
  89. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3/rust/perspective-python}/perspective/tests/viewer/test_validate.py +0 -1
  90. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/widget/widget.py +4 -4
  91. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/src/client/client_sync.rs +35 -35
  92. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/src/lib.rs +16 -8
  93. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/install.json +0 -5
  94. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/package.json +0 -81
  95. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.d2836dfacdf59284d040.js +0 -18
  96. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.d2836dfacdf59284d040.js.LICENSE.txt +0 -59
  97. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/905.d3bbc3d5954582d507bb.js +0 -1
  98. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.2d936c1eb55465604308.js +0 -1
  99. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/style.js +0 -4
  100. perspective.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/third-party-licenses.json +0 -16
  101. perspective_python-3.0.0rc1/perspective/tests/table/test_update_numpy.py +0 -252
  102. perspective_python-3.0.0rc1/rust/perspective-client/docs/client/get_hosted_table_names.md +0 -20
  103. perspective_python-3.0.0rc1/rust/perspective-client/docs/client/open_table.md +0 -16
  104. perspective_python-3.0.0rc1/rust/perspective-client/docs/client/system_info.md +0 -1
  105. perspective_python-3.0.0rc1/rust/perspective-client/docs/client/table.md +0 -58
  106. perspective_python-3.0.0rc1/rust/perspective-client/docs/client/terminate.md +0 -1
  107. perspective_python-3.0.0rc1/rust/perspective-client/docs/client.md +0 -18
  108. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/clear.md +0 -5
  109. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/columns.md +0 -10
  110. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/delete.md +0 -6
  111. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/get_client.md +0 -0
  112. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/get_features.md +0 -0
  113. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/get_index.md +0 -25
  114. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/remove.md +0 -18
  115. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/schema.md +0 -13
  116. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/update.md +0 -6
  117. perspective_python-3.0.0rc1/rust/perspective-client/docs/table/validate_expressions.md +0 -11
  118. perspective_python-3.0.0rc1/rust/perspective-client/docs/table.md +0 -14
  119. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/collapse.md +0 -11
  120. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/expand.md +0 -11
  121. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/expression_schema.md +0 -3
  122. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/num_columns.md +0 -5
  123. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/num_rows.md +0 -5
  124. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/on_delete.md +0 -8
  125. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/on_update.md +0 -19
  126. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/remove_update.md +0 -9
  127. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/schema.md +0 -13
  128. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/to_arrow.md +0 -1
  129. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/to_columns.md +0 -1
  130. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/to_columns_string.md +0 -1
  131. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/to_csv.md +0 -1
  132. perspective_python-3.0.0rc1/rust/perspective-client/docs/view/to_json.md +0 -1
  133. perspective_python-3.0.0rc1/rust/perspective-python/docs/client/get_hosted_table_names.md +0 -20
  134. perspective_python-3.0.0rc1/rust/perspective-python/docs/client/open_table.md +0 -16
  135. perspective_python-3.0.0rc1/rust/perspective-python/docs/client/set_loop_callback.md +0 -7
  136. perspective_python-3.0.0rc1/rust/perspective-python/docs/client/system_info.md +0 -1
  137. perspective_python-3.0.0rc1/rust/perspective-python/docs/client/table.md +0 -58
  138. perspective_python-3.0.0rc1/rust/perspective-python/docs/client/terminate.md +0 -1
  139. perspective_python-3.0.0rc1/rust/perspective-python/docs/client.md +0 -18
  140. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/columns.md +0 -10
  141. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/delete.md +0 -6
  142. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/get_client.md +0 -0
  143. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/get_features.md +0 -0
  144. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/get_limit.md +0 -1
  145. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/get_num_views.md +0 -1
  146. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/make_port.md +0 -2
  147. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/on_delete.md +0 -5
  148. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/remove.md +0 -18
  149. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/remove_delete.md +0 -1
  150. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/replace.md +0 -2
  151. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/schema.md +0 -13
  152. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/size.md +0 -1
  153. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/update.md +0 -6
  154. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/validate_expressions.md +0 -11
  155. perspective_python-3.0.0rc1/rust/perspective-python/docs/table/view.md +0 -3
  156. perspective_python-3.0.0rc1/rust/perspective-python/docs/table.md +0 -14
  157. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/collapse.md +0 -11
  158. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/column_paths.md +0 -3
  159. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/delete.md +0 -1
  160. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/dimensions.md +0 -11
  161. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/expand.md +0 -11
  162. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/expression_schema.md +0 -3
  163. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/get_config.md +0 -1
  164. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/get_min_max.md +0 -5
  165. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/num_columns.md +0 -5
  166. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/num_rows.md +0 -5
  167. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/on_delete.md +0 -8
  168. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/on_update.md +0 -19
  169. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/remove_delete.md +0 -9
  170. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/schema.md +0 -13
  171. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/set_depth.md +0 -1
  172. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/to_arrow.md +0 -1
  173. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/to_columns.md +0 -1
  174. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/to_columns_string.md +0 -1
  175. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/to_csv.md +0 -1
  176. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/to_json.md +0 -1
  177. perspective_python-3.0.0rc1/rust/perspective-python/docs/view/to_json_string.md +0 -1
  178. perspective_python-3.0.0rc1/rust/perspective-python/docs/view.md +0 -387
  179. perspective_python-3.0.0rc1/rust/perspective-python/perspective/tests/table/test_update_numpy.py +0 -252
  180. perspective_python-3.0.0rc1/rust/perspective-server/Cargo.toml +0 -53
  181. perspective_python-3.0.0rc1/rust/perspective-server/cmake/Pybind.txt.in +0 -16
  182. perspective_python-3.0.0rc1/rust/perspective-server/cmake/arrow/CMakeLists.txt +0 -305
  183. perspective_python-3.0.0rc1/rust/perspective-server/cmake/arrow/config.h +0 -53
  184. perspective_python-3.0.0rc1/rust/perspective-server/cmake/arrow.txt.in +0 -21
  185. perspective_python-3.0.0rc1/rust/perspective-server/cmake/date.txt.in +0 -16
  186. perspective_python-3.0.0rc1/rust/perspective-server/cmake/double-conversion.txt.in +0 -16
  187. perspective_python-3.0.0rc1/rust/perspective-server/cmake/exprtk.txt.in +0 -16
  188. perspective_python-3.0.0rc1/rust/perspective-server/cmake/flatbuffers.txt.in +0 -16
  189. perspective_python-3.0.0rc1/rust/perspective-server/cmake/hopscotch.txt.in +0 -16
  190. perspective_python-3.0.0rc1/rust/perspective-server/cmake/lz4.txt.in +0 -16
  191. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/.clangd.in +0 -3
  192. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/FindColor.cmake +0 -13
  193. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/FindExprTk.cmake +0 -76
  194. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/FindFlatbuffers.cmake +0 -64
  195. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/FindInstallDependency.cmake +0 -87
  196. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/FindProtoc.cmake +0 -124
  197. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/FindRe2.cmake +0 -70
  198. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/LLVMToolchain.cmake +0 -9
  199. perspective_python-3.0.0rc1/rust/perspective-server/cmake/modules/SetupClangd.cmake +0 -42
  200. perspective_python-3.0.0rc1/rust/perspective-server/cmake/ordered-map.txt.in +0 -16
  201. perspective_python-3.0.0rc1/rust/perspective-server/cmake/protobuf.txt.in +0 -24
  202. perspective_python-3.0.0rc1/rust/perspective-server/cmake/rapidjson.txt.in +0 -16
  203. perspective_python-3.0.0rc1/rust/perspective-server/cmake/re2/CMakeLists.txt +0 -176
  204. perspective_python-3.0.0rc1/rust/perspective-server/cmake/re2.txt.in +0 -21
  205. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/.clangd.in +0 -3
  206. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/CMakeLists.txt +0 -725
  207. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/build.js +0 -50
  208. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/env.js +0 -15
  209. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/package.json +0 -16
  210. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/aggregate.cpp +0 -466
  211. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/aggspec.cpp +0 -448
  212. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/arg_sort.cpp +0 -81
  213. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/arrow_csv.cpp +0 -465
  214. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/arrow_loader.cpp +0 -740
  215. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/arrow_writer.cpp +0 -81
  216. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/base.cpp +0 -805
  217. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/base_impl_linux.cpp +0 -26
  218. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/base_impl_osx.cpp +0 -26
  219. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/base_impl_wasm.cpp +0 -26
  220. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/base_impl_win.cpp +0 -47
  221. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/binding.cpp +0 -16
  222. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/column.cpp +0 -1025
  223. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/comparators.cpp +0 -16
  224. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/compat.cpp +0 -38
  225. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_linux.cpp +0 -231
  226. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_osx.cpp +0 -234
  227. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_wasm.cpp +0 -150
  228. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/compat_impl_win.cpp +0 -312
  229. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/computed_expression.cpp +0 -621
  230. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/computed_function.cpp +0 -2349
  231. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/config.cpp +0 -486
  232. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_base.cpp +0 -16
  233. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_grouped_pkey.cpp +0 -935
  234. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_handle.cpp +0 -52
  235. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_iterators.cpp +0 -246
  236. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_one.cpp +0 -924
  237. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_two.cpp +0 -1382
  238. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_unit.cpp +0 -490
  239. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/context_zero.cpp +0 -974
  240. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/data.cpp +0 -30
  241. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/data_slice.cpp +0 -201
  242. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/data_table.cpp +0 -887
  243. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/date.cpp +0 -170
  244. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/date_parser.cpp +0 -54
  245. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/dense_nodes.cpp +0 -46
  246. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/dense_tree.cpp +0 -505
  247. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/dense_tree_context.cpp +0 -290
  248. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/dependency.cpp +0 -82
  249. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/emscripten_api.cpp +0 -156
  250. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/expression_tables.cpp +0 -179
  251. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/expression_vocab.cpp +0 -71
  252. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/extract_aggregate.cpp +0 -119
  253. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/filter.cpp +0 -168
  254. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/flat_traversal.cpp +0 -450
  255. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/get_data_extents.cpp +0 -48
  256. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/gnode.cpp +0 -1693
  257. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/gnode_state.cpp +0 -802
  258. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/init.cpp +0 -24
  259. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/kernel_engine.cpp +0 -24
  260. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/main.cpp +0 -20
  261. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/mask.cpp +0 -151
  262. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/multi_sort.cpp +0 -230
  263. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/none.cpp +0 -59
  264. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/path.cpp +0 -31
  265. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/pivot.cpp +0 -59
  266. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/pool.cpp +0 -354
  267. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/port.cpp +0 -113
  268. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/process_state.cpp +0 -46
  269. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/proto_api.cpp +0 -68
  270. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/pyutils.cpp +0 -28
  271. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/raii.cpp +0 -47
  272. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/raii_impl_linux.cpp +0 -52
  273. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/raii_impl_osx.cpp +0 -52
  274. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/raii_impl_win.cpp +0 -51
  275. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/range.cpp +0 -75
  276. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/regex.cpp +0 -40
  277. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/rlookup.cpp +0 -29
  278. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/scalar.cpp +0 -1685
  279. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/schema.cpp +0 -214
  280. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/schema_column.cpp +0 -26
  281. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/server.cpp +0 -2410
  282. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/simple_bitmask.cpp +0 -20
  283. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/slice.cpp +0 -132
  284. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/sort_specification.cpp +0 -82
  285. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/sparse_tree.cpp +0 -2641
  286. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/sparse_tree_node.cpp +0 -92
  287. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/step_delta.cpp +0 -85
  288. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/storage.cpp +0 -658
  289. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/storage_impl_linux.cpp +0 -126
  290. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/storage_impl_osx.cpp +0 -132
  291. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/storage_impl_win.cpp +0 -185
  292. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/sym_table.cpp +0 -115
  293. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/table.cpp +0 -1543
  294. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/time.cpp +0 -277
  295. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/tracing.cpp +0 -64
  296. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/tracing_impl_linux.cpp +0 -139
  297. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/tracing_impl_osx.cpp +0 -139
  298. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/traversal.cpp +0 -702
  299. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/traversal_nodes.cpp +0 -34
  300. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/tree_context_common.cpp +0 -273
  301. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/update_task.cpp +0 -49
  302. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/utils.cpp +0 -150
  303. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/vendor/arrow_compute_registry.cpp +0 -235
  304. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/vendor/arrow_single_threaded_reader.cpp +0 -1038
  305. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/vendor/single_threaded_reader.cpp +0 -3632
  306. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/view.cpp +0 -2333
  307. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/view_config.cpp +0 -447
  308. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/cpp/vocab.cpp +0 -251
  309. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/aggregate.h +0 -332
  310. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/aggspec.h +0 -120
  311. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/arg_sort.h +0 -43
  312. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/arrow_csv.h +0 -36
  313. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/arrow_loader.h +0 -112
  314. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/arrow_writer.h +0 -356
  315. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/base.h +0 -557
  316. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/binding.h +0 -476
  317. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/column.h +0 -450
  318. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/comparators.h +0 -47
  319. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/compat.h +0 -61
  320. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/computed_expression.h +0 -248
  321. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/computed_function.h +0 -422
  322. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/config.h +0 -240
  323. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_base.h +0 -319
  324. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_common_decls.h +0 -144
  325. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_grouped_pkey.h +0 -86
  326. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_handle.h +0 -40
  327. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_one.h +0 -65
  328. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_two.h +0 -98
  329. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_unit.h +0 -166
  330. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/context_zero.h +0 -113
  331. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/data.h +0 -30
  332. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/data_accessor.h +0 -26
  333. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/data_slice.h +0 -144
  334. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/data_table.h +0 -567
  335. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/date.h +0 -138
  336. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/date_parser.h +0 -31
  337. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/debug_helpers.h +0 -47
  338. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/defaults.h +0 -49
  339. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/dense_nodes.h +0 -46
  340. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/dense_tree.h +0 -100
  341. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/dense_tree_context.h +0 -63
  342. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/dependency.h +0 -58
  343. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/emscripten_api_utils.h +0 -32
  344. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/env_vars.h +0 -173
  345. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/exception.h +0 -31
  346. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/exports.h +0 -42
  347. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/expression_tables.h +0 -72
  348. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/expression_vocab.h +0 -70
  349. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/exprtk.h +0 -1872
  350. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/extract_aggregate.h +0 -28
  351. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/filter.h +0 -212
  352. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/filter_utils.h +0 -35
  353. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/first.h +0 -69
  354. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/flat_traversal.h +0 -155
  355. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/flatten.h +0 -20
  356. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/fragments.h +0 -19
  357. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/get_data_extents.h +0 -36
  358. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/gnode.h +0 -632
  359. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/gnode_state.h +0 -313
  360. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/index.h +0 -21
  361. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/init.h +0 -19
  362. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/iterator.h +0 -150
  363. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/kernel_engine.h +0 -63
  364. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/last.h +0 -33
  365. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/mask.h +0 -81
  366. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/multi_sort.h +0 -190
  367. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/node_processor.h +0 -162
  368. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/node_processor_types.h +0 -47
  369. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/none.h +0 -79
  370. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/parallel_for.h +0 -54
  371. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/partition.h +0 -145
  372. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/path.h +0 -30
  373. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/pivot.h +0 -48
  374. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/pool.h +0 -133
  375. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/port.h +0 -51
  376. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/portable.h +0 -55
  377. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/process_state.h +0 -65
  378. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/proto_api.h +0 -46
  379. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/pyutils.h +0 -57
  380. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/raii.h +0 -45
  381. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/range.h +0 -63
  382. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/raw_types.h +0 -159
  383. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/regex.h +0 -45
  384. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/rlookup.h +0 -27
  385. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/scalar.h +0 -475
  386. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/schema.h +0 -68
  387. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/schema_column.h +0 -35
  388. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/server.h +0 -595
  389. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/simple_bitmask.h +0 -104
  390. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/slice.h +0 -66
  391. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/sort_specification.h +0 -58
  392. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/sparse_tree.h +0 -472
  393. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/sparse_tree_node.h +0 -87
  394. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/step_delta.h +0 -127
  395. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/storage.h +0 -399
  396. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/sym_table.h +0 -45
  397. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/table.h +0 -290
  398. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/time.h +0 -156
  399. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/tracing.h +0 -56
  400. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/tracing_impl_linux.h +0 -21
  401. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/tracing_impl_osx.h +0 -21
  402. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/tracing_impl_win.h +0 -11
  403. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/traversal.h +0 -263
  404. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/traversal_nodes.h +0 -60
  405. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/tree_context_common.h +0 -127
  406. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/tree_iterator.h +0 -204
  407. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/update_task.h +0 -32
  408. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/utils.h +0 -204
  409. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/val.h +0 -198
  410. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/vendor/arrow_compute_registry.h +0 -102
  411. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/vendor/arrow_single_threaded_reader.h +0 -72
  412. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/view.h +0 -434
  413. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/view_config.h +0 -237
  414. perspective_python-3.0.0rc1/rust/perspective-server/cpp/perspective/src/include/perspective/vocab.h +0 -96
  415. perspective_python-3.0.0rc1/rust/perspective-server/cpp/protos/CMakeLists.txt +0 -34
  416. perspective_python-3.0.0rc1/rust/perspective-server/cpp/protos/perspective.proto +0 -503
  417. perspective_python-3.0.0rc1/rust/perspective-server/include/server.h +0 -32
  418. perspective_python-3.0.0rc1/rust/perspective-server/src/ffi.rs +0 -67
  419. perspective_python-3.0.0rc1/rust/perspective-server/src/lib.rs +0 -247
  420. perspective_python-3.0.0rc1/rust/perspective-server/src/server.cpp +0 -67
  421. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/Cargo.toml +0 -0
  422. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/extension/finos-perspective-nbextension.json +0 -0
  423. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/handlers/aiohttp.py +0 -0
  424. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/handlers/starlette.py +0 -0
  425. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/handlers/tornado.py +0 -0
  426. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/templates/exported_widget.html.jinja +0 -0
  427. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/__init__.py +0 -0
  428. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/core/__init__.py +0 -0
  429. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/core/test_threadpool.py +0 -0
  430. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/server/__init__.py +0 -0
  431. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/server/test_session.py +0 -0
  432. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/single_threaded/test_single_threaded.py +0 -0
  433. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/__init__.py +0 -0
  434. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/date32.arrow +0 -0
  435. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/date64.arrow +0 -0
  436. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/dict.arrow +0 -0
  437. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/dict_update.arrow +0 -0
  438. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
  439. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
  440. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
  441. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/object_sequence.py +0 -0
  442. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_delete.py +0 -0
  443. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_exception.py +0 -0
  444. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_leaks.py +0 -0
  445. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_ports.py +0 -0
  446. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_remove.py +0 -0
  447. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_arrow.py +0 -0
  448. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_numpy.py +0 -0
  449. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_table_pandas.py +0 -0
  450. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_to_format.py +0 -0
  451. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_update.py +0 -0
  452. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_update_arrow.py +0 -0
  453. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/table/test_update_pandas.py +0 -0
  454. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/viewer/__init__.py +0 -0
  455. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/viewer/test_viewer.py +0 -0
  456. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/widget/__init__.py +0 -0
  457. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/widget/test_widget.py +0 -0
  458. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/tests/widget/test_widget_pandas.py +0 -0
  459. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/viewer/__init__.py +0 -0
  460. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/viewer/validate.py +0 -0
  461. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/viewer/viewer.py +0 -0
  462. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/viewer/viewer_traitlets.py +0 -0
  463. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/perspective/widget/__init__.py +0 -0
  464. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/client/set_loop_callback.md +0 -0
  465. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/get_limit.md +0 -0
  466. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/get_num_views.md +0 -0
  467. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/make_port.md +0 -0
  468. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/on_delete.md +0 -0
  469. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/remove_delete.md +0 -0
  470. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/table/size.md +0 -0
  471. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/column_paths.md +0 -0
  472. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/delete.md +0 -0
  473. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/get_min_max.md +0 -0
  474. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/set_depth.md +0 -0
  475. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/docs/view/to_json_string.md +0 -0
  476. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/column_type.rs +0 -0
  477. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/expressions.rs +0 -0
  478. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/mod.rs +0 -0
  479. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/plugin.rs +0 -0
  480. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/sort.rs +0 -0
  481. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/config/view_config.rs +0 -0
  482. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/proto.rs +0 -0
  483. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/logging.rs +0 -0
  484. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/mod.rs +0 -0
  485. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/tests/clone.rs +0 -0
  486. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-client/src/rust/utils/tests/mod.rs +0 -0
  487. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/__init__.py +0 -0
  488. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/__init__.py +0 -0
  489. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/bench.py +0 -0
  490. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/perspective_benchmark.py +0 -0
  491. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/runtime/run_perspective_benchmark.py +0 -0
  492. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/__init__.py +0 -0
  493. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/async_server.py +0 -0
  494. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/bench.py +0 -0
  495. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/distributed_mode.py +0 -0
  496. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/server/old_api.py +0 -0
  497. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/bench/tornado/server_mode.py +0 -0
  498. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/aiohttp.py +0 -0
  499. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/starlette.py +0 -0
  500. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/handlers/tornado.py +0 -0
  501. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/__init__.py +0 -0
  502. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/core/__init__.py +0 -0
  503. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/core/test_threadpool.py +0 -0
  504. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/server/__init__.py +0 -0
  505. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/server/test_session.py +0 -0
  506. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/single_threaded/test_single_threaded.py +0 -0
  507. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/__init__.py +0 -0
  508. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/object_sequence.py +0 -0
  509. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_delete.py +0 -0
  510. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_exception.py +0 -0
  511. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_leaks.py +0 -0
  512. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_ports.py +0 -0
  513. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_remove.py +0 -0
  514. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_arrow.py +0 -0
  515. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_numpy.py +0 -0
  516. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_table_pandas.py +0 -0
  517. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_to_format.py +0 -0
  518. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_update.py +0 -0
  519. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_update_arrow.py +0 -0
  520. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/table/test_update_pandas.py +0 -0
  521. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/viewer/__init__.py +0 -0
  522. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/viewer/test_viewer.py +0 -0
  523. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/widget/__init__.py +0 -0
  524. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/widget/test_widget.py +0 -0
  525. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/tests/widget/test_widget_pandas.py +0 -0
  526. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/__init__.py +0 -0
  527. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/validate.py +0 -0
  528. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/viewer.py +0 -0
  529. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/viewer/viewer_traitlets.py +0 -0
  530. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/perspective/widget/__init__.py +0 -0
  531. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/src/client/mod.rs +0 -0
  532. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/src/client/python.rs +0 -0
  533. {perspective_python-3.0.0rc1 → perspective_python-3.0.0rc3}/rust/perspective-python/src/server/mod.rs +0 -0
  534. {perspective_python-3.0.0rc1 → 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.1"
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.1"
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.1"
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.1"
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.1"
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.1"
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.1"
1919
+ version = "3.0.0-rc.3"
1916
1920
  dependencies = [
1917
1921
  "anyhow",
1918
1922
  "async-lock",
@@ -1,13 +1,18 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: perspective-python
3
- Version: 3.0.0rc1
3
+ Version: 3.0.0rc3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
- Classifier: Programming Language :: Python :: Implementation :: PyPy
7
6
  Summary: A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
8
7
  Home-Page: https://perspective.finos.org
9
8
  Author: Andrew Stein <steinlink@gmail.com>
10
9
  Author-email: Andrew Stein <steinlink@gmail.com>
11
10
  License: Apache-2.0
12
11
  Requires-Python: >=3.9
12
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
13
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,13 +10,14 @@
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.1"
13
+ __version__ = "3.0.0-rc.3"
14
14
  __all__ = [
15
15
  "_jupyter_labextension_paths",
16
16
  "PerspectiveError",
17
17
  "PerspectiveWidget",
18
18
  "PerspectiveViewer",
19
19
  "PerspectiveTornadoHandler",
20
+ "ProxySession",
20
21
  "Table",
21
22
  "View",
22
23
  ]
@@ -24,7 +25,6 @@ __all__ = [
24
25
  from .perspective import (
25
26
  PySyncClient,
26
27
  PerspectiveError,
27
- PySyncServer,
28
28
  Table,
29
29
  View,
30
30
  PySyncProxySession as ProxySession,
@@ -33,6 +33,7 @@ from .perspective import (
33
33
  from .widget import PerspectiveWidget
34
34
  from .viewer import PerspectiveViewer
35
35
 
36
+ from .psp_cffi import ServerBase
36
37
 
37
38
  try:
38
39
  from .handlers import PerspectiveTornadoHandler
@@ -44,7 +45,7 @@ def default_loop_cb(fn, *args, **kwargs):
44
45
  return fn(*args, **kwargs)
45
46
 
46
47
 
47
- class Server(PySyncServer):
48
+ class Server(ServerBase):
48
49
  def set_threadpool_size(self, n_cpus):
49
50
  pass
50
51
 
@@ -73,6 +74,6 @@ class Client(PySyncClient):
73
74
  return client
74
75
 
75
76
 
76
- # read by `jupyter labextension develop`
77
+ # Read by `jupyter labextension develop`
77
78
  def _jupyter_labextension_paths():
78
79
  return [{"src": "labextension", "dest": "@finos/perspective-jupyterlab"}]
@@ -11,16 +11,16 @@
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
13
  try:
14
- from .aiohttp import PerspectiveAIOHTTPHandler
14
+ from .aiohttp import PerspectiveAIOHTTPHandler # noqa: F401
15
15
  except ImportError:
16
16
  ...
17
17
 
18
18
  try:
19
- from .starlette import PerspectiveStarletteHandler
19
+ from .starlette import PerspectiveStarletteHandler # noqa: F401
20
20
  except ImportError:
21
21
  ...
22
22
 
23
23
  try:
24
- from .tornado import PerspectiveTornadoHandler
24
+ from .tornado import PerspectiveTornadoHandler # noqa: F401
25
25
  except ImportError:
26
26
  ...
@@ -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
@@ -20,13 +20,35 @@ from random import random, randint, choice
20
20
  from faker import Faker
21
21
 
22
22
 
23
- fake = Faker()
24
-
25
23
  # Our tests construct naive datetimes everywhere
26
24
  # so setting it here is an easy way to fix it globally.
27
25
  import os
26
+
27
+ # Perspective used to support datetime.date and datetime.datetime
28
+ # as Table() constructor arguments, but now we forward the parameters
29
+ # directly to JSON.loads. So to make sure the tests dont need to be
30
+ # so utterly transmogrified, we have this little hack :)
31
+ import json
32
+
33
+
28
34
  os.environ["TZ"] = "UTC"
29
35
 
36
+
37
+ def new_encoder(self, obj):
38
+ if isinstance(obj, datetime):
39
+ return str(obj)
40
+ elif isinstance(obj, date):
41
+ return str(obj)
42
+ else:
43
+ return old(self, obj)
44
+
45
+
46
+ old = json.JSONEncoder.default
47
+ json.JSONEncoder.default = new_encoder
48
+
49
+ fake = Faker()
50
+
51
+
30
52
  def _make_date_time_index(size, time_unit):
31
53
  return pd.date_range("2000-01-01", periods=size, freq=time_unit)
32
54
 
@@ -248,21 +270,3 @@ def superstore(count=100):
248
270
  dat["Profit"] = round(random() * 1000, 2)
249
271
  data.append(dat)
250
272
  return pd.DataFrame(data)
251
-
252
-
253
- # Perspective used to support datetime.date and datetime.datetime
254
- # as Table() constructor arguments, but now we forward the parameters
255
- # directly to JSON.loads. So to make sure the tests dont need to be
256
- # so utterly transmogrified, we have this little hack :)
257
- import json
258
- old = json.JSONEncoder.default
259
-
260
- def new_encoder(self, obj):
261
- if isinstance(obj, datetime):
262
- return str(obj)
263
- elif isinstance(obj, date):
264
- return str(obj)
265
- else:
266
- return old(self, obj)
267
-
268
- json.JSONEncoder.default = new_encoder
@@ -20,7 +20,7 @@ from perspective import (
20
20
  Server,
21
21
  Client,
22
22
  )
23
- from pytest import mark, raises
23
+ from pytest import mark
24
24
 
25
25
 
26
26
  def syncify(f):
@@ -119,29 +119,6 @@ class TestAsync(object):
119
119
  assert _task() == 10
120
120
  tbl.delete()
121
121
 
122
- @mark.skip(reason="We take a loop to construct the client now")
123
- def test_async_call_loop_error_if_no_loop(self):
124
- server = Server()
125
- client = Client.from_server(
126
- server, lambda fn, *args: TestAsync.loop.add_callback(fn, *args)
127
- )
128
- tbl = client.table({"a": "integer", "b": "float", "c": "string"})
129
-
130
- with raises(PerspectiveError):
131
- # loop not set - errors
132
- tbl.update(data)
133
-
134
- tbl.update(data)
135
-
136
- @syncify
137
- def _task():
138
- return tbl.size()
139
-
140
- # subsequent calls to call_loop will work if loop_callback is set.
141
- assert _task() == 10
142
-
143
- tbl.delete()
144
-
145
122
  def test_async_multiple_managers_queue_process(self):
146
123
  server = Server()
147
124
  client = Client.from_server(
@@ -39,7 +39,7 @@ class TestServer(object):
39
39
  def test_server_host_table(self):
40
40
  server = Server()
41
41
  client = Client.from_server(server)
42
- table = client.table(data, name="table1")
42
+ client.table(data, name="table1")
43
43
  table2 = client.open_table("table1")
44
44
  assert table2.schema() == {"a": "integer", "b": "string"}
45
45
 
@@ -126,15 +126,11 @@ class TestServer(object):
126
126
  assert client._get_view("view1").schema() == {"a": "integer", "b": "string"}
127
127
 
128
128
  def test_server_create_view_zero(self):
129
- message = {"id": 1, "table_name": "table1", "view_name": "view1", "cmd": "view"}
130
129
  server = Server()
131
130
  client = Client.from_server(server)
132
131
  client.table(data, name="table1")
133
132
  table = client.open_table("table1")
134
- print(f"XXX: {dir(table)}")
135
133
  assert table.view().dimensions()["num_view_rows"] == 3
136
- # client._process(message, self.post)
137
- # assert client._views["view1"].num_rows() == 3
138
134
 
139
135
  def test_server_create_view_one(self):
140
136
  server = Server()
@@ -10,10 +10,9 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- import sys
14
- from datetime import date, datetime, timezone
13
+ from datetime import date, datetime
15
14
  import perspective
16
- from pytest import mark, raises, skip
15
+ from pytest import mark, raises
17
16
  import pytest
18
17
  import perspective as psp
19
18
 
@@ -446,7 +445,10 @@ class TestTable:
446
445
  },
447
446
  index="a",
448
447
  )
449
- ts = lambda x: int(datetime.timestamp(x) * 1000)
448
+
449
+ def ts(x):
450
+ return int(datetime.timestamp(x) * 1000)
451
+
450
452
  assert tbl.view().to_columns() == {
451
453
  "a": [
452
454
  None,
@@ -216,7 +216,7 @@ if os.name != "nt":
216
216
  def test_table_datetime_cant_convert_from_int(self):
217
217
  data = pd.DataFrame({"a": [0]})
218
218
  table = Table({"a": "datetime"})
219
- with raises(PerspectiveError) as ex:
219
+ with raises(PerspectiveError):
220
220
  table.update(data)
221
221
  # assert str(ex.value) == "..."
222
222
 
@@ -58,7 +58,7 @@ class TestTableInfer(object):
58
58
  "b": [False, False, False, False, False],
59
59
  }
60
60
 
61
- def test_table_infer_bool(self):
61
+ def test_table_infer_bool_variant(self):
62
62
  data = {"a": [None, None, None, None, True, True, True]}
63
63
  tbl = Table(data)
64
64
  assert tbl.schema() == {"a": "boolean"}
@@ -10,8 +10,6 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- from datetime import date, datetime
14
- from pytest import mark
15
13
  import perspective as psp
16
14
 
17
15
  client = psp.Server().new_local_client()
@@ -93,7 +93,10 @@ class TestToArrow(object):
93
93
  assert tbl.schema() == {"a": "date"}
94
94
  arr = tbl.view().to_arrow()
95
95
  tbl2 = Table(arr)
96
- ts = lambda x: int(datetime.timestamp(x) * 1000)
96
+
97
+ def ts(x):
98
+ return int(datetime.timestamp(x) * 1000)
99
+
97
100
  assert tbl2.schema() == tbl.schema()
98
101
  assert tbl2.view().to_columns() == {
99
102
  "a": [
@@ -10,7 +10,6 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- import os
14
13
  import perspective as psp
15
14
 
16
15
  client = psp.Server().new_local_client()
@@ -10,7 +10,6 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- import random
14
13
  import pandas as pd
15
14
  import numpy as np
16
15
  from perspective import PerspectiveError
@@ -1627,8 +1627,8 @@ class TestViewExpression(object):
1627
1627
  expected_domain = re.search(r"@([a-zA-Z.]+)$", source).group(1)
1628
1628
  assert results["address"][i] == expected_address
1629
1629
  assert results["domain"][i] == expected_domain
1630
- assert results["is_email?"][i] == True
1631
- assert results["has_at?"][i] == True
1630
+ assert results["is_email?"][i]
1631
+ assert results["has_at?"][i]
1632
1632
 
1633
1633
  def test_view_expression_number(self):
1634
1634
  def digits():
@@ -1672,7 +1672,7 @@ class TestViewExpression(object):
1672
1672
  source = results["a"][i]
1673
1673
  expected = re.sub(r"[ -]", "", source)
1674
1674
  assert results["parsed"][i] == expected
1675
- assert results["is_number?"][i] == True
1675
+ assert results["is_number?"][i]
1676
1676
 
1677
1677
  def test_view_expression_newlines(self):
1678
1678
  table = Table(
@@ -1922,7 +1922,7 @@ class TestViewExpression(object):
1922
1922
  r"^[0-9]{4}", "long string, very cool!", source
1923
1923
  )
1924
1924
 
1925
- def test_view_replace_invalid(self):
1925
+ def test_view_replace_invalid_variation(self):
1926
1926
  table = Table({"a": "string", "b": "string"})
1927
1927
  expressions = [
1928
1928
  """//v
@@ -10,7 +10,6 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- from pytest import raises
14
13
 
15
14
 
16
15
  # from perspective.core import Plugin
@@ -12,18 +12,18 @@
12
12
 
13
13
  import base64
14
14
  import jinja2
15
- import json
16
15
  import logging
17
16
  import os
18
- from datetime import date, datetime
19
- from functools import partial
17
+ import re
20
18
 
21
19
  from ipywidgets import DOMWidget
22
20
  from traitlets import Unicode, observe
23
21
  from ..viewer import PerspectiveViewer
24
22
  import importlib
25
23
 
26
- __version__ = importlib.metadata.version("perspective-python")
24
+ __version__ = re.sub(
25
+ "(rc|alpha|beta)", "-\\1.", importlib.metadata.version("perspective-python")
26
+ )
27
27
 
28
28
 
29
29
  class PerspectiveWidget(DOMWidget, PerspectiveViewer):
@@ -16,18 +16,21 @@ build-backend = "maturin"
16
16
 
17
17
  [project]
18
18
  name = "perspective-python"
19
- version = "3.0.0-rc1"
20
19
  requires-python = ">=3.9"
21
20
  dynamic = ["version"]
22
21
  classifiers = [
23
22
  "Programming Language :: Rust",
24
23
  "Programming Language :: Python :: Implementation :: CPython",
25
- "Programming Language :: Python :: Implementation :: PyPy",
26
24
  ]
27
25
 
28
26
  [tool.maturin]
29
- data = "perspective.data"
27
+ module-name = "perspective"
28
+ data = "perspective_python-3.0.0rc3.data"
30
29
  features = ["pyo3/extension-module"]
30
+ include = [
31
+ { path = "perspective/*libpsp.so", format = "wheel" },
32
+ { path = "perspective/*libpsp.dll", format = "wheel" },
33
+ ]
31
34
  manifest-path = "rust/perspective-python/Cargo.toml"
32
35
 
33
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.1"
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.