111 Commits

Author SHA1 Message Date
Andrew Stein
efec1b0c40 v3.1.5
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-11-15 19:56:33 -05:00
Tom Jakubowski
053abcd11a sdist: include bundled Cargo dependency licenses
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-11-11 12:14:36 -08:00
Tom Jakubowski
a8d6c14c15 Remove vcpkg from CI
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-11-04 19:39:48 -08:00
Tom Jakubowski
d9c2993750 test_python_sdist: run on release tags only
Also updates the cargo patch-job so it uses the .crate files produced
earlier in the workflow instead of using git sources with metadata. This
is closer to what happens when building and installing from a release
sdist, which pulls .crate files from crates.io.

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-11-04 19:39:48 -08:00
Tom Jakubowski
08a2d2df2f Test the sdist: pip install, verify labextension, pytests
caveat: a ~/.cargo/config.toml file is created when testing the sdist
which patches the perspective-python build so that it uses
perspective-server and perspective-client from the local git checkout.
This is so we can test unreleased changes to those crates together,
without including the client/server source in the sdist.

Builders who download sdist artifacts produced in CI between releases
may find they don't build or work correctly, since those sdists will
contain dependencies on release versions of perspective-server and
perspective-client published to crates.io.

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-10-30 21:18:46 -07:00
Tom Jakubowski
89964b6a41 Add macos-14 to test_python matrix
macos-14 is aarch64 with Apple silicon.  This lets us test the aarch64
wheel in CI

Will try a follow up to see if the builds are any faster on macos-14.
Will want to double check we still have a good value for
`CMAKE_OSX_DEPLOYMENT_TARGET`/`MACOSX_DEPLOYMENT_TARGET` after upgrading
the builders

Signed-off-by: Tom Jakubowski <tom@prospective.dev>

new crack at build matrix

verified this one with a model of the behavior in github's docs.  would
be cool if I knew how to get github to print the job configurations
before the job actually runs
2024-10-23 13:16:49 -07:00
Tom Jakubowski
f8a5798238 Amalgam of conda patches and build fixes
Did this work a bit out of order so squashed it all into one commit.

Conda related:
- switch to BUNDLED arrow dependency source
  - this lets us remove our direct deps on lz4, flatbuffers, zstd
- add abi3 feature to crate + enable unless CONDA_BUILD is set
- when CONDA_BUILD is set, pass PYTHON to maturin build
  --interpeter flag
- remove vestigal use of CMAKE_ARGS from .txt.in files
- parse CMAKE_ARGS from environment (unrelated to above item)
  - this is so we pick up the cross-compiling toolchain (i.e.
    CMAKE_LIBTOOL) in conda

Not conda related:
- switch away from global include_directories() calls
  - these add include paths to every target, including our dependencies
  - instead, export lists of INCLUDE_DIRS from every dependency,
    and then assemble them into a list to be passed to
    `target_include_directories` on the psp and perspective_esm targets
  - decouples order of psp_build_dep() calls and order of include
    directories
- switch Boost from a system dependency to psp_build_dep
  - eventually, to support Conda, we'll add a "use system dependency"
    feature to psp_build_dep for all dependencies
  - caveat: the boost download is a bit slow

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-10-17 19:59:03 -07:00
Andrew Stein
3b7559dbd6 Add generate_metadata crate for TypeScript types and docs
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-10-16 22:32:41 -04:00
Andrew Stein
c9c1da49e5 Update CONTRIBUTING.md and Issue/PR templates
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-10-16 22:32:41 -04:00
Andrew Stein
3f6e19c79f Fix clean script
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-10-16 21:52:59 -04:00
Andrew Stein
a9b92581f0 Removes explicit perspective-server webworker
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-22 21:01:38 -04:00
Andrew Stein
0aa19d50f1 Merge pull request #2759 from finos/windows-rust-build
Add Windows build for `perspective-rs` to CI
2024-09-22 02:25:51 -04:00
Andrew Stein
968b0fc6f4 Add windows build for perspective-rs
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-22 02:13:05 -04:00
Andrew Stein
bca11042f3 Python benchmarks
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-22 00:05:26 -04:00
Tom Jakubowski
13faa99600 Re-enable building emscripten wheel off-tag
This makes the emscripten wheel build on normal PRs

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-09-10 11:18:23 -07:00
Tom Jakubowski
d1100bddf5 Add pytest-pyodide tests
Integration/smoke tests for the Pyodide wheel, which run for the
perspective-pyodide virtual package and in the Pyodide CI actions.

Some changes which support installing the wheels in a pytest-pyodide
environment:

- Defer some third-party imports to "run time" by moving them deeper
  than module scope
- Add try/except guards to widget re-exports so that wheel can be used
  without Jupyter being installed
