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.1

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.1
File Size Uploaded
openui_spec-0.3.1.tar.gz 765.0 kB Details

Built distribution (wheel)

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

Total release size: 1.7 MB

Release files / openui_spec-0.3.1.tar.gz

Download URL openui_spec-0.3.1.tar.gz
Size 765.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1d4e25172179d3fc332e2ea0b2ae4117c21a5e37bd5a678edea096024da8d16b
BLAKE2b-256 checksum
How to use checksums
732683bffa2dd9aca974eb7dcaa535c3c7477752e7f81a114f0eb238c49e8475
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 25, 2026.

Transparency log

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

Download URL openui_spec-0.3.1-py3-none-any.whl
Size 928.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79f25a21f9091110555fadbe3ba80e7465534f56e33a9b65eac8e51c2e574004
BLAKE2b-256 checksum
How to use checksums
221cdfea0506e9a642a26b231d769ca938609752cba784489aaa58357af83dd9
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 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

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