diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 63ab786d67..f7cb3a43b8 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -147,11 +147,17 @@ jobs:
arch: x86_64
python-version: 3.9
container: pagmo2/manylinux228_x86_64_with_deps
+ is-release:
+ - ${{ startsWith(github.ref, 'refs/tags/v') }}
exclude:
- os: windows-2022
arch: aarch64
- os: ubuntu-22.04
arch: aarch64
+ - os: macos-13
+ is-release: false
+ - os: windows-2022
+ is-release: false
steps:
- name: Checkout
@@ -222,11 +228,17 @@ jobs:
python-version:
- 3.9
node-version: [20.x]
+ is-release:
+ - ${{ startsWith(github.ref, 'refs/tags/v') }}
exclude:
- os: windows-2022
arch: aarch64
- os: ubuntu-22.04
arch: aarch64
+ - os: macos-13
+ is-release: false
+ - os: windows-2022
+ is-release: false
steps:
- name: Checkout
@@ -350,8 +362,15 @@ jobs:
- 3.9
# - 3.12
node-version: [20.x]
+ is-release:
+ - ${{ startsWith(github.ref, 'refs/tags/v') }}
arch:
- x86_64
+ exclude:
+ - os: macos-13
+ is-release: false
+ - os: windows-2022
+ is-release: false
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -378,3 +397,156 @@ jobs:
env:
PACKAGE: "perspective-python"
# PSP_USE_CCACHE: 1
+
+ # ,-,---. . .
+ # '|___/ ,-. ,-. ,-. |-. ,-,-. ,-. ,-. | ,
+ # ,| \ |-' | | | | | | | | ,-| | |<
+ # `-^---' `-' ' ' `-' ' ' ' ' ' `-^ ' ' `
+ #
+ # ,-_/ .---. .
+ # ' | ,-. . , ,-. \___ ,-. ,-. . ,-. |-
+ # | ,-| | / ,-| \ | | | | | |
+ # | `-^ `' `-^ `---' `-' ' ' |-' `'
+ # /` | |
+ # `--' '
+ benchmark_js:
+ needs: [build_js]
+ if: startsWith(github.ref, 'refs/tags/v')
+ strategy:
+ matrix:
+ os: [ubuntu-22.04]
+ node-version: [20.x]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Config
+ id: config-step
+ uses: ./.github/actions/config
+
+ - name: Initialize Build
+ uses: ./.github/actions/install-deps
+ with:
+ rust: "false"
+ cpp: "false"
+ python: "false"
+ javascript: "false"
+ skip_cache: ${{ steps.config-step.outputs.SKIP_CACHE }}
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-js-dist
+ path: .
+
+ - name: Benchmarks
+ run: pnpm run bench
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: perspective-js-benchmarks
+ path: tools/perspective-bench/dist/benchmark-js.arrow
+
+ # .-,--. . . .
+ # '|__/ . . |-. | . ,-. |-.
+ # ,| | | | | | | `-. | |
+ # `' `-^ ^-' `' ' `-' ' '
+ #
+ publish:
+ needs: [build_and_test_juptyerlab, test_python, test_js, benchmark_js]
+ if: startsWith(github.ref, 'refs/tags/v')
+ strategy:
+ matrix:
+ os: [ubuntu-22.04]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Config
+ id: config-step
+ uses: ./.github/actions/config
+
+ - name: Initialize Build
+ uses: ./.github/actions/install-deps
+ with:
+ rust: "false"
+ cpp: "false"
+ python: "false"
+ javascript: "false"
+ skip_cache: ${{ steps.config-step.outputs.SKIP_CACHE }}
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-js-dist
+ path: .
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-python-dist-aarch64-macos-13-3.9
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-python-dist-x86_64-macos-13-3.9
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-python-dist-x86_64-windows-2022-3.9
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-python-dist-x86_64-ubuntu-22.04-3.9
+
+ # - uses: actions/download-artifact@v4
+ # with:
+ # name: perspective-python-sdist
+
+ - uses: actions/download-artifact@v4
+ with:
+ name: perspective-js-benchmarks
+
+ # - uses: actions/download-artifact@v4
+ # with:
+ # name: perspective-python-benchmarks
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./rust/perspective-js
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./rust/perspective-viewer
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-viewer-datagrid
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-viewer-d3fc
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-viewer-openlayers
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-workspace
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-cli
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-webpack-plugin
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-esbuild-plugin
+
+ - run: pnpm pack --pack-destination=../..
+ working-directory: ./packages/perspective-jupyterlab
+
+ - name: Publish assets
+ uses: softprops/action-gh-release@v2
+ with:
+ draft: true
+ generate_release_notes: true
+ files: |
+ *.whl
+ *.tar.gz
+ *.tgz
+ *.arrow
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/Cargo.lock b/Cargo.lock
index 7bfd3343c3..8685e77c44 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1783,7 +1783,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "perspective"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"async-lock",
"perspective-client",
@@ -1821,7 +1821,7 @@ dependencies = [
[[package]]
name = "perspective-client"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"async-lock",
"futures",
@@ -1843,7 +1843,7 @@ dependencies = [
[[package]]
name = "perspective-js"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"anyhow",
"base64 0.13.1",
@@ -1872,7 +1872,7 @@ dependencies = [
[[package]]
name = "perspective-lint"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"glob",
"yew-fmt",
@@ -1880,7 +1880,7 @@ dependencies = [
[[package]]
name = "perspective-python"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"async-lock",
"extend",
@@ -1898,7 +1898,7 @@ dependencies = [
[[package]]
name = "perspective-server"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"async-lock",
"cmake",
@@ -1912,7 +1912,7 @@ dependencies = [
[[package]]
name = "perspective-viewer"
-version = "2.10.1"
+version = "3.0.0-rc.1"
dependencies = [
"anyhow",
"async-lock",
diff --git a/README.md b/README.md
index 71c0c5ed57..9c45d80bf3 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,8 @@
[![npm](https://img.shields.io/npm/v/@finos/perspective.svg?style=flat)](https://www.npmjs.com/package/@finos/perspective)
[![PyPI](https://img.shields.io/pypi/v/perspective-python.svg?style=flat)](https://pypi.python.org/pypi/perspective-python)
-[![Build Status](https://github.com/finos/perspective/actions/workflows/build.yml/badge.svg?branch=master&event=push)](https://github.com/finos/perspective/actions/workflows/build.yml)
+[![crates.io](https://img.shields.io/crates/v/perspective.svg?style=flat)](https://crates.io/crates/perspective)
+[![Build Status](https://github.com/finos/perspective/actions/workflows/build.yaml/badge.svg?branch=master&event=push)](https://github.com/finos/perspective/actions/workflows/build.yml)
diff --git a/cpp/perspective/package.json b/cpp/perspective/package.json
index 3ed72fba4e..75612f3ea6 100644
--- a/cpp/perspective/package.json
+++ b/cpp/perspective/package.json
@@ -3,7 +3,7 @@
"private": true,
"author": "The Perspective Authors",
"license": "Apache-2.0",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"main": "./dist/esm/perspective.cpp.js",
"files": [
"dist/esm/**/*",
diff --git a/docs/package.json b/docs/package.json
index 30008ddbc0..6984534450 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-docs",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
diff --git a/docs/src/components/Demo/layouts.js b/docs/src/components/Demo/layouts.js
index e0edf3fbf4..be0d45a301 100644
--- a/docs/src/components/Demo/layouts.js
+++ b/docs/src/components/Demo/layouts.js
@@ -12,7 +12,7 @@
export const LAYOUTS = {
sparkgrid: {
- version: "2.10.1",
+ version: "3.0.0-rc.1",
plugin: "Datagrid",
plugin_config: {
columns: {},
diff --git a/examples/blocks/package.json b/examples/blocks/package.json
index 9c70011762..507daa9c14 100644
--- a/examples/blocks/package.json
+++ b/examples/blocks/package.json
@@ -1,7 +1,7 @@
{
"name": "blocks",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "A collection of simple client-side Perspective examples for `http://bl.ocks.org`.",
"scripts": {
"start": "mkdirp dist && node --experimental-modules server.mjs",
diff --git a/examples/esbuild-example/package.json b/examples/esbuild-example/package.json
index bd69beeafa..f79070f10b 100644
--- a/examples/esbuild-example/package.json
+++ b/examples/esbuild-example/package.json
@@ -1,7 +1,7 @@
{
"name": "esbuild-example",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An esbuild example app built using `@finos/perspective-viewer`.",
"scripts": {
"build": "node build.js",
diff --git a/examples/esbuild-remote/package.json b/examples/esbuild-remote/package.json
index 4792e5ada6..01fb58c388 100644
--- a/examples/esbuild-remote/package.json
+++ b/examples/esbuild-remote/package.json
@@ -1,7 +1,7 @@
{
"name": "esbuild-remote",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example of 2 Perspectives, one client and one server, streaming via Apache Arrow.",
"scripts": {
"start": "node build.js && node server/index.mjs"
diff --git a/examples/python-aiohttp/package.json b/examples/python-aiohttp/package.json
index a7538a0200..ad741db67a 100644
--- a/examples/python-aiohttp/package.json
+++ b/examples/python-aiohttp/package.json
@@ -1,7 +1,7 @@
{
"name": "python-aiohttp",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example of editing a `perspective-python` server from the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
diff --git a/examples/python-starlette/package.json b/examples/python-starlette/package.json
index 03b4ad2738..2cf434bd7a 100644
--- a/examples/python-starlette/package.json
+++ b/examples/python-starlette/package.json
@@ -1,7 +1,7 @@
{
"name": "python-starlette",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example of editing a `perspective-python` server from the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
diff --git a/examples/python-tornado-streaming/package.json b/examples/python-tornado-streaming/package.json
index cd3525ad88..bc3adb10c3 100644
--- a/examples/python-tornado-streaming/package.json
+++ b/examples/python-tornado-streaming/package.json
@@ -1,7 +1,7 @@
{
"name": "python-tornado-streaming",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example of streaming a `perspective-python` server to the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
diff --git a/examples/python-tornado/package.json b/examples/python-tornado/package.json
index 5950a1afcb..d89b79822b 100644
--- a/examples/python-tornado/package.json
+++ b/examples/python-tornado/package.json
@@ -1,7 +1,7 @@
{
"name": "python-tornado",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example of editing a `perspective-python` server from the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
diff --git a/examples/react-example/package.json b/examples/react-example/package.json
index d52884847b..6f700a7c80 100644
--- a/examples/react-example/package.json
+++ b/examples/react-example/package.json
@@ -1,7 +1,7 @@
{
"name": "react-example",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example app built using `@finos/perspective-viewer`.",
"scripts": {
"start": "webpack serve --open",
diff --git a/examples/rust-axum/Cargo.toml b/examples/rust-axum/Cargo.toml
index 2c4ebe4fa1..60f957e961 100644
--- a/examples/rust-axum/Cargo.toml
+++ b/examples/rust-axum/Cargo.toml
@@ -17,7 +17,7 @@ edition = "2021"
publish = false
[dependencies]
-perspective = { version = "2.10.1", path = "../../rust/perspective" }
+perspective = { version = "3.0.0-rc.1", path = "../../rust/perspective" }
axum = { version = "=0.7.4", features = ["ws"] }
futures = "0.3"
tokio = { version = "1.0", features = ["full"] }
diff --git a/examples/rust-axum/package.json b/examples/rust-axum/package.json
index ba00a10d24..f85a6972f4 100644
--- a/examples/rust-axum/package.json
+++ b/examples/rust-axum/package.json
@@ -1,7 +1,7 @@
{
"name": "rust-axum",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example of a Rust/Axum virtual Perspective server",
"scripts": {
"start": "cargo run"
diff --git a/examples/webpack-example/package.json b/examples/webpack-example/package.json
index 264ed85eb6..c0c2dc4e03 100644
--- a/examples/webpack-example/package.json
+++ b/examples/webpack-example/package.json
@@ -1,7 +1,7 @@
{
"name": "webpack-example",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example app built using `@finos/perspective-viewer`.",
"scripts": {
"webpack_build": "webpack",
diff --git a/examples/workspace/package.json b/examples/workspace/package.json
index a5aba97a19..d539fb45a6 100644
--- a/examples/workspace/package.json
+++ b/examples/workspace/package.json
@@ -1,7 +1,7 @@
{
"name": "workspace",
"private": true,
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "An example app built using `@finos/perspective-workspace`.",
"scripts": {
"start": "webpack serve --open",
diff --git a/package.json b/package.json
index 4101de41fc..7f676035de 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"type": "git",
"url": "https://github.com/finos/perspective"
},
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"changelog": {
"labels": {
"enhancement": "Added",
diff --git a/packages/perspective-cli/package.json b/packages/perspective-cli/package.json
index aee8fc2d98..573789f2ff 100644
--- a/packages/perspective-cli/package.json
+++ b/packages/perspective-cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-cli",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Perspective.js CLI",
"main": "src/js/index.js",
"publishConfig": {
diff --git a/packages/perspective-esbuild-plugin/package.json b/packages/perspective-esbuild-plugin/package.json
index e83a4e06b4..054161fc55 100644
--- a/packages/perspective-esbuild-plugin/package.json
+++ b/packages/perspective-esbuild-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-esbuild-plugin",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "esbuild plugin for Perspective",
"author": "",
"license": "Apache-2.0",
diff --git a/packages/perspective-jupyterlab/package.json b/packages/perspective-jupyterlab/package.json
index 6ac3ab66c3..1a0bc40c6b 100644
--- a/packages/perspective-jupyterlab/package.json
+++ b/packages/perspective-jupyterlab/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-jupyterlab",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "A Jupyterlab extension for the Perspective library, designed to be used with perspective-python.",
"files": [
"dist/**/*",
diff --git a/packages/perspective-viewer-d3fc/package.json b/packages/perspective-viewer-d3fc/package.json
index 4e8fbaaef9..61f0907610 100644
--- a/packages/perspective-viewer-d3fc/package.json
+++ b/packages/perspective-viewer-d3fc/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-viewer-d3fc",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Perspective.js D3FC Plugin",
"unpkg": "./dist/cdn/perspective-viewer-d3fc.js",
"jsdelivr": "./dist/cdn/perspective-viewer-d3fc.js",
diff --git a/packages/perspective-viewer-datagrid/package.json b/packages/perspective-viewer-datagrid/package.json
index 01554cf2aa..acba148f1d 100644
--- a/packages/perspective-viewer-datagrid/package.json
+++ b/packages/perspective-viewer-datagrid/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-viewer-datagrid",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Perspective datagrid plugin based on `regular-table`",
"unpkg": "dist/cdn/perspective-viewer-datagrid.js",
"jsdelivr": "dist/cdn/perspective-viewer-datagrid.js",
diff --git a/packages/perspective-viewer-openlayers/package.json b/packages/perspective-viewer-openlayers/package.json
index 35c2c5ea3b..5e9d429d7c 100644
--- a/packages/perspective-viewer-openlayers/package.json
+++ b/packages/perspective-viewer-openlayers/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-viewer-openlayers",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"unpkg": "dist/cdn/perspective-viewer-openlayers.js",
"jsdelivr": "dist/cdn/perspective-viewer-openlayers.js",
"exports": {
diff --git a/packages/perspective-webpack-plugin/package.json b/packages/perspective-webpack-plugin/package.json
index c5eb0e7e02..2797154e0c 100644
--- a/packages/perspective-webpack-plugin/package.json
+++ b/packages/perspective-webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-webpack-plugin",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Perspective.js Webpack Plugin",
"main": "index.js",
"publishConfig": {
diff --git a/packages/perspective-workspace/package.json b/packages/perspective-workspace/package.json
index 699fece14e..7a091f2f30 100644
--- a/packages/perspective-workspace/package.json
+++ b/packages/perspective-workspace/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-workspace",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Perspective Workspace",
"files": [
"dist/**/*",
diff --git a/rust/lint/Cargo.toml b/rust/lint/Cargo.toml
index b5ce02d42b..8d1e07761d 100644
--- a/rust/lint/Cargo.toml
+++ b/rust/lint/Cargo.toml
@@ -13,7 +13,7 @@
[package]
name = "perspective-lint"
description = "A CLI utility to lint rust code"
-version = "2.10.1"
+version = "3.0.0-rc.1"
edition = "2021"
publish = false
diff --git a/rust/perspective-client/Cargo.toml b/rust/perspective-client/Cargo.toml
index de14f0eebe..f416bb9e7b 100644
--- a/rust/perspective-client/Cargo.toml
+++ b/rust/perspective-client/Cargo.toml
@@ -12,7 +12,7 @@
[package]
name = "perspective-client"
-version = "2.10.1"
+version = "3.0.0-rc.1"
authors = ["Andrew Stein "]
edition = "2021"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
diff --git a/rust/perspective-client/docs/client/open_table.md b/rust/perspective-client/docs/client/open_table.md
index b5046835c3..1d0f0afb8d 100644
--- a/rust/perspective-client/docs/client/open_table.md
+++ b/rust/perspective-client/docs/client/open_table.md
@@ -1,15 +1,16 @@
-Opens a table that is hosted on the server that is connected to the client.
+Opens a [`Table`] that is hosted on the [`perspective_server::Server`] that is
+connected to this [`Client`]. The `name` property of [`TableInitOptions`]
# Examples
-[```]js
+```js
const tables = await client.open_table("table_one");
-[```]
+```
-[```]python
-tables = await async_client.open_table("table_one");
-[```]
+```python
+tables = client.open_table("table_one");
+```
-[```]rust
+```rust
let tables = client.open_table("table_one").await;
-[```]
+```
diff --git a/rust/perspective-client/docs/table/columns.md b/rust/perspective-client/docs/table/columns.md
index 32e9c336c9..c0a1252e87 100644
--- a/rust/perspective-client/docs/table/columns.md
+++ b/rust/perspective-client/docs/table/columns.md
@@ -1,10 +1,10 @@
Returns the column names of this [`Table`] in "natural" order (the ordering
implied by the input format).
-[```]javascript
+```javascript
const table = await worker.table("x,y\n1,2");
const columns = await table.columns();
// Prints [`["x", "y"]`]
console.log(columns);
-[```]
+```
diff --git a/rust/perspective-js/Cargo.toml b/rust/perspective-js/Cargo.toml
index 3f6e18ecbf..87f7c54c7b 100644
--- a/rust/perspective-js/Cargo.toml
+++ b/rust/perspective-js/Cargo.toml
@@ -12,7 +12,7 @@
[package]
name = "perspective-js"
-version = "2.10.1"
+version = "3.0.0-rc.1"
authors = ["Andrew Stein "]
edition = "2021"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
@@ -21,7 +21,7 @@ license = "Apache-2.0"
homepage = "https://perspective.finos.org"
keywords = ["experimental"]
build = "build.rs"
-include = ["src/**/*", "Cargo.toml", "package.json", "docs/**/*"]
+include = ["src/**/*", "Cargo.toml", "./package.json", "docs/**/*"]
[[bin]]
name = "perspective-js-metadata"
@@ -45,7 +45,7 @@ anyhow = "1.0.66"
wasm-bindgen-test = "0.3.13"
[dependencies]
-perspective-client = { path = "../perspective-client", version = "2.10.1" }
+perspective-client = { path = "../perspective-client", version = "3.0.0-rc.1" }
base64 = "0.13.0"
chrono = "0.4"
extend = "1.1.2"
diff --git a/rust/perspective-js/package.json b/rust/perspective-js/package.json
index 0663a41b8f..203289bc64 100644
--- a/rust/perspective-js/package.json
+++ b/rust/perspective-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "",
"repository": {
"type": "git",
diff --git a/rust/perspective-python/Cargo.toml b/rust/perspective-python/Cargo.toml
index f7a0f370e5..25cd69a7e7 100644
--- a/rust/perspective-python/Cargo.toml
+++ b/rust/perspective-python/Cargo.toml
@@ -12,7 +12,7 @@
[package]
name = "perspective-python"
-version = "2.10.1"
+version = "3.0.0-rc.1"
edition = "2021"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
repository = "https://github.com/finos/perspective"
@@ -22,13 +22,13 @@ authors = ["Andrew Stein "]
keywords = []
build = "build.rs"
include = [
- "bench/**/*",
- "build.rs",
- "Cargo.toml",
- "package.json",
- "perspective/**/*",
- "pyproject.toml",
- "src/**/*",
+ "bench/**/*.py",
+ "./build.rs",
+ "./Cargo.toml",
+ "./package.json",
+ "perspective/**/*.py",
+ "./pyproject.toml",
+ "src/**/*.rs",
"docs/**/*",
]
@@ -49,8 +49,8 @@ python-config-rs = "0.1.2"
[dependencies]
async-lock = "2.5.0"
-perspective-client = { version = "2.10.1", path = "../perspective-client" }
-perspective-server = { version = "2.10.1", path = "../perspective-server" }
+perspective-client = { version = "3.0.0-rc.1", path = "../perspective-client" }
+perspective-server = { version = "3.0.0-rc.1", path = "../perspective-server" }
pollster = "0.3.0"
extend = "1.1.2"
futures = "0.3.28"
diff --git a/rust/perspective-python/package.json b/rust/perspective-python/package.json
index cff17630c6..e2c983ec13 100644
--- a/rust/perspective-python/package.json
+++ b/rust/perspective-python/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-python",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "",
"private": true,
"repository": {
diff --git a/rust/perspective-python/perspective/__init__.py b/rust/perspective-python/perspective/__init__.py
index cf9e982767..6a5112f866 100644
--- a/rust/perspective-python/perspective/__init__.py
+++ b/rust/perspective-python/perspective/__init__.py
@@ -10,7 +10,7 @@
# ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-__version__ = "2.10.1"
+__version__ = "3.0.0-rc.1"
__all__ = [
"_jupyter_labextension_paths",
"PerspectiveError",
diff --git a/rust/perspective-python/pyproject.toml b/rust/perspective-python/pyproject.toml
index a70b18198d..81d7192230 100644
--- a/rust/perspective-python/pyproject.toml
+++ b/rust/perspective-python/pyproject.toml
@@ -16,6 +16,7 @@ build-backend = "maturin"
[project]
name = "perspective-python"
+version = "3.0.0-rc1"
requires-python = ">=3.9"
dynamic = ["version"]
classifiers = [
diff --git a/rust/perspective-server/Cargo.toml b/rust/perspective-server/Cargo.toml
index b98110a95c..8be2269df4 100644
--- a/rust/perspective-server/Cargo.toml
+++ b/rust/perspective-server/Cargo.toml
@@ -12,7 +12,7 @@
[package]
name = "perspective-server"
-version = "2.10.1"
+version = "3.0.0-rc.1"
authors = ["Andrew Stein "]
edition = "2021"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
@@ -42,7 +42,7 @@ cmake = "0.1.50"
num_cpus = "1.16.0"
[dependencies]
-perspective-client = { version = "2.10.1", path = "../perspective-client" }
+perspective-client = { version = "3.0.0-rc.1", path = "../perspective-client" }
async-lock = "2.5.0"
cxx = { version = "1.0.115", features = ["c++17"] }
tracing = { version = ">=0.1.36" }
diff --git a/rust/perspective-server/build.rs b/rust/perspective-server/build.rs
index 8e32a93489..03b67e1814 100644
--- a/rust/perspective-server/build.rs
+++ b/rust/perspective-server/build.rs
@@ -50,6 +50,10 @@ fn cmake_build() -> Result<(), std::io::Error> {
);
}
+ if matches!(std::env::var("DOCS_RS").as_deref(), Ok("1")) {
+ return Ok(());
+ }
+
let mut dst = Config::new("cpp/perspective");
let profile = std::env::var("PROFILE").unwrap();
dst.always_configure(true);
@@ -138,7 +142,6 @@ fn link_cmake_static_archives(dir: &Path) -> Result<(), std::io::Error> {
if dir.is_dir() {
for entry in fs::read_dir(dir)? {
let path = entry?.path();
- // println!("cargo:warning=MESSAGE static link {}", path.display());
if path.is_dir() {
link_cmake_static_archives(&path)?;
} else {
diff --git a/rust/perspective-viewer/Cargo.toml b/rust/perspective-viewer/Cargo.toml
index ceb56f4472..030d6bcc31 100644
--- a/rust/perspective-viewer/Cargo.toml
+++ b/rust/perspective-viewer/Cargo.toml
@@ -12,7 +12,7 @@
[package]
name = "perspective-viewer"
-version = "2.10.1"
+version = "3.0.0-rc.1"
authors = ["Andrew Stein "]
edition = "2021"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
@@ -46,8 +46,8 @@ anyhow = "1.0.66"
wasm-bindgen-test = "0.3.13"
[dependencies]
-perspective-client = { path = "../perspective-client", version = "2.10.1" }
-perspective-js = { path = "../perspective-js", version = "2.10.1" }
+perspective-client = { path = "../perspective-client", version = "3.0.0-rc.1" }
+perspective-js = { path = "../perspective-js", version = "3.0.0-rc.1" }
# Provides async `Mutex` for locked sections such as `render`
async-lock = "2.5.0"
diff --git a/rust/perspective-viewer/package.json b/rust/perspective-viewer/package.json
index d035761cbc..8c36d563e7 100644
--- a/rust/perspective-viewer/package.json
+++ b/rust/perspective-viewer/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-viewer",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "The `` Custom Element, frontend for Perspective.js",
"repository": {
"type": "git",
diff --git a/rust/perspective/Cargo.toml b/rust/perspective/Cargo.toml
index e7dfc96a43..e2d90798ef 100644
--- a/rust/perspective/Cargo.toml
+++ b/rust/perspective/Cargo.toml
@@ -12,7 +12,7 @@
[package]
name = "perspective"
-version = "2.10.1"
+version = "3.0.0-rc.1"
authors = ["Andrew Stein "]
edition = "2021"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
@@ -35,8 +35,8 @@ external-cpp = [
[dependencies]
async-lock = "2.5.0"
-perspective-client = { version = "2.10.1", path = "../perspective-client" }
-perspective-server = { version = "2.10.1", path = "../perspective-server" }
+perspective-client = { version = "3.0.0-rc.1", path = "../perspective-client" }
+perspective-server = { version = "3.0.0-rc.1", path = "../perspective-server" }
tracing = { version = ">=0.1.36" }
[dev-dependencies]
diff --git a/tools/perspective-bench/src/js/benchmark.mjs b/tools/perspective-bench/src/js/benchmark.mjs
index 0e5a9bd9b9..ca861a8198 100644
--- a/tools/perspective-bench/src/js/benchmark.mjs
+++ b/tools/perspective-bench/src/js/benchmark.mjs
@@ -406,7 +406,7 @@ export async function suite(
{ name: "benchmarks" }
);
- const app = start_server(psp);
+ const app = await start_server(psp);
for (let i = 0; i < versions.length; i++) {
let s;
@@ -429,9 +429,7 @@ export async function suite(
]);
await persist_to_arrow(benchmarks_table, out_path);
- if (s) {
- await s.close();
- }
+ await s?.close?.();
}
await app.close();
diff --git a/tools/perspective-scripts/package.json b/tools/perspective-scripts/package.json
index 68df402216..b3dd07e3e7 100644
--- a/tools/perspective-scripts/package.json
+++ b/tools/perspective-scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-scripts",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Build scripts based on perspective",
"private": true,
"files": [
diff --git a/tools/perspective-test/package.json b/tools/perspective-test/package.json
index 6a62d8c49d..13ea9fa834 100644
--- a/tools/perspective-test/package.json
+++ b/tools/perspective-test/package.json
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-test",
- "version": "2.10.1",
+ "version": "3.0.0-rc.1",
"description": "Test utility based on perspective",
"private": true,
"main": "src/js/index.ts",