Skip to main content

Streamlit component with JSONForms and Vuetify renderer

Project description

Streamlit JSONForms Vuetify Renderer

A Streamlit custom component that renders JSONForms with Vuetify material design components.

Installation

uv pip install streamlit-jsonforms-vuetify-renderer

Or with pip:

pip install streamlit-jsonforms-vuetify-renderer

Usage

import streamlit as st
from streamlit_jsonforms import render_jsonforms

# Define your JSON Schema
form_schema = {
    "schema": {
        "type": "object",
        "properties": {
            "name": {
                "type": "string",
                "minLength": 1
            },
            "age": {
                "type": "integer",
                "minimum": 0
            }
        },
        "required": ["name"]
    },
    "uischema": {
        "type": "VerticalLayout",
        "elements": [
            {
                "type": "Control",
                "scope": "#/properties/name"
            },
            {
                "type": "Control",
                "scope": "#/properties/age"
            }
        ]
    }
}

# Render the form
result = render_jsonforms(form_schema, key="my_form")

if result:
    st.write("Form submitted:", result)

Development Setup

Prerequisites

  • Python 3.9+
  • Node.js and npm

Backend (Python)

# Create virtual environment
uv venv
source .venv/bin/activate

# Install dependencies
uv pip install -e .

Frontend (Vue + Vuetify)

cd streamlit_jsonforms/frontend
npm install
npm run dev

The frontend dev server runs on http://localhost:5173.

Running in Development Mode

  1. Start the frontend dev server (as above)
  2. In another terminal, run your Streamlit app:
    streamlit run your_app.py
    

Building for Production

cd streamlit_jsonforms/frontend
npm run build

This creates the dist/ directory that Streamlit serves in production mode.

License

MIT License - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit_jsonforms_vuetify_renderer-0.1.2.tar.gz (426.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file streamlit_jsonforms_vuetify_renderer-0.1.2.tar.gz.

File metadata

File hashes

Hashes for streamlit_jsonforms_vuetify_renderer-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f63cc8963243ac22fb01bf752d877b91bc0330be19ba666bf39d2b55cfd6ecc1
MD5 be3312c63c0275fa38f075143818027b
BLAKE2b-256 bd1337edbb425e86a12ce352e920ff66b4957d9ad3177b0428f146dfc70da166

See more details on using hashes here.

Provenance

The following attestation bundles were made for streamlit_jsonforms_vuetify_renderer-0.1.2.tar.gz:

Publisher: publish.yml on aswan-heart-centre/streamlit-jsonforms-vuetify-renderer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file streamlit_jsonforms_vuetify_renderer-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_jsonforms_vuetify_renderer-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 62c60dc674a71530cc904fc49d9e95492f51c448b687efc013a3ca44e0ccc06c
MD5 080b8d0a8eb2d82f6cbde83cf444434d
BLAKE2b-256 f832eae18a4355a952a64392c01ff443613ccf0113696c6ae11ea7cd2f41e167

See more details on using hashes here.

Provenance

The following attestation bundles were made for streamlit_jsonforms_vuetify_renderer-0.1.2-py3-none-any.whl:

Publisher: publish.yml on aswan-heart-centre/streamlit-jsonforms-vuetify-renderer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page