Skip to content

Commit f67c111

Browse files
committed
Update docs
Signed-off-by: Andrew Stein <[email protected]>
1 parent 7c134b3 commit f67c111

File tree

170 files changed

+7907
-3894
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+7907
-3894
lines changed

.cargo/config.toml

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ rustflags = ["-C", "target-feature=+crt-static", "--cfg=web_sys_unstable_apis"]
1818
[target.x86_64-pc-windows-msvc]
1919
rustflags = ["-C", "target-feature=+crt-static", "--cfg=web_sys_unstable_apis"]
2020

21-
2221
[future-incompat-report]
2322
frequency = 'never'
2423

.github/workflows/build.yaml

-8
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,6 @@ jobs:
168168
packages/perspective-viewer-d3fc/dist
169169
packages/perspective-viewer-datagrid/dist
170170
packages/perspective-viewer-openlayers/dist
171-
packages/perspective-esbuild-plugin/dist
172-
packages/perspective-webpack-plugin/dist
173171
packages/perspective-cli/dist
174172
packages/perspective-workspace/dist
175173
@@ -947,12 +945,6 @@ jobs:
947945
- run: pnpm pack --pack-destination=../..
948946
working-directory: ./packages/perspective-cli
949947

950-
- run: pnpm pack --pack-destination=../..
951-
working-directory: ./packages/perspective-webpack-plugin
952-
953-
- run: pnpm pack --pack-destination=../..
954-
working-directory: ./packages/perspective-esbuild-plugin
955-
956948
- run: pnpm pack --pack-destination=../..
957949
working-directory: ./packages/perspective-jupyterlab
958950

Cargo.lock

+18-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+6
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,9 @@ strip = true
4848

4949
[patch.crates-io]
5050
simd-adler32 = { git = "https://github.com/mcountryman/simd-adler32.git", rev = "140cde033e8b9a12d4de840648c65ccd5320bcc5" }
51+
perspective-client = { path = "rust/perspective-client" }
52+
perspective-server = { path = "rust/perspective-server" }
53+
perspective-js = { path = "rust/perspective-js" }
54+
perspective = { path = "rust/perspective" }
55+
perspective-viewer = { path = "rust/perspective-viewer" }
56+
perspective-python = { path = "rust/perspective-python" }

README.md

+14-26
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
<br />
2-
<a href="https://github.com/finos/perspective/blob/master/docs/static/svg/perspective-logo-light.svg?raw=true#gh-light-mode-only"><img src="https://github.com/finos/perspective/raw/master/docs/static/svg/perspective-logo-light.svg?raw=true#gh-light-mode-only" alt="Perspective" width="260"></a>
3-
<a href="https://github.com/finos/perspective/blob/master/docs/static/svg/perspective-logo-dark.svg?raw=true#gh-dark-mode-only"><img src="https://github.com/finos/perspective/raw/master/docs/static/svg/perspective-logo-dark.svg?raw=true#gh-dark-mode-only" alt="Perspective" width="260"></a>
2+
<a href="https://perspective.finos.org">
3+
<picture>
4+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/finos/perspective/raw/master/docs/static/svg/perspective-logo-dark.svg?raw=true">
5+
<img width="260" src="https://github.com/finos/perspective/raw/master/docs/static/svg/perspective-logo-light.svg?raw=true">
6+
</picture>
7+
</a>
48
<br/><br/>
59

