perspective-python 3.0.0rc3__tar.gz → 3.0.0rc6__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.
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/Cargo.lock +7 -7
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/PKG-INFO +1 -1
- {perspective_python-3.0.0rc3/rust/perspective-python → perspective_python-3.0.0rc6}/perspective/__init__.py +5 -3
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/pyproject.toml +1 -1
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/Cargo.toml +1 -1
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/build.rs +1 -1
- perspective_python-3.0.0rc6/rust/perspective-client/docs/table/get_num_views.md +3 -0
- perspective_python-3.0.0rc6/rust/perspective-client/docs/table/replace.md +39 -0
- perspective_python-3.0.0rc6/rust/perspective-client/docs/table/update.md +44 -0
- perspective_python-3.0.0rc6/rust/perspective-client/docs/table/view.md +53 -0
- perspective_python-3.0.0rc6/rust/perspective-client/docs/view/remove_update.md +40 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/table.rs +1 -1
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/Cargo.toml +3 -3
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6/rust/perspective-python}/perspective/__init__.py +5 -3
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/src/client/client_sync.rs +73 -72
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/src/client/python.rs +2 -7
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/src/lib.rs +5 -5
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/install.json +5 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/package.json +80 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.68e6568b5970b09d562f.js +18 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.68e6568b5970b09d562f.js.LICENSE.txt +59 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/905.d3bbc3d5954582d507bb.js +1 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.f837ca9d296229985161.js +1 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/style.js +4 -0
- perspective_python-3.0.0rc6.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/third-party-licenses.json +16 -0
- perspective_python-3.0.0rc3/rust/perspective-client/docs/table/get_num_views.md +0 -1
- perspective_python-3.0.0rc3/rust/perspective-client/docs/table/replace.md +0 -2
- perspective_python-3.0.0rc3/rust/perspective-client/docs/table/update.md +0 -8
- perspective_python-3.0.0rc3/rust/perspective-client/docs/table/view.md +0 -1
- perspective_python-3.0.0rc3/rust/perspective-client/docs/view/remove_update.md +0 -9
- perspective_python-3.0.0rc3/rust/perspective-client/src/rust/proto.rs +0 -1065
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/Cargo.toml +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/extension/finos-perspective-nbextension.json +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/handlers/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/handlers/aiohttp.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/handlers/starlette.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/handlers/tornado.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/psp_cffi.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/templates/exported_widget.html.jinja +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/conftest.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/core/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/core/test_async.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/core/test_threadpool.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/server/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/server/test_server.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/server/test_session.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/single_threaded/test_single_threaded.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/date32.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/date64.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/dict.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/dict_update.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/object_sequence.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_delete.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_exception.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_leaks.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_ports.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_remove.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table_arrow.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table_datetime.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table_infer.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table_limit.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table_numpy.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_table_pandas.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_to_arrow.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_to_arrow_lz4.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_to_format.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_update.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_update_arrow.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_update_pandas.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_view.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/table/test_view_expression.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/viewer/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/viewer/test_validate.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/viewer/test_viewer.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/widget/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/widget/test_widget.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/tests/widget/test_widget_pandas.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/viewer/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/viewer/validate.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/viewer/viewer.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/viewer/viewer_traitlets.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/widget/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/perspective/widget/widget.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client/get_hosted_table_names.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client/open_table.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client/set_loop_callback.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client/system_info.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client/table.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client/terminate.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/client.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/index.html +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/clear.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/columns.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/delete.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/get_client.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/get_features.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/get_index.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/get_limit.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/make_port.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/on_delete.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/remove.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/remove_delete.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/schema.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/size.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table/validate_expressions.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/table.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/collapse.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/column_paths.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/delete.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/dimensions.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/expand.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/expression_schema.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/get_config.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/get_min_max.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/num_columns.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/num_rows.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/on_delete.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/on_update.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/remove_delete.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/schema.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/set_depth.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/to_arrow.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/to_columns.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/to_columns_string.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/to_csv.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/to_json.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view/to_json_string.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/docs/view.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/client.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/aggregates.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/column_type.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/expressions.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/filters.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/mod.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/plugin.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/sort.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/config/view_config.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/lib.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/session.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/table_data.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/utils/clone.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/utils/logging.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/utils/mod.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/utils/tests/clone.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/utils/tests/mod.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/src/rust/view.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/README.md +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/runtime/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/runtime/bench.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/runtime/perspective_benchmark.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/runtime/run_perspective_benchmark.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/async_server.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/bench.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/distributed_mode.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/server/new_api.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/server/old_api.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/bench/tornado/server_mode.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/build/main.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/build/psp.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/docs/index.html +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/handlers/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/handlers/aiohttp.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/handlers/starlette.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/handlers/tornado.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/psp_cffi.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/conftest.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/core/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/core/test_async.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/core/test_threadpool.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/server/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/server/test_server.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/server/test_session.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/single_threaded/test_single_threaded.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/object_sequence.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_delete.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_exception.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_leaks.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_ports.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_remove.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table_arrow.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table_datetime.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table_infer.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table_limit.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table_numpy.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_table_pandas.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_to_arrow.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_to_arrow_lz4.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_to_format.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_update.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_update_arrow.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_update_pandas.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_view.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/table/test_view_expression.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/viewer/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/viewer/test_validate.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/viewer/test_viewer.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/widget/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/widget/test_widget.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/tests/widget/test_widget_pandas.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/viewer/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/viewer/validate.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/viewer/viewer.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/viewer/viewer_traitlets.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/widget/__init__.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/perspective/widget/widget.py +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/src/client/mod.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/src/server/mod.rs +0 -0
- {perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/src/server/server_sync.rs +0 -0
|
@@ -1783,7 +1783,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
|
|
|
1783
1783
|
|
|
1784
1784
|
[[package]]
|
|
1785
1785
|
name = "perspective"
|
|
1786
|
-
version = "3.0.0-rc.
|
|
1786
|
+
version = "3.0.0-rc.6"
|
|
1787
1787
|
dependencies = [
|
|
1788
1788
|
"async-lock",
|
|
1789
1789
|
"axum",
|
|
@@ -1823,7 +1823,7 @@ dependencies = [
|
|
|
1823
1823
|
|
|
1824
1824
|
[[package]]
|
|
1825
1825
|
name = "perspective-client"
|
|
1826
|
-
version = "3.0.0-rc.
|
|
1826
|
+
version = "3.0.0-rc.6"
|
|
1827
1827
|
dependencies = [
|
|
1828
1828
|
"async-lock",
|
|
1829
1829
|
"futures",
|
|
@@ -1845,7 +1845,7 @@ dependencies = [
|
|
|
1845
1845
|
|
|
1846
1846
|
[[package]]
|
|
1847
1847
|
name = "perspective-js"
|
|
1848
|
-
version = "3.0.0-rc.
|
|
1848
|
+
version = "3.0.0-rc.6"
|
|
1849
1849
|
dependencies = [
|
|
1850
1850
|
"anyhow",
|
|
1851
1851
|
"base64 0.13.1",
|
|
@@ -1874,7 +1874,7 @@ dependencies = [
|
|
|
1874
1874
|
|
|
1875
1875
|
[[package]]
|
|
1876
1876
|
name = "perspective-lint"
|
|
1877
|
-
version = "3.0.0-rc.
|
|
1877
|
+
version = "3.0.0-rc.6"
|
|
1878
1878
|
dependencies = [
|
|
1879
1879
|
"glob",
|
|
1880
1880
|
"yew-fmt",
|
|
@@ -1882,7 +1882,7 @@ dependencies = [
|
|
|
1882
1882
|
|
|
1883
1883
|
[[package]]
|
|
1884
1884
|
name = "perspective-python"
|
|
1885
|
-
version = "3.0.0-rc.
|
|
1885
|
+
version = "3.0.0-rc.6"
|
|
1886
1886
|
dependencies = [
|
|
1887
1887
|
"async-lock",
|
|
1888
1888
|
"cmake",
|
|
@@ -1902,7 +1902,7 @@ dependencies = [
|
|
|
1902
1902
|
|
|
1903
1903
|
[[package]]
|
|
1904
1904
|
name = "perspective-server"
|
|
1905
|
-
version = "3.0.0-rc.
|
|
1905
|
+
version = "3.0.0-rc.6"
|
|
1906
1906
|
dependencies = [
|
|
1907
1907
|
"async-lock",
|
|
1908
1908
|
"cmake",
|
|
@@ -1916,7 +1916,7 @@ dependencies = [
|
|
|
1916
1916
|
|
|
1917
1917
|
[[package]]
|
|
1918
1918
|
name = "perspective-viewer"
|
|
1919
|
-
version = "3.0.0-rc.
|
|
1919
|
+
version = "3.0.0-rc.6"
|
|
1920
1920
|
dependencies = [
|
|
1921
1921
|
"anyhow",
|
|
1922
1922
|
"async-lock",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: perspective-python
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0rc6
|
|
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.
|
|
@@ -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.
|
|
13
|
+
__version__ = "3.0.0-rc.6"
|
|
14
14
|
__all__ = [
|
|
15
15
|
"_jupyter_labextension_paths",
|
|
16
16
|
"PerspectiveError",
|
|
@@ -20,14 +20,16 @@ __all__ = [
|
|
|
20
20
|
"ProxySession",
|
|
21
21
|
"Table",
|
|
22
22
|
"View",
|
|
23
|
+
"Server",
|
|
24
|
+
"Client",
|
|
23
25
|
]
|
|
24
26
|
|
|
25
27
|
from .perspective import (
|
|
26
|
-
PySyncClient,
|
|
28
|
+
Client as PySyncClient,
|
|
27
29
|
PerspectiveError,
|
|
28
30
|
Table,
|
|
29
31
|
View,
|
|
30
|
-
|
|
32
|
+
ProxySession,
|
|
31
33
|
)
|
|
32
34
|
|
|
33
35
|
from .widget import PerspectiveWidget
|
|
@@ -25,7 +25,7 @@ classifiers = [
|
|
|
25
25
|
|
|
26
26
|
[tool.maturin]
|
|
27
27
|
module-name = "perspective"
|
|
28
|
-
data = "perspective_python-3.0.
|
|
28
|
+
data = "perspective_python-3.0.0rc6.data"
|
|
29
29
|
features = ["pyo3/extension-module"]
|
|
30
30
|
include = [
|
|
31
31
|
{ path = "perspective/*libpsp.so", format = "wheel" },
|
{perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/Cargo.toml
RENAMED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
[package]
|
|
14
14
|
name = "perspective-client"
|
|
15
|
-
version = "3.0.0-rc.
|
|
15
|
+
version = "3.0.0-rc.6"
|
|
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."
|
{perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-client/build.rs
RENAMED
|
@@ -18,7 +18,7 @@ fn prost_build() -> Result<()> {
|
|
|
18
18
|
// `perspective-python`.
|
|
19
19
|
println!(
|
|
20
20
|
"cargo::metadata=DOCS_PATH={}/docs/",
|
|
21
|
-
env
|
|
21
|
+
std::env::var("CARGO_MANIFEST_DIR").unwrap()
|
|
22
22
|
);
|
|
23
23
|
|
|
24
24
|
// This source file is included at `publish` time, but not `sbuild` time
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Replace all rows in this [`Table`] with the input data, coerced to this
|
|
2
|
+
[`Table`]'s existing [`Schema`], notifying any derived [`View`] and
|
|
3
|
+
[`View::on_update`] callbacks.
|
|
4
|
+
|
|
5
|
+
Calling [`Table::replace`] is an easy way to replace _all_ the data in a
|
|
6
|
+
[`Table`] without losing any derived [`View`] instances or [`View::on_update`]
|
|
7
|
+
callbacks. [`Table::replace`] does _not_ infer data types like [`Client::table`]
|
|
8
|
+
does, rather it _coerces_ input data to the `Schema` like [`Table::update`]. If
|
|
9
|
+
you need a [`Table`] with a different `Schema`, you must create a new one.
|
|
10
|
+
|
|
11
|
+
<div class="javascript">
|
|
12
|
+
|
|
13
|
+
# JavaScript Examples
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
await table.replace("x,y\n1,2");
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
<div class="python">
|
|
21
|
+
|
|
22
|
+
# Python Examples
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
table.replace("x,y\n1,2")
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
<div class="rust">
|
|
30
|
+
|
|
31
|
+
# Examples
|
|
32
|
+
|
|
33
|
+
```rust
|
|
34
|
+
let data = UpdateData::Csv("x,y\n1,2".into());
|
|
35
|
+
let opts = UpdateOptions::default();
|
|
36
|
+
table.replace(data, opts).await?;
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
</div>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Updates the rows of this table and any derived [`View`] instances.
|
|
2
|
+
|
|
3
|
+
Calling [`Table::update`] will trigger the [`View::on_update`] callbacks
|
|
4
|
+
register to derived [`View`], and the call itself will not resolve until _all_
|
|
5
|
+
derived [`View`]'s are notified.
|
|
6
|
+
|
|
7
|
+
When updating a [`Table`] with an `index`, [`Table::update`] supports partial
|
|
8
|
+
updates, by omitting columns from the update data.
|
|
9
|
+
|
|
10
|
+
# Arguments
|
|
11
|
+
|
|
12
|
+
- `input` - The input data for this [`Table`]. The schema of a [`Table`] is
|
|
13
|
+
immutable after creation, so this method cannot be called with a schema.
|
|
14
|
+
- `options` - Options for this update step - see [`UpdateOptions`].
|
|
15
|
+
|
|
16
|
+
<div class="javascript">
|
|
17
|
+
|
|
18
|
+
# JavaScript Examples
|
|
19
|
+
|
|
20
|
+
```javascript
|
|
21
|
+
await table.update("x,y\n1,2");
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
</div>
|
|
25
|
+
<div class="python">
|
|
26
|
+
|
|
27
|
+
# Python Examples
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
table.update("x,y\n1,2")
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
</div>
|
|
34
|
+
<div class="rust">
|
|
35
|
+
|
|
36
|
+
# Examples
|
|
37
|
+
|
|
38
|
+
```rust
|
|
39
|
+
let data = UpdateData::Csv("x,y\n1,2".into());
|
|
40
|
+
let opts = UpdateOptions::default();
|
|
41
|
+
table.update(data, opts).await?;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
</div>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Create a new [`View`] from this table with a specified [`ViewConfigUpdate`].
|
|
2
|
+
|
|
3
|
+
See [`View`] struct.
|
|
4
|
+
|
|
5
|
+
<div class="javascript">
|
|
6
|
+
|
|
7
|
+
# JavaScript Examples
|
|
8
|
+
|
|
9
|
+
```javascript
|
|
10
|
+
const view = await table.view({
|
|
11
|
+
columns: ["Sales"],
|
|
12
|
+
aggregates: { Sales: "sum" },
|
|
13
|
+
group_by: ["Region", "Country"],
|
|
14
|
+
filter: [["Category", "in", ["Furniture", "Technology"]]],
|
|
15
|
+
});
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
<div class="python">
|
|
20
|
+
|
|
21
|
+
# Python Examples
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
view = table.view(
|
|
25
|
+
columns=["Sales"],
|
|
26
|
+
aggregates={"Sales": "sum"},
|
|
27
|
+
group_by=["Region", "Country"],
|
|
28
|
+
filter=[["Category", "in", ["Furniture", "Technology"]]]
|
|
29
|
+
)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
</div>
|
|
33
|
+
<div class="rust">
|
|
34
|
+
|
|
35
|
+
# Examples
|
|
36
|
+
|
|
37
|
+
```rust
|
|
38
|
+
use crate::config::*;
|
|
39
|
+
let view = table
|
|
40
|
+
.view(Some(ViewConfigUpdate {
|
|
41
|
+
columns: Some(vec![Some("Sales".into())]),
|
|
42
|
+
aggregates: Some(HashMap::from_iter(vec![("Sales".into(), "sum".into())])),
|
|
43
|
+
group_by: Some(vec!["Region".into(), "Country".into()]),
|
|
44
|
+
filter: Some(vec![Filter::new("Category", "in", &[
|
|
45
|
+
"Furniture",
|
|
46
|
+
"Technology",
|
|
47
|
+
])]),
|
|
48
|
+
..ViewConfigUpdate::default()
|
|
49
|
+
}))
|
|
50
|
+
.await?;
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
</div>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
Unregister a previously registered update callback with this [`View`].
|
|
2
|
+
|
|
3
|
+
# Arguments
|
|
4
|
+
|
|
5
|
+
- `id` - A callback `id` as returned by a recipricol call to
|
|
6
|
+
[`View::on_update`].
|
|
7
|
+
|
|
8
|
+
<div class="javascript">
|
|
9
|
+
|
|
10
|
+
# JavaScript Examples
|
|
11
|
+
|
|
12
|
+
```javascript
|
|
13
|
+
const callback = () => console.log("Updated!");
|
|
14
|
+
const id = await view.on_update(callback);
|
|
15
|
+
await view.remove_update(id);
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
<div class="python">
|
|
20
|
+
|
|
21
|
+
# Python Examples
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
callback = lambda x: print(x)
|
|
25
|
+
cid = await view.on_update(callback)
|
|
26
|
+
await view.remove_update(cid)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
</div>
|
|
30
|
+
<div class="rust">
|
|
31
|
+
|
|
32
|
+
# Examples
|
|
33
|
+
|
|
34
|
+
```rust
|
|
35
|
+
let callback = |_| async { print!("Updated!") };
|
|
36
|
+
let cid = view.on_update(callback, OnUpdateOptions::default()).await?;
|
|
37
|
+
view.remove_update(cid).await?;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
</div>
|
|
@@ -102,7 +102,6 @@ impl From<TableInitOptions> for TableOptions {
|
|
|
102
102
|
|
|
103
103
|
#[derive(Clone, Debug, Default, Deserialize, Serialize, TS)]
|
|
104
104
|
pub struct UpdateOptions {
|
|
105
|
-
pub format: Option<String>,
|
|
106
105
|
pub port_id: Option<u32>,
|
|
107
106
|
}
|
|
108
107
|
|
|
@@ -119,6 +118,7 @@ pub struct Table {
|
|
|
119
118
|
name: String,
|
|
120
119
|
client: Client,
|
|
121
120
|
options: TableOptions,
|
|
121
|
+
|
|
122
122
|
/// If this table is constructed from a View, the view's on_update callback
|
|
123
123
|
/// is wired into this table. So, we store the token to clean it up properly
|
|
124
124
|
/// on destruction.
|
{perspective_python-3.0.0rc3 → perspective_python-3.0.0rc6}/rust/perspective-python/Cargo.toml
RENAMED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
[package]
|
|
14
14
|
name = "perspective-python"
|
|
15
|
-
version = "3.0.0-rc.
|
|
15
|
+
version = "3.0.0-rc.6"
|
|
16
16
|
edition = "2021"
|
|
17
17
|
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
|
|
18
18
|
repository = "https://github.com/finos/perspective"
|
|
@@ -54,8 +54,8 @@ python-config-rs = "0.1.2"
|
|
|
54
54
|
|
|
55
55
|
[dependencies]
|
|
56
56
|
async-lock = "2.5.0"
|
|
57
|
-
perspective-client = { version = "3.0.0-rc.
|
|
58
|
-
# perspective-server = { version = "3.0.0-rc.
|
|
57
|
+
perspective-client = { version = "3.0.0-rc.6", path = "../perspective-client" }
|
|
58
|
+
# perspective-server = { version = "3.0.0-rc.6", path = "../perspective-server" }
|
|
59
59
|
pollster = "0.3.0"
|
|
60
60
|
extend = "1.1.2"
|
|
61
61
|
futures = "0.3.28"
|
|
@@ -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.
|
|
13
|
+
__version__ = "3.0.0-rc.6"
|
|
14
14
|
__all__ = [
|
|
15
15
|
"_jupyter_labextension_paths",
|
|
16
16
|
"PerspectiveError",
|
|
@@ -20,14 +20,16 @@ __all__ = [
|
|
|
20
20
|
"ProxySession",
|
|
21
21
|
"Table",
|
|
22
22
|
"View",
|
|
23
|
+
"Server",
|
|
24
|
+
"Client",
|
|
23
25
|
]
|
|
24
26
|
|
|
25
27
|
from .perspective import (
|
|
26
|
-
PySyncClient,
|
|
28
|
+
Client as PySyncClient,
|
|
27
29
|
PerspectiveError,
|
|
28
30
|
Table,
|
|
29
31
|
View,
|
|
30
|
-
|
|
32
|
+
ProxySession,
|
|
31
33
|
)
|
|
32
34
|
|
|
33
35
|
from .widget import PerspectiveWidget
|