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.8.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.8.0
File Size Uploaded
openui_spec-0.8.0.tar.gz 1.0 MB Details

Built distribution (wheel)

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

Total release size: 2.2 MB

Release files / openui_spec-0.8.0.tar.gz

Download URL openui_spec-0.8.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
2e3410787e1ce49068649847796c25eb51fc86f32032fedf2cc1c1cdb3d989a5
BLAKE2b-256 checksum
How to use checksums
7a8798e47070537287809fd8d12ec419c234f0b3b197d36619e527e1c1551dfd
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.8.0-py3-none-any.whl

Download URL openui_spec-0.8.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
36384f22338cedf44e7fbbaaacecdbf73f7f1ed19da93fc6648bb861ceee0661
BLAKE2b-256 checksum
How to use checksums
17554525d74a6a077bd858da45864ac28c3c99b6104adcb4171cca4597c1bd06
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

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.4.0

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