610
[![Build Status](https://img.shields.io/github/actions/workflow/status/finos/perspective/build.yaml?event=push&style=for-the-badge)](https://github.com/finos/perspective/actions/workflows/build.yaml)
@@ -13,8 +17,7 @@
1317
Perspective is an <i>interactive</i> analytics and data visualization component,
1418
which is especially well-suited for <i>large</i> and/or <i>streaming</i>
1519
datasets. Use it to create user-configurable reports, dashboards, notebooks and
16-
applications, then deploy stand-alone in the browser, or in concert with Python
17-
and/or [Jupyterlab](https://jupyterlab.readthedocs.io/en/stable/).
20+
applications.
1821

1922
### Features
2023

@@ -28,35 +31,20 @@ and/or [Jupyterlab](https://jupyterlab.readthedocs.io/en/stable/).
2831
- A framework-agnostic User Interface packaged as a
2932
[Custom Element](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements),
3033
powered either in-browser via WebAssembly or virtually via WebSocket server
31-
(Python/Node).
34+
(Python/Node/Rust).
3235

3336
- A [JupyterLab](https://jupyter.org/) widget and Python client library, for
3437
interactive data analysis in a notebook, as well as _scalable_ production
35-
[Voila](https://github.com/voila-dashboards/voila) applications.
38+
applications.
3639

3740
### Documentation
3841

3942
- [Project Site](https://perspective.finos.org/)
40-
- JavaScript (NPM)
41-
- [`@finos/perspective-viewer`, JavaScript UI API](https://docs.rs/perspective-viewer/latest/perspective_viewer/)
42-
- [`@finos/perspective`, JavaScript Client/Server API](https://docs.rs/perspective-js/latest/perspective_js/)
43-
- [`Table` API](https://docs.rs/perspective-js/latest/perspective_js/struct.Table.html)
44-
- [`View` API](https://docs.rs/perspective-js/latest/perspective_js/struct.View.html)
45-
- [Installation Guide](https://docs.rs/perspective-js/latest/perspective_js/#installation)
46-
- Python (PyPI)
47-
- [`perspective-python`, Python Client/Server API](https://docs.rs/perspective-python/latest/perspective_python/)
48-
- [`PerspectiveWidget` Jupyter Plugin](https://docs.rs/perspective-python/latest/perspective_python/#perspectivewidget)
49-
- [`Table` API](https://docs.rs/perspective-python/latest/perspective_python/struct.Table.html)
50-
- [`View` API](https://docs.rs/perspective-python/latest/perspective_python/struct.View.html)
51-
- Rust (Crates.io)
52-
- [`perspective`, Rust API](https://docs.rs/perspective-rs/latest/perspective_rs/)
53-
- [`perspective-client`, Rust Client API](https://docs.rs/perspective-client/latest/perspective_client/)
54-
- [`perspective-server`, Rust Server API](https://docs.rs/perspective-server/latest/perspective_server/)
55-
- [`Table` API](https://docs.rs/perspective-client/latest/perspective_client/struct.Table.html)
56-
- [`View` API](https://docs.rs/perspective-client/latest/perspective_client/struct.View.html)
57-
- Appendix
58-
- [Data Binding](https://docs.rs/perspective-server/latest/perspective_server/)
59-
- [Expression Columns](https://docs.rs/perspective-client/latest/perspective_client/config/expressions/)
43+
- [User Guide](https://perspective.finos.org/guide/)
44+
- [`@finos/perspective`, JavaScript Client API](https://docs.rs/perspective-js/latest/perspective_js/)
45+
- [`@finos/perspective-viewer`, JavaScript UI API](https://docs.rs/perspective-viewer/latest/perspective_viewer/)
46+
- [`perspective-python`, Python API](https://docs.rs/perspective-python/latest/perspective_python/)
47+
- [`perspective`, Rust API](https://docs.rs/perspective-rs/latest/perspective_rs/)
6048

6149
### Examples
6250

cpp/perspective/CMakeLists.txt

+2-3
Original file line numberDiff line numberDiff line change
@@ -231,9 +231,9 @@ if(PSP_WASM_BUILD)
231231
")
232232
endif()
233233
else()
234-
set(OPT_FLAGS " -O3 -g0 -flto --emit-tsd=perspective-server.d.ts ")
234+
set(OPT_FLAGS " -O3 -g0 ")
235235
if (PSP_WASM_EXCEPTIONS)
236-
set(OPT_FLAGS "${OPT_FLAGS} -fwasm-exceptions ")
236+
set(OPT_FLAGS "${OPT_FLAGS} -fwasm-exceptions -flto --emit-tsd=perspective-server.d.ts ")
237237
endif()
238238
endif()
239239
elseif(PSP_CPP_BUILD OR PSP_PYTHON_BUILD)
@@ -523,7 +523,6 @@ else()
523523
-s DYNAMIC_EXECUTION=0 \
524524
-s POLYFILL=0 \
525525
-s EXPORT_NAME=\"load_perspective\" \
526-
-s MAXIMUM_MEMORY=16gb \
527526
-s ERROR_ON_UNDEFINED_SYMBOLS=0 \
528527
-s NODEJS_CATCH_EXIT=0 \
529528
-s NODEJS_CATCH_REJECTION=0 \

cpp/perspective/src/cpp/table.cpp

+13-13
Original file line numberDiff line numberDiff line change
@@ -905,7 +905,7 @@ Table::update_cols(const std::string_view& data, std::uint32_t port_id) {
905905
}
906906

907907
t_uindex nrows = 0;
908-
for (const auto& it : document.GetObject()) {
908+
for (const auto& it : document.GetObj()) {
909909
if (!it.value.IsArray()) {
910910
PSP_COMPLAIN_AND_ABORT("Malformed column")
911911
}
@@ -940,14 +940,14 @@ Table::update_cols(const std::string_view& data, std::uint32_t port_id) {
940940

941941
auto schema = data_table.get_schema();
942942

943-
if (is_implicit && !document.GetObject().HasMember("__INDEX__")) {
943+
if (is_implicit && !document.GetObj().HasMember("__INDEX__")) {
944944
for (std::uint32_t ii = 0; ii < nrows; ii++) {
945945
psp_pkey_col->set_nth<std::uint32_t>(ii, (m_offset + ii) % m_limit);
946946
}
947947
}
948948

949949
// 3.) Fill table
950-
for (const auto& column : document.GetObject()) {
950+
for (const auto& column : document.GetObj()) {
951951
t_uindex ii = 0;
952952
std::string_view col_name = column.name.GetString();
953953
if (std::string_view{column.name.GetString()} == "__INDEX__") {
@@ -1001,7 +1001,7 @@ Table::from_cols(
10011001
t_uindex nrows = 0;
10021002

10031003
// https://github.com/Tencent/rapidjson/issues/1994
1004-
for (const auto& it : document.GetObject()) {
1004+
for (const auto& it : document.GetObj()) {
10051005
if (!it.value.IsArray()) {
10061006
PSP_COMPLAIN_AND_ABORT("Malformed column")
10071007
}
@@ -1052,7 +1052,7 @@ Table::from_cols(
10521052
const auto& psp_okey_col = data_table.get_column("psp_okey");
10531053

10541054
// 3.) Fill table
1055-
for (const auto& col : document.GetObject()) {
1055+
for (const auto& col : document.GetObj()) {
10561056
t_uindex ii = 0;
10571057
const auto& col_name = col.name.GetString();
10581058
LOG_DEBUG(
@@ -1153,7 +1153,7 @@ Table::update_rows(const std::string_view& data, std::uint32_t port_id) {
11531153
}
11541154

11551155
// col_count = m_column_names.size();
1156-
for (const auto& it : row.GetObject()) {
1156+
for (const auto& it : row.GetObj()) {
11571157
std::shared_ptr<t_column> col;
11581158
std::string_view col_name = it.name.GetString();
11591159
if (std::string_view{it.name.GetString()} == "__INDEX__") {
@@ -1246,12 +1246,12 @@ Table::from_rows(
12461246

12471247
[&]() {
12481248
for (const auto& row : document.GetArray()) {
1249-
for (const auto& col : row.GetObject()) {
1249+
for (const auto& col : row.GetObj()) {
12501250
columns_seen.insert(col.name.GetString());
12511251
}
12521252

12531253
// https://github.com/Tencent/rapidjson/issues/1994
1254-
for (const auto& col : row.GetObject()) {
1254+
for (const auto& col : row.GetObj()) {
12551255
if (col.name.GetString() == index) {
12561256
is_implicit = false;
12571257
}
@@ -1307,7 +1307,7 @@ Table::from_rows(
13071307

13081308
// 3.) Fill table
13091309
for (const auto& row : document.GetArray()) {
1310-
for (const auto& it : row.GetObject()) {
1310+
for (const auto& it : row.GetObj()) {
13111311
auto col = data_table.get_column(it.name.GetString());
13121312
const auto* col_name = it.name.GetString();
13131313
const auto& cell = it.value;
@@ -1399,7 +1399,7 @@ Table::update_ndjson(const std::string_view& data, std::uint32_t port_id) {
13991399
psp_pkey_col->set_nth<std::uint32_t>(ii, (ii + m_offset) % m_limit);
14001400
}
14011401

1402-
for (const auto& it : document.GetObject()) {
1402+
for (const auto& it : document.GetObj()) {
14031403
std::shared_ptr<t_column> col;
14041404
std::string_view col_name = it.name.GetString();
14051405
if (std::string_view{it.name.GetString()} == "__INDEX__") {
@@ -1486,12 +1486,12 @@ Table::from_ndjson(
14861486
// enhancement we do for regular JSON. For now this only checks the first
14871487
// row.
14881488
[&]() {
1489-
for (const auto& col : document.GetObject()) {
1489+
for (const auto& col : document.GetObj()) {
14901490
columns_seen.insert(col.name.GetString());
14911491
}
14921492

14931493
// https://github.com/Tencent/rapidjson/issues/1994
1494-
for (const auto& col : document.GetObject()) {
1494+
for (const auto& col : document.GetObj()) {
14951495
if (col.name.GetString() == index) {
14961496
is_implicit = false;
14971497
}
@@ -1555,7 +1555,7 @@ Table::from_ndjson(
15551555
// 3.) Fill table
15561556
bool is_finished = false;
15571557
while (!is_finished) {
1558-
for (const auto& it : document.GetObject()) {
1558+
for (const auto& it : document.GetObj()) {
15591559
auto col = data_table.get_column(it.name.GetString());
15601560
const auto* col_name = it.name.GetString();
15611561
const auto& cell = it.value;

docs/book.toml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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+
[book]
14+
authors = ["Andrew Stein"]
15+
language = "en"
16+
multilingual = false
17+
src = "md"
18+
title = "Perspective"
19+
20+
[build]
21+
build-dir = "static/guide"
22+
23+
[output.html]
24+
# theme = "my-theme"
25+
# default-theme = "light"
26+
# preferred-dark-theme = "navy"
27+
# smart-punctuation = true
28+
# mathjax-support = false
29+
copy-fonts = true
30+
git-repository-url = "https://github.com/finos/perspective"
31+
git-repository-icon = "fa-github"
32+
site-url = "https://perspective.finos.org/guide/"
33+
additional-css = [
34+
"md/perspective.css",
35+
"node_modules/@finos/perspective-viewer/dist/css/themes.css",
36+
]
37+
# additional-js = []
38+
# no-section-label = false
39+
# edit-url-template = "https://github.com/rust-lang/mdBook/edit/master/guide/{path}"
40+
# site-url = "/guide/"
41+
# cname = "myproject.rs"
42+
# input-404 = "not-found.md"

0 commit comments

Comments
 (0)