Skip to main content

OpenUI Specification

This repository contains a technology-independent specification for a Web UI framework. It also includes an Angular TypeScript generator that applies a UI description authored against the spec to an existing Angular workspace. The goal is to use the specification as the basis for a standard.

Developer docs

Contributor and developer entry points for this repository:

OpenUI JSON packages

Both implementations bundle spec/openui.schema.json and spec/openui.json. Validation checks the document shape, exact known object type membership, and globally unique object IDs.

Python

The openui-spec package requires Python 3.12 or newer and installs two command-line tools:

  • openui_spec validates and edits documents with validate, add, remove, and modify commands.
  • compare_openui_spec structurally compares two documents and emits a deterministic JSON changelog.
python -m pip install openui-spec
openui_spec validate --input document.json
openui_spec add --input document.json --parent root --object '{"id":"newTable","type":"Table"}'
compare_openui_spec reference.json updated.json --output changelog.json

TypeScript and Node.js

The @shlomoa/openui-spec package provides the typed OpenUiJson document API and the equivalent ng-openui-spec editing CLI.

npm install @shlomoa/openui-spec
import { OpenUiJson } from "@shlomoa/openui-spec";

const document = OpenUiJson.load("input.json");
document.validate();
document.add("root", { id: "newTable", type: "Table" });
document.updateAttributes("newTable", { title: "Updated" });
document.save("output.json");
ng-openui-spec validate --input document.json

Essentials

  • An OpenUI document is a tree with a root id of root; every node has a unique camelCase id and an exact, case-sensitive catalog type.
  • Put non-hierarchical values in attrs as strings or null, and nested objects in children.
  • Editing commands revalidate the result and update --input in place. Pass --output to preserve the source document.
  • Values accepted by --object and --attrs can be inline JSON or paths to JSON files.

Documentation

Release files for openui-spec 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openui-spec 0.3.0
File Size Uploaded
openui_spec-0.3.0.tar.gz 765.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openui-spec 0.3.0
File Interpreter ABI Platform
openui_spec-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / openui_spec-0.3.0.tar.gz

Download URL openui_spec-0.3.0.tar.gz
Size 765.0 kB
Tags Source
SHA-256 checksum
How to use checksums
03c6f886a26cc9dda86597b4822ff1a6656d2e95fb8142d331ba9cb7507a1ccd
BLAKE2b-256 checksum
How to use checksums
930d2372c02b7397786aae715762f283f7c0f7e77fb6d18a7b719b770a303e5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / openui_spec-0.3.0-py3-none-any.whl

Download URL openui_spec-0.3.0-py3-none-any.whl
Size 928.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
75b1a23b1e98eea0de652d113c44f1cf6805f42b75b6d254f5a2dc0779b0979c
BLAKE2b-256 checksum
How to use checksums
08c7290ab3d88ce58bccac7e97d4dc7fbfc7aa4ab9ef730c9a61d17b86014578
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.1

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page