A format-agnostic, schema-driven, hierarchical configuration UI.
Project description
StructUI
StructUI is a format-agnostic, schema-driven, hierarchical configuration UI engine built in Python. Designed as a flexible architectural backbone, it parses standard configuration files (YAML, JSON, CSV, XML) and dynamically generates a live web-based property editor based on constraints and metadata defined in a schema file.
The architecture is explicitly decoupled, making it readily extensible to strict domain-specific specifications (e.g., AUTOSAR configurators) and agent-driven programmatic workflows.
Features
- Pillar A: Format-Agnostic Parsers: cleanly separate UI generation from underlying data formats. Out-of-the-box support for YAML, JSON, and XML (including schema-driven arrays and attributes), with abstract base classes extensible to CSV and others.
- Pillar B: Hierarchical UI: Dynamic tree-based rendering with full support for multidimensional containers, dynamic polymorphic list additions, and node mapping. Powered natively by NiceGUI.
- Pillar C: Data Validity: Enforces schema metadata strictly at the UI layer. Missing fields gracefully populate via defaults, required flags trigger locking, and nested typings are continuously evaluated.
- Pillar D: Extensibility & Programmatic Control: Decomposed core logic (App, Parser, State, Schema, UI) allowing external tools and wrappers (e.g. CLI, Agent Workflows) to invoke the editor or inject properties safely.
Installation
From PyPI (recommended)
pip install structui
From Source (development)
git clone https://github.com/MoSaeedHammad/structui.git
cd structui
pip install -e .
Quick Start
Launch the editor in the current directory against your local configuration files by simply typing:
structui --dir . --schema .structui_schema.yaml --port 8080
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file structui-0.2.0.tar.gz.
File metadata
- Download URL: structui-0.2.0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0681a0559d257e01896d53f0a1414c363e263f6d1a67aecffc932cb743222e2e
|
|
| MD5 |
83da05d9fed342ef879412d065763081
|
|
| BLAKE2b-256 |
5033de20e2d7c94bd97f8f451ec9e08d5f455e90e5560bbaeb21d9662f21d09e
|
Provenance
The following attestation bundles were made for structui-0.2.0.tar.gz:
Publisher:
publish.yml on MoSaeedHammad/structui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
structui-0.2.0.tar.gz -
Subject digest:
0681a0559d257e01896d53f0a1414c363e263f6d1a67aecffc932cb743222e2e - Sigstore transparency entry: 1054174424
- Sigstore integration time:
-
Permalink:
MoSaeedHammad/structui@55d256878f1e67275abef721f021e12ce89d0a45 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/MoSaeedHammad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@55d256878f1e67275abef721f021e12ce89d0a45 -
Trigger Event:
release
-
Statement type:
File details
Details for the file structui-0.2.0-py3-none-any.whl.
File metadata
- Download URL: structui-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87eed00b26efff75a0275a03e4475380102d9d9aa332420f1863215fbd3013ba
|
|
| MD5 |
1333cc562c5f37565582763d5a8b0417
|
|
| BLAKE2b-256 |
82e67c2e0d08407e5a79b40ae577ad6ff483310eb6e35e0c047fc3e3da6f0679
|
Provenance
The following attestation bundles were made for structui-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on MoSaeedHammad/structui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
structui-0.2.0-py3-none-any.whl -
Subject digest:
87eed00b26efff75a0275a03e4475380102d9d9aa332420f1863215fbd3013ba - Sigstore transparency entry: 1054174473
- Sigstore integration time:
-
Permalink:
MoSaeedHammad/structui@55d256878f1e67275abef721f021e12ce89d0a45 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/MoSaeedHammad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@55d256878f1e67275abef721f021e12ce89d0a45 -
Trigger Event:
release
-
Statement type: