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.
- {perspective_python-3.1.3 → perspective_python-3.1.4}/Cargo.toml +3 -3
- {perspective_python-3.1.3 → perspective_python-3.1.4}/PKG-INFO +1 -1
- {perspective_python-3.1.3 → perspective_python-3.1.4}/package.json +1 -1
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/__init__.py +5 -1
- perspective_python-3.1.4/perspective/tests/multi_threaded/test_multi_threaded.py +41 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_exception.py +12 -0
- perspective_python-3.1.4/perspective/tests/widget/__init__.py +11 -0
- {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
- perspective_python-3.1.4/perspective_python-3.1.4.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.88b05fb655c916604764.js +18 -0
- 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
- {perspective_python-3.1.3 → perspective_python-3.1.4}/pyproject.toml +1 -1
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/client_sync.rs +110 -77
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/server/server_sync.rs +2 -1
- perspective_python-3.1.3/perspective_python-3.1.3.data/data/share/jupyter/labextensions/@finos/perspective-jupyterlab/static/253.0ce9cb0d4f76016e411c.js +0 -18
- {perspective_python-3.1.3 → perspective_python-3.1.4}/README.md +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/bench.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/perspective_benchmark.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/runtime/run_perspective_benchmark.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/async_server.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/bench.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/distributed_mode.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/server/new_api.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/server/old_api.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/bench/tornado/server_mode.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/build.rs +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/docs/index.html +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/docs/lib.md +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/extension/finos-perspective-nbextension.json +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/aiohttp.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/starlette.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/handlers/tornado.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/templates/exported_widget.html.template +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/conftest.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/core/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/core/test_async.py +0 -0
- {perspective_python-3.1.3/perspective/tests/server → perspective_python-3.1.4/perspective/tests/multi_threaded}/__init__.py +0 -0
- {perspective_python-3.1.3/perspective/tests/table → perspective_python-3.1.4/perspective/tests/server}/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/server/test_server.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/server/test_session.py +0 -0
- {perspective_python-3.1.3/perspective/tests/viewer → perspective_python-3.1.4/perspective/tests/table}/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/date32.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/date64.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/dict.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/dict_update.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str_file.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/arrow/int_float_str_update.arrow +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/object_sequence.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_delete.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_leaks.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_ports.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_remove.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_arrow.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_datetime.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_infer.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_limit.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_numpy.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_table_pandas.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_to_arrow.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_to_arrow_lz4.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_to_format.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_update.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_update_arrow.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_update_pandas.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_view.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_view_expression.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/test_dependencies.py +0 -0
- {perspective_python-3.1.3/perspective/tests/widget → perspective_python-3.1.4/perspective/tests/viewer}/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/viewer/test_validate.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/viewer/test_viewer.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/widget/test_widget.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/widget/test_widget_pandas.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/__init__.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/validate.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/viewer.py +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/widget/viewer/viewer_traitlets.py +0 -0
- {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
- /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
- {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
- {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
- {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
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/mod.rs +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/pandas.rs +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/pyarrow.rs +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/client/python.rs +0 -0
- {perspective_python-3.1.3 → perspective_python-3.1.4}/src/lib.rs +0 -0
- {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.
|
|
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.
|
|
63
|
-
perspective-server = { version = "3.1.
|
|
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"
|
|
@@ -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.
|
|
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()
|
{perspective_python-3.1.3 → perspective_python-3.1.4}/perspective/tests/table/test_exception.py
RENAMED
|
@@ -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
|
+
"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.
|
|
76
|
+
"load": "static/remoteEntry.c7cf6058d0553da62b3f.js",
|
|
77
77
|
"extension": "./extension",
|
|
78
78
|
"style": "./style"
|
|
79
79
|
}
|