An online tool to share, debug, and prototype Substrait plans
- Code a substrait plan in
JSON
/SQL
or upload a file. - Validate a substrait plan on specified override levels.
- Visualize the generated substrait plan and save it as SVG or PNG.
- Explore the plan's relations and their constituent properties
Clone the github repository
git clone https://github.com/voltrondata/substrait-fiddle.git
cd substrait-fiddle/
Fiddle requires the FastAPI back-end for APIs. Prior installation and operation of the service is required.
To run it in PROD, use the complete URL, and set the environment variable. This step can be ignored in local development, where the default user and port is used.
// for PROD
export PROD_MONGO_URL=url
cd api/
pip install -r requirements.txt
uvicorn app:app --reload --port 9090
or, just run the server as a docker container.
docker build -t substrait-fiddle-backend .
docker run -d -p 9090:9090 substrait-fiddle-backend
Now, let's run the client service for the web application.
Install the requirements
cd ../client/
npm install
Compile and hot-reload for development
npm run dev
Compile and minify for production
npm run build
Preview the production
npm run preview
Run the Cypress E2E test in GUI mode
npm run cypress:open
Run the Cypress E2E test in headless mode
npm run cypress:headless
Run the Vitest for unit and component testing
npm run test
Run Pytest for testing various APIs
pytest test.py
View the auto-generated documentation for the API Service through the Swagger UI. Once the application startup is complete, visit http://127.0.0.1:9090/docs