Skip to content

Commit dd9c3ef

Browse files
committed
Add virtual server docs
Signed-off-by: Andrew Stein <steinlink@gmail.com>
1 parent eddeb4c commit dd9c3ef

Some content is hidden

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

64 files changed

+2141
-824
lines changed

DEVELOPMENT.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# Developer Guide (How to build Perspective from this repo)
2+
13
This guide will teach you everything you need to know to get started hacking on
24
the Perspective codebase. Please see [`CONTRIBUTING.md`](CONTRIBUTING.md) for
35
contribution guidelines.
@@ -13,9 +15,9 @@ Perspective is organized as a
1315
and uses [lerna](https://lernajs.io/) to manage dependencies.
1416

1517
This guide provides instructions for both the JavaScript and Python libraries.
16-
To switch your development toolchain between the two, use `yarn setup`. Once the
17-
setup script has been run, common commands like `yarn build` and `yarn test`
18-
automatically call the correct build and test tools.
18+
To switch your development toolchain between the two, use `pnpm run setup`. Once
19+
the setup script has been run, common commands like `pnpm run build` and
20+
`pnpm run test` automatically call the correct build and test tools.
1921

2022
### System Dependencies
2123

@@ -64,7 +66,7 @@ required.
6466

6567
`Perspective.js` specifies its Emscripten version dependency in `package.json`,
6668
and the correct version of Emscripten will be installed with other JS
67-
dependencies by running `yarn`.
69+
dependencies by running `pnpm install`.
6870

6971
#### Building via local EMSDK
7072

@@ -93,14 +95,14 @@ To install a specific version of Emscripten (e.g. `2.0.6`):
9395
## `perspective-python`
9496

9597
To build the Python library, first configure your project to build Python via
96-
`yarn setup`. Then, install the requirements corresponding to your version of
97-
python, e.g.
98+
`pnpm run setup`. Then, install the requirements corresponding to your version
99+
of python, e.g.
98100

99101
```bash
100102
pip install -r rust/perspective-python/requirements.txt
101103
```
102104

103-
`perspective-python` supports Python 3.8 and upwards.
105+
`perspective-python` supports Python 3.11 and upwards.
104106

105107
### `perspective-jupyterlab`
106108

@@ -150,10 +152,10 @@ PATH=$(brew --prefix llvm@17)/bin:$PATH
150152
building if you have `brew`-installed versions of libraries, such as
151153
`flatbuffers`.
152154

153-
### Windows 10
155+
### Windows 10+
154156

155157
You need to use bash in order to build Perspective packages. To successfully
156-
build on Windows 10, enable
158+
build on Windows 10+, enable
157159
[Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
158160
(WSL) and install the Linux distribution of your choice.
159161

README.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<a href="https://perspective-dev.github.io">
44
<picture>
55
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/perspective-dev/perspective/raw/master/docs/static/svg/perspective-logo-dark.svg?raw=true">
6-
<img width="260" src="https://github.com/perspective-dev/perspective/raw/master/docs/static/svg/perspective-logo-light.svg?raw=true">
6+
<img width="260" src="https://github.com/perspective-dev/perspective/raw/master/docs/static/svg/perspective-logo-light.svg?raw=true" />
77
</picture>
88
</a>
99
<br/><br/>
@@ -20,7 +20,7 @@ large and streaming datasets. Build user-configurable reports, dashboards,
2020
notebooks, and applications with a high-performance query engine compiled to
2121
WebAssembly, Python, and Rust.
2222

23-
### Features
23+
## Features
2424

2525
- A framework-agnostic user interface packaged as a
2626
[Custom Element](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements),
@@ -43,21 +43,24 @@ WebAssembly, Python, and Rust.
4343
- A [JupyterLab](https://jupyter.org/) widget and Python client library for
4444
interactive data analysis in notebooks.
4545

46-
### Documentation
46+
## Documentation
4747

4848
- [Project Site](https://perspective-dev.github.io/)
4949
- [User Guide](https://perspective-dev.github.io/guide/)
50-
- Python API
51-
- [`perspective`](https://perspective-dev.github.io/python/index.html)
52-
- [`perspective.widget`](https://perspective-dev.github.io/python/perspective/widget.html)
53-
- [`perspective.handlers.aiohttp`](https://perspective-dev.github.io/python/perspective/handlers/aiohttp.htm)
54-
- [`perspective.handlers.starlette`](https://perspective-dev.github.io/python/perspective/handlers/starlett.htm)
55-
- [`perspective.handlers.tornado`](https://perspective-dev.github.io/python/perspective/handlers/tornado.htm)
5650
- JavaScript API
5751
- [`@perspective-dev/client` Browser](https://perspective-dev.github.io/browser/modules/src_ts_perspective.browser.ts.html)
5852
- [`@perspective-dev/client` Node.js](https://perspective-dev.github.io/node/modules/src_ts_perspective.node.ts.html)
59-
- [`@perspective-dev/viewer`](https://perspective-dev.github.io/viewer/modules/perspective-viewer.html)
60-
- [`@perspective-dev/react`](https://perspective-dev.github.io/react/index.html)
53+
- [`@perspective-dev/client` Clickhouse Virtual Server](https://perspective-dev.github.io/browser/modules/dist_esm_virtual_servers_clickhouse.js.html)
54+
- [`@perspective-dev/client` DuckDB Virtual Server](https://perspective-dev.github.io/browser/modules/dist_esm_virtual_servers_duckdb.js.html)
55+
- [`@perspective-dev/viewer` Web Component](https://perspective-dev.github.io/viewer/modules/perspective-viewer.html)
56+
- Python API
57+
- [`perspective`](https://perspective-dev.github.io/python/index.html)
58+
- [`perspective.widget`](https://perspective-dev.github.io/python/perspective/widget.html)
59+
- [`perspective.handlers.aiohttp`](https://perspective-dev.github.io/python/perspective/handlers/aiohttp.html)
60+
- [`perspective.handlers.starlette`](https://perspective-dev.github.io/python/perspective/handlers/starlett.html)
61+
- [`perspective.handlers.tornado`](https://perspective-dev.github.io/python/perspective/handlers/tornado.html)
62+
- [`perspective.virtual_servers.clickhouse`](https://perspective-dev.github.io/python/perspective/virtual_servers/clickhouse.html)
63+
- [`perspective.virtual_servers.duckdb`](https://perspective-dev.github.io/python/perspective/virtual_servers/duckdb.html)
6164
- Rust API
6265
- [`perspective`](https://docs.rs/perspective/latest/perspective/)
6366
- [`perspective-client`](https://docs.rs/perspective-client/latest/perspective_client/)
@@ -66,13 +69,13 @@ WebAssembly, Python, and Rust.
6669
- [`perspective-js`](https://docs.rs/perspective-js/latest/perspective_js/)
6770
- [`perspective-viewer`](https://docs.rs/perspective-viewer/latest/perspective_viewer/)
6871

69-
### Examples
72+
## Examples
7073

7174
<!-- Examples -->
72-
<table><tbody><tr><td>editable</td><td>file</td><td>duckdb</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=editable"><img height="125" src="https://perspective-dev.github.io/blocks/editable/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=file"><img height="125" src="https://perspective-dev.github.io/blocks/file/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=duckdb"><img height="125" src="https://perspective-dev.github.io/blocks/duckdb/preview.png?"></img></a></td></tr><tr><td>fractal</td><td>market</td><td>raycasting</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=fractal"><img height="125" src="https://perspective-dev.github.io/blocks/fractal/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=market"><img height="125" src="https://perspective-dev.github.io/blocks/market/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=raycasting"><img height="125" src="https://perspective-dev.github.io/blocks/raycasting/preview.png?"></img></a></td></tr><tr><td>evictions</td><td>nypd</td><td>streaming</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=evictions"><img height="125" src="https://perspective-dev.github.io/blocks/evictions/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=nypd"><img height="125" src="https://perspective-dev.github.io/blocks/nypd/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=streaming"><img height="125" src="https://perspective-dev.github.io/blocks/streaming/preview.png?"></img></a></td></tr><tr><td>covid</td><td>webcam</td><td>movies</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=covid"><img height="125" src="https://perspective-dev.github.io/blocks/covid/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=webcam"><img height="125" src="https://perspective-dev.github.io/blocks/webcam/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=movies"><img height="125" src="https://perspective-dev.github.io/blocks/movies/preview.png?"></img></a></td></tr><tr><td>superstore</td><td>citibike</td><td>olympics</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=superstore"><img height="125" src="https://perspective-dev.github.io/blocks/superstore/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=citibike"><img height="125" src="https://perspective-dev.github.io/blocks/citibike/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=olympics"><img height="125" src="https://perspective-dev.github.io/blocks/olympics/preview.png?"></img></a></td></tr><tr><td>dataset</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=dataset"><img height="125" src="https://perspective-dev.github.io/blocks/dataset/preview.png?"></img></a></td></tr></tbody></table>
75+
<table><tbody><tr><td>editable</td><td>file</td><td>duckdb</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=editable"><img height="125" src="https://perspective-dev.github.io/blocks/editable/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=file"><img height="125" src="https://perspective-dev.github.io/blocks/file/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=duckdb"><img height="125" src="https://perspective-dev.github.io/blocks/duckdb/preview.png?" /></a></td></tr><tr><td>fractal</td><td>market</td><td>raycasting</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=fractal"><img height="125" src="https://perspective-dev.github.io/blocks/fractal/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=market"><img height="125" src="https://perspective-dev.github.io/blocks/market/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=raycasting"><img height="125" src="https://perspective-dev.github.io/blocks/raycasting/preview.png?" /></a></td></tr><tr><td>evictions</td><td>nypd</td><td>streaming</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=evictions"><img height="125" src="https://perspective-dev.github.io/blocks/evictions/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=nypd"><img height="125" src="https://perspective-dev.github.io/blocks/nypd/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=streaming"><img height="125" src="https://perspective-dev.github.io/blocks/streaming/preview.png?" /></a></td></tr><tr><td>covid</td><td>webcam</td><td>movies</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=covid"><img height="125" src="https://perspective-dev.github.io/blocks/covid/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=webcam"><img height="125" src="https://perspective-dev.github.io/blocks/webcam/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=movies"><img height="125" src="https://perspective-dev.github.io/blocks/movies/preview.png?" /></a></td></tr><tr><td>superstore</td><td>citibike</td><td>olympics</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=superstore"><img height="125" src="https://perspective-dev.github.io/blocks/superstore/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=citibike"><img height="125" src="https://perspective-dev.github.io/blocks/citibike/preview.png?" /></a></td><td><a href="https://perspective-dev.github.io/block?example=olympics"><img height="125" src="https://perspective-dev.github.io/blocks/olympics/preview.png?" /></a></td></tr><tr><td>dataset</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=dataset"><img height="125" src="https://perspective-dev.github.io/blocks/dataset/preview.png?" /></a></td></tr></tbody></table>
7376
<!-- Examples -->
7477

75-
### Media
78+
## Media
7679

7780
<table><tbody>
7881
<tr>

docs/compose.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
services:
2+
mdbook:
3+
container_name: mdbook
4+
image: peaceiris/mdbook:v0.5.0
5+
stdin_open: true
6+
tty: true
7+
ports:
8+
- 3000:3000
9+
- 3001:3001
10+
volumes:
11+
- ${PWD}/..:/repo
12+
working_dir: /repo/docs
13+
command:
14+
- serve
15+
- --hostname
16+
- "0.0.0.0"

0 commit comments

Comments
 (0)