{"id":15013040,"url":"https://github.com/ssciwr/ipywidgets-jsonschema","last_synced_at":"2026-02-26T16:27:22.276Z","repository":{"id":37928313,"uuid":"453026446","full_name":"ssciwr/ipywidgets-jsonschema","owner":"ssciwr","description":"A widget generator for your Jupyter notebooks","archived":false,"fork":false,"pushed_at":"2026-02-23T17:33:48.000Z","size":19273,"stargazers_count":21,"open_issues_count":5,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T00:52:59.595Z","etag":null,"topics":["formgenerator","ipywidgets","jsonschema","jupyter","widgets"],"latest_commit_sha":null,"homepage":"https://ipywidgets-jsonschema.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ssciwr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-28T10:30:25.000Z","updated_at":"2026-01-27T09:39:30.000Z","dependencies_parsed_at":"2023-10-27T11:01:25.612Z","dependency_job_id":"3be92979-004c-45b4-85f2-95b641e334ef","html_url":"https://github.com/ssciwr/ipywidgets-jsonschema","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/ssciwr/ipywidgets-jsonschema","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fipywidgets-jsonschema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fipywidgets-jsonschema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fipywidgets-jsonschema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fipywidgets-jsonschema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssciwr","download_url":"https://codeload.github.com/ssciwr/ipywidgets-jsonschema/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fipywidgets-jsonschema/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29864711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["formgenerator","ipywidgets","jsonschema","jupyter","widgets"],"created_at":"2024-09-24T19:43:38.750Z","updated_at":"2026-02-26T16:27:22.270Z","avatar_url":"https://github.com/ssciwr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ipywidgets-jsonschema\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ssciwr/ipywidgets-jsonschema/ci.yml?branch=main)](https://github.com/ssciwr/ipywidgets-jsonschema/actions/workflows/ci.yml)\n[![PyPI version](https://badge.fury.io/py/ipywidgets-jsonschema.svg)](https://badge.fury.io/py/ipywidgets-jsonschema)\n[![Conda Version](https://img.shields.io/conda/vn/conda-forge/ipywidgets-jsonschema.svg)](https://anaconda.org/conda-forge/ipywidgets-jsonschema)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ssciwr/ipywidgets-jsonschema/main?labpath=demo%2Fdemo.ipynb)\n\nA lightweight library that seamlessly combines Pydantic models, JSON Schema, and IPyWidgets to generate interactive, schema‐driven forms in Jupyter notebooks. Define your data models with Pydantic (or raw JSON Schema), and this package will produce Jupyter widgets for editing and validating.\n\n---\n\n## Features\n\n- **Automatic Widget Generation:** Convert any JSON Schema or Pydantic model into a fully interactive IPyWidgets form.\n- **Pydantic Integration:** Leverage Pydantic’s data validation, typing, and JSON Schema generation.\n- **Nested Structures:** Support for nested objects, arrays, dictionaries, enums, unions, and optional fields.\n- **Inline Editing UI:** The `PydanticEditorMixin` wraps Pydantic models with an “Edit → Save/Cancel” toolbar for in‐place modifications.\n\n---\n\n## Installation\n\n`ipywidgets-jsonschema` can be installed with pip:\n\n```\npython -m pip install ipywidgets-jsonschema\n```\n\nAlternatively, you can get it from `conda-forge`:\n\n```\nconda install -c conda-forge ipywidgets-jsonschema\n```\n\n## Quick Start\n\n```\nfrom pydantic import BaseModel, Field\nfrom ipywidgets_jsonschema import Form\n\nclass Person(BaseModel):\n    name: str = Field(..., description=\"Your full name\")\n    age: int = Field(..., ge=0, description=\"Your age in years\")\n    email: str = Field(None, description=\"Optional email\")\n\nform = Form(Person)\nform.show()\n\n# Interact with the form in Jupyter; retrieve validated data:\nprint(form.data)  # e.g. {\"name\": \"Alice\", \"age\": 30, \"email\": \"alice@example.com\"}\n```\n\nThat’s it—your Pydantic model is now an interactive form. For more advanced examples (nested models, enums, unions, customization), see the Documentation.\n\n\n## License\n\nReleased under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssciwr%2Fipywidgets-jsonschema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssciwr%2Fipywidgets-jsonschema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssciwr%2Fipywidgets-jsonschema/lists"}