Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a new Python module
perspective.virtual_servers.duckdb, an implementation of the Perspective Virtual Server API (#3061) for DuckDB.6mm rows from NYC Open Data:
DuckDB.Demo.mov
Using native DuckDB
time_bucketfunction inperspective-viewer's Column Expression Editor to create time series bins:DuckDB.Expressions.mov
DuckDBHandlerimplementation ofVirtualServerHandlerfor DuckDB in JavaScript and Python.VirtualServerHandlerandVirtualServerSlicefor JavaScript, Rust and Python.Not implemented
This feature is still incomplete, but functional enough for testing. However, building Perspective from source is a daunting task, so as not to limit the potential audience of this brand-new feature, I've opted to go ahead and release it (core Perspective functionality is unaffected). Missing/broken functionality includes:
split_byis "wonky" (especially with_characters) due to not using recoverable alias column names.split_bydoes not preserve rollup aggregates.View::schemawith asplit_bydoes not behave the same as Perspective (does not de-normalize column group headers).kViewGetMinMaxRequnimplemented, so some column styling options that require bounds will not work.