perspective-python 3.1.3__tar.gz → 3.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. {perspective_python-3.1.3 → perspective_python-3.1.4}/Cargo.toml +3 -3
  2. {perspective_python-3.1.3 → perspective_python-3.1.4}/PKG-INFO +1 -1
  3. {perspective_python-3.1.3 → perspective_python-3.1.4}/package.json +1 -1
  4. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/__init__.py +5 -1
  5. perspective_python-3.1.4/perspective/tests/multi_threaded/test_multi_threaded.py +41 -0
  6. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_exception.py +12 -0
  7. perspective_python-3.1.4/perspective/tests/widget/__init__.py +11 -0
  8. {perspective_python-3.1.3/perspective_python-3.1.3.data → perspective_python-3.1.4/perspective_python-3.1.4.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/package.json +2 -2
  9. perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.88b05fb655c916604764.js +18 -0
  10. perspective_python-3.1.3/perspective_python-3.1.3.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.8a5815226eeaa9e24509.js → perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/remoteEntry.c7cf6058d0553da62b3f.js +1 -1
  11. {perspective_python-3.1.3 → perspective_python-3.1.4}/pyproject.toml +1 -1
  12. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/client_sync.rs +110 -77
  13. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/server/server_sync.rs +2 -1
  14. perspective_python-3.1.3/perspective_python-3.1.3.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.0ce9cb0d4f76016e411c.js +0 -18
  15. {perspective_python-3.1.3 → perspective_python-3.1.4}/README.md +0 -0
  16. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/__init__.py +0 -0
  17. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/__init__.py +0 -0
  18. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/bench.py +0 -0
  19. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/perspective_benchmark.py +0 -0
  20. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/run_perspective_benchmark.py +0 -0
  21. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/__init__.py +0 -0
  22. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/async_server.py +0 -0
  23. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/bench.py +0 -0
  24. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/distributed_mode.py +0 -0
  25. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/server/new_api.py +0 -0
  26. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/server/old_api.py +0 -0
  27. {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/server_mode.py +0 -0
  28. {perspective_python-3.1.3 → perspective_python-3.1.4}/build.rs +0 -0
  29. {perspective_python-3.1.3 → perspective_python-3.1.4}/docs/index.html +0 -0
  30. {perspective_python-3.1.3 → perspective_python-3.1.4}/docs/lib.md +0 -0
  31. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/extension/finos-perspective-nbextension.json +0 -0
  32. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/__init__.py +0 -0
  33. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/aiohttp.py +0 -0
  34. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/starlette.py +0 -0
  35. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/tornado.py +0 -0
  36. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/templates/exported_widget.html.template +0 -0
  37. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/__init__.py +0 -0
  38. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/conftest.py +0 -0
  39. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/core/__init__.py +0 -0
  40. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/core/test_async.py +0 -0
  41. {perspective_python-3.1.3/perspective/tests/server → perspective_python-3.1.4/perspective/tests/multi_threaded}/__init__.py +0 -0
  42. {perspective_python-3.1.3/perspective/tests/table → perspective_python-3.1.4/perspective/tests/server}/__init__.py +0 -0
  43. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/server/test_server.py +0 -0
  44. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/server/test_session.py +0 -0
  45. {perspective_python-3.1.3/perspective/tests/viewer → perspective_python-3.1.4/perspective/tests/table}/__init__.py +0 -0
  46. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/date32.arrow +0 -0
  47. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/date64.arrow +0 -0
  48. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/dict.arrow +0 -0
  49. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/dict_update.arrow +0 -0
  50. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
  51. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
  52. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
  53. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/object_sequence.py +0 -0
  54. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_delete.py +0 -0
  55. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_leaks.py +0 -0
  56. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_ports.py +0 -0
  57. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_remove.py +0 -0
  58. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table.py +0 -0
  59. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_arrow.py +0 -0
  60. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_datetime.py +0 -0
  61. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_infer.py +0 -0
  62. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_limit.py +0 -0
  63. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_numpy.py +0 -0
  64. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_pandas.py +0 -0
  65. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_to_arrow.py +0 -0
  66. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_to_arrow_lz4.py +0 -0
  67. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_to_format.py +0 -0
  68. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_update.py +0 -0
  69. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_update_arrow.py +0 -0
  70. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_update_pandas.py +0 -0
  71. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_view.py +0 -0
  72. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_view_expression.py +0 -0
  73. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/test_dependencies.py +0 -0
  74. {perspective_python-3.1.3/perspective/tests/widget → perspective_python-3.1.4/perspective/tests/viewer}/__init__.py +0 -0
  75. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/viewer/test_validate.py +0 -0
  76. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/viewer/test_viewer.py +0 -0
  77. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/widget/test_widget.py +0 -0
  78. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/widget/test_widget_pandas.py +0 -0
  79. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/__init__.py +0 -0
  80. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/__init__.py +0 -0
  81. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/validate.py +0 -0
  82. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/viewer.py +0 -0
  83. {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/viewer_traitlets.py +0 -0
  84. {perspective_python-3.1.3/perspective_python-3.1.3.data → perspective_python-3.1.4/perspective_python-3.1.4.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/install.json +0 -0
  85. /perspective_python-3.1.3/perspective_python-3.1.3.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.0ce9cb0d4f76016e411c.js.LICENSE.txt → /perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.88b05fb655c916604764.js.LICENSE.txt +0 -0
  86. {perspective_python-3.1.3/perspective_python-3.1.3.data → perspective_python-3.1.4/perspective_python-3.1.4.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/295.b558c522e11647489867.js +0 -0
  87. {perspective_python-3.1.3/perspective_python-3.1.3.data → perspective_python-3.1.4/perspective_python-3.1.4.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/style.js +0 -0
  88. {perspective_python-3.1.3/perspective_python-3.1.3.data → perspective_python-3.1.4/perspective_python-3.1.4.data}/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/third-party-licenses.json +0 -0
  89. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/mod.rs +0 -0
  90. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/pandas.rs +0 -0
  91. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/pyarrow.rs +0 -0
  92. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/python.rs +0 -0
  93. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/lib.rs +0 -0
  94. {perspective_python-3.1.3 → perspective_python-3.1.4}/src/server/mod.rs +0 -0
@@ -12,7 +12,7 @@
12
12
 
13
13
  [package]
14
14
  name = "perspective-python"
15
- version = "3.1.3"
15
+ version = "3.1.4"
16
16
  edition = "2021"
17
17
  description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
18
18
  repository = "https://github.com/finos/perspective"
@@ -59,8 +59,8 @@ python-config-rs = "0.1.2"
59
59
  # NOTE: when building from the git repo, these perspective-* dependencies are
60
60
  # overridden with path dependencies in .cargo/config.toml. This is done to
61
61
  # support the sdist, which doesn't include these packages.
62
- perspective-client = { version = "3.1.3" }
63
- perspective-server = { version = "3.1.3" }
62
+ perspective-client = { version = "3.1.4" }
63
+ perspective-server = { version = "3.1.4" }
64
64
  async-lock = "2.5.0"
65
65
  pollster = "0.3.0"
66
66
  extend = "1.1.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: perspective-python
3
- Version: 3.1.3
3
+ Version: 3.1.4
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/perspective-python",
3
- "version": "3.1.3",
3
+ "version": "3.1.4",
4
4
  "description": "",
5
5
  "private": true,
6
6
  "repository": {
@@ -10,7 +10,7 @@
10
10
  # ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- __version__ = "3.1.3"
13
+ __version__ = "3.1.4"
14
14
  __all__ = [
15
15
  "_jupyter_labextension_paths",
16
16
  "Server",
@@ -27,6 +27,10 @@ from .perspective import (
27
27
  PerspectiveError,
28
28
  ProxySession,
29
29
  PySyncServer as Server,
30
+ # NOTE: these are classes without constructors,
31
+ # so we import them just for type hinting
32
+ Table, # noqa: F401
33
+ View, # noqa: F401
30
34
  )
31
35
 
32
36
 
@@ -0,0 +1,41 @@
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
+ from perspective import Server
14
+
15
+ import asyncio
16
+ import random
17
+ import threading
18
+
19
+
20
+ class TestServer(object):
21
+ def test_concurrent_updates(self):
22
+ def feed(table):
23
+ y = 1000
24
+ while y > 0:
25
+ y -= 1
26
+ table.update([{"a": random.randint(0, 10), "index": 1}])
27
+
28
+ perspective_server = Server()
29
+ loop = asyncio.get_event_loop()
30
+ client = perspective_server.new_local_client(
31
+ loop_callback=loop.call_soon_threadsafe
32
+ )
33
+
34
+ table = client.table(
35
+ {"a": "integer", "index": "integer"}, index="index", name="test"
36
+ )
37
+
38
+ thread = threading.Thread(target=feed, args=(table,), daemon=True)
39
+ thread.start()
40
+ feed(table)
41
+ thread.join()
@@ -20,6 +20,18 @@ Table = client.table
20
20
 
21
21
 
22
22
  class TestException(object):
23
+ def test_instantiation_exception_table(self):
24
+ from perspective import Table
25
+ with raises(TypeError) as ex:
26
+ Table()
27
+ assert "Do not call Table's constructor directly" in str(ex.value)
28
+
29
+ def test_instantiation_exception_view(self):
30
+ from perspective import View
31
+ with raises(TypeError) as ex:
32
+ View()
33
+ assert "Do not call View's constructor directly" in str(ex.value)
34
+
23
35
  def test_exception_from_core(self):
24
36
  tbl = Table({"a": [1, 2, 3]})
25
37
 
@@ -0,0 +1,11 @@
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
+ # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/perspective-jupyterlab",
3
- "version": "3.1.3",
3
+ "version": "3.1.4",
4
4
  "description": "A Jupyterlab extension for the Perspective library, designed to be used with perspective-python.",
5
5
  "files": [
6
6
  "dist/**/*",
@@ -73,7 +73,7 @@
73
73
  }
74
74
  },
75
75
  "_build": {
76
- "load": "static/remoteEntry.8a5815226eeaa9e24509.js",
76
+ "load": "static/remoteEntry.c7cf6058d0553da62b3f.js",
77
77
  "extension": "./extension",
78
78
  "style": "./style"
79
79
  }