121 Commits

Author SHA1 Message Date
Andrew Stein
f587729c88 Move to Windows 2025 CI
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2026-02-16 23:45:18 -05:00
Andrew Stein
3a29023c29 Upgrade rust toolchain, maturin, emscripten, Python min version to 3.11
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2026-02-06 17:48:12 -05:00
Andrew Stein
87bf5aaf94 Refactoring, tests, examples, docs, cleanup
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2026-01-26 03:05:44 -05:00
Andrew Stein
9fc339f3b6 Reduce disk usage for CI actions
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-12-15 21:04:18 -05:00
Tom Jakubowski
cbfe4ecb46 Add disk free space reports to Python build
These builds are on a knife's edge currently with respect to disk space.
I think it is worth logging `df` output so we can keep an eye on it.

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-12-09 14:00:23 -08:00
Tom Jakubowski
ed2941011a Start on building aarch64 linux wheels
- Use fork of actions-setup-cmake install until arm support is
  upstreamed <https://github.com/jwlawson/actions-setup-cmake/pull/83>
- Add arm runner to matrix + use manylinux container
- Upload built artifacts

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-12-09 13:34:59 -08:00
Andrew Stein
450aba10d4 Add security policy
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-11-25 10:52:11 -05:00
Andrew Stein
4fddc55a27 Switch CI to macos-14
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-11-10 10:37:45 -05:00
Andrew Stein
21d6021602 Publish @perspective-dev/server package in CI
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-10-29 13:46:40 -04:00
Andrew Stein
753206c786 Clean up namespaces
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-10-26 20:36:16 -04:00
No Author
ff517af095 Rename @finos to @perspective-dev
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-10-25 23:57:30 -04:00
Andrew Stein
f5167c8b8c Move C++ source to the perspective-server crate
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-08-15 00:06:43 -04:00
Andrew Stein
95f129e354 Expose null cell style for perspective-viewer-datagrid
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-07-13 11:59:30 -04:00
Andrew Stein
576660ba3c Merge pull request #3002 from finos/aggregate-depth
Add `aggregate_depth` datagrid style config

Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-05-27 02:19:09 -04:00
Andrew Stein
78e47097ab Fix color selector reset button, and theme reset button
Signed-off-by: Andrew Stein <steinlink@gmail.com>

Fix color selector reset

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

Theme reset button

Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-05-26 23:13:30 -04:00
Andrew Stein
462dd54559 Nightly versions
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-05-08 22:41:32 -04:00
Andrew Stein
852ef201e3 Experimental component tests for playwright
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-05-04 23:58:51 -04:00
Timothy Bess
3d62117b25 Nightly Artifacts
This modifies the CI to upload artifacts on every commit to master so
that we can store pull them nightly to release elsewhere.

Signed-off-by: Timothy Bess <timbessmail@gmail.com>
2025-05-01 11:07:44 -04:00
Andrew Stein
8f0f11cc2c Fix prod CI build
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-04-10 01:23:59 -04:00
Timothy Bess
81b0da7e84 Decouple Primary keys from limit of table.
Signed-off-by: Timothy Bess <timbessmail@gmail.com>
2025-04-02 15:47:27 -04:00
Tom Jakubowski
5245cb52b3 Use pytest-timeout to break deadlocks in tests
We were already using this plugin for the pyodide tests, now also use it
when running pytests in the monorepo and when testing the sdist in CI.

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-03-12 14:50:14 -07:00
Tom Jakubowski
5f8fdc36b9 ci: separate build/test emscripten wheel jobs
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-01-28 13:07:23 -08:00
Andrew Stein
f67c111f40 Update docs
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-01-13 22:47:40 -05:00
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
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
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
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