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

Metadata

Release files for openui-spec 0.4.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.4.0
File Size Uploaded
openui_spec-0.4.0.tar.gz 959.5 kB Details

Built distribution (wheel)

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

Total release size: 2.1 MB

Release files / openui_spec-0.4.0.tar.gz

Download URL openui_spec-0.4.0.tar.gz
Size 959.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9c85d4bd779b589bf38c4e22ecb792bd2349e75f2c8fe46abb8bedf89f1420b3
BLAKE2b-256 checksum
How to use checksums
6c559ba7b4ce6b17d65dd44f35eb2616fe04b44f1563ac4bd6f496a5e8cd9f6d
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 29, 2026.

Transparency log

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

Download URL openui_spec-0.4.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
82ce7589cf66cd0b9cc7ea839d38763251f392c5576a70d09bed9246cee14259
BLAKE2b-256 checksum
How to use checksums
64f78c1a03e8cebf4e767420598298d1d6947c1cdfac50854bf1ccdbc04c8af7
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 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.13.1

2 release files

0.13.0

2 release files

0.11.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

This release

0.4.0 This release

2 release files

0.3.1

2 release files

0.3.0

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