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",