Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(playground): add substrait validator playground #53

Closed
wants to merge 4 commits into from

Conversation

mbrobbel
Copy link
Member

An attempt to close #6.

Demo

This adds a playground directory that consists of a substrait-playground crate that provides wasm bindings for the validator. It uses the pbjson branch of the substrait-rs bindings to deserialize the provided JSON input. A very basic svelte app renders an input field and the validator output for that. CI can deploy this to GitHub pages.

I did have to make some modifications in the validator because a url method was not implemented for the wasm target.

I'm just putting this out here for visibility. This still requires some front-end work to be usable. And there are many opportunities to improve:

  • reduce the wasm blob size (currently 4MB)
  • add selector for example JSON inputs
  • add SQL input
  • add binary input
  • match substrait website style
  • (maybe) use validator protobuf and render in the browser based on that (instead of using the validator html output)

To build this locally you need nodejs:

cd playground
npm ci
npm run dev

@CLAassistant
Copy link

CLAassistant commented Oct 6, 2022

CLA assistant check
All committers have signed the CLA.

@mbrobbel mbrobbel closed this Apr 17, 2024
@mbrobbel mbrobbel deleted the playground branch April 17, 2024 07:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Javascript + webassembly bindings
2 participants