- Move Jupyter deps in pyproject.toml to an optional-dependencies group

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-09-10 11:18:18 -07:00
Andrew Stein
f01cf2b7ea Support packaging in CI
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-02 21:29:54 -04:00
Andrew Stein
d938eb176e Remove cxx, statically link perspective-server in perspective-python
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-02 00:58:02 -04:00
Andrew Stein
261a6b9518 Fix missing icons in workspace
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-08-16 10:45:31 -04:00
Timothy Bess
115849150c Fix pyodide release step.
Signed-off-by: Timothy Bess <tim@prospective.dev>
2024-08-16 10:44:55 -04:00
Andrew Stein
016e68f21a Update docusaurus website and examples
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-08-15 01:27:22 -04:00
Timothy Bess
f79b9c82c6 Divorce C++ from Rust Python bindings.
Signed-off-by: Timothy Bess <tim@prospective.dev>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-08-14 00:17:56 -04:00
Andrew Stein
e7d92abef4 Add sdist, lint
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-08-03 19:48:40 -04:00
Andrew Stein
976727da47 v3.0.0-rc.1
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-27 22:22:35 -04:00
Andrew Stein
1e0413f32d Manylinux builds
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-24 00:46:23 -04:00
Andrew Stein
4251f91e80 Add Windows & OSX
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-14 22:11:08 -04:00
Andrew Stein
38cdca5290 Fix tornado, aiohttp and starlette handlers
Signed-off-by: Andrew Stein <steinlink@gmail.com>

# Conflicts:
#	examples/python-tornado/server.py
#	rust/perspective-python/Cargo.toml
#	rust/perspective-python/perspective/__init__.py
2024-07-09 00:18:18 -04:00
Andrew Stein
99feef91c6 Update project build & CI
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-04 18:36:39 -04:00
Davis Silverman
2c76ee3368 Remove embind and fix table(View) constructor
Signed-off-by: Davis Silverman <davis@thedav.is>
Signed-off-by: Andrew Stein <steinlink@gmail.com>

# Conflicts:
#	Cargo.lock

Fixed Table(View) constructor

WIP

Test and some fixes to be squashed

wip

Signed-off-by: Andrew Stein <steinlink@gmail.com>

# Conflicts:
#	rust/perspective-client/src/rust/client.rs
2024-05-27 17:54:39 -04:00
Andrew Stein
8041a712eb Add perspective-js and perspective-client crates, move perspective-viewer
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-05-27 17:54:25 -04:00
Andrew Stein
08448ccc7a v2.10.1
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-05-23 00:25:54 -04:00
Tom Jakubowski
6002b7dc01 Document llvm@17 usage on Homebrew
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-05-21 03:23:18 -04:00
Tim Paine
06b978c7ef Bump github actions to use newer node, limit node upper bound to 22 to
avoid assert { type: "json" } / with { type: "json" } change
https://github.com/tc39/proposal-import-attributes/pull/131

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>

# Conflicts:
#	.github/workflows/build.yml
2024-05-21 03:23:18 -04:00
Andrew Stein
3def09ad98 Update benchmarks and test suite
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-05-21 03:23:17 -04:00
Andrew Stein
175dbf57e1 Port to pnpm
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-05-20 21:36:24 -04:00
Tim Paine
6a31324e3b Update to pyodide 0.25.1 for https://github.com/pyodide/pyodide/issues/4655 2024-04-18 10:36:58 -04:00
Andrew Stein
c897472ce0 Merge pull request #2547 from tomjakubowski/pyodide-0.25.0
Update Pyodide to version 0.25.0
2024-03-12 01:16:49 -04:00
Tom Jakubowski
89ea124ee7 rm unused ci step 2024-02-29 09:01:48 -08:00
Tom Jakubowski
6af3a46474 Update Pyodide to version 0.25.0 2024-02-26 21:35:29 -08:00
Andrew Stein
343c927d8f Use LLVM 17 2024-02-26 22:17:05 -05:00
Andrew Stein
c4b5c01ab8 Merge pull request #2541 from finos/improve-cpp-experience
Add `clang-format`, `clang-tidy` and `clangd` support for C++ development
2024-02-24 00:25:51 -05:00
Andrew Stein
a926d93e5f Use LLVM 16 for lint 2024-02-23 22:21:30 -05:00
ada mandala
9cd4eec2fb add docs test + fix typo
fix broken svg comparisons
2024-02-23 16:00:14 -06:00
Tom Jakubowski
44000eb4df add playwright report artifact to CI
co-authored by: Ada Mandala <ada@prospective.dev>
2024-02-23 14:08:14 -06:00
ada mandala
29fc54c686 Add yew-fmt and clippy to linter
only lint current project

yew-fmt in ci
2024-02-15 06:55:06 -05:00
Andrew Stein
8559a3f2c2 Remove docs build. 2023-12-30 20:44:00 -05:00
Andrew Stein
4fe9396bed Add docs build to CI 2023-12-02 14:22:08 -05:00
Andrew Stein
1078c7680d Make new expressions format the default. 2023-11-19 23:24:09 -05:00
Tom Jakubowski
2d5bbff52c Bump Pyodide to v0.24.1
includes a bump to Emscripten 3.1.45 and a workaround for a missing
file upstream
2023-11-01 07:58:42 -07:00
Tim Paine
859bed7311 prune win 2019 2023-08-09 13:48:16 -04:00