sprezzature-ui
The deterministic half of a frontend skill: find the strings that should be in a translation catalogue, and scaffold the catalogue they belong in.
The other half — writing the interface, in semantic HTML with Tailwind
utilities and plain ES modules, no framework runtime, with dark-mode peers,
focus rings and reduced-motion guards — is the model's work, guided by the
SKILL.md that ships with
the suite. No HTTP route can carry "make this dashboard legible", and this
package does not pretend otherwise.
What's here
sprezzature-ui-i18n-audit |
audit — translations embedded in JavaScript and HTML, LLM prompts inlined in Python. Both belong in locales/i18n.yaml. Standard library only. |
sprezzature-ui-i18n-make |
make — scaffold that catalogue, compile it to JSON, emit the loader that reads it. |
Two front doors over both: make-ui <tool> (argparse) and
sprezzature-ui <tool> (click). Both read one table, so a tool cannot appear
in one and be missing from the other.
Why it matters sooner than it seems
A hardcoded sentence in a template costs nothing on the day it is written. It costs a week the day somebody needs a second language and discovers the strings are scattered through the source — in JavaScript string literals, in HTML attributes, in prompt templates buried in Python. The audit is cheap enough to put in a pre-commit hook, which is where it catches them one at a time instead of all at once.
Install
pip install sprezzature-ui # the audit
pip install "sprezzature-ui[i18n]" # + the catalogue tools (PyYAML)
pip install "sprezzature-ui[api,mcp]" # + the HTTP and agent surfaces
Use
sprezzature-ui-i18n-audit src/ # exit 1 on any finding
sprezzature-ui-i18n-make locales/i18n.yaml
As a pre-commit hook
repos:
- repo: https://github.com/warith-harchaoui/sprezzature-ui
rev: v1.0.0
hooks:
- id: sprezzature-ui-i18n-audit
From Python
from sprezzature_ui import audit_path
Over HTTP
pip install "sprezzature-ui[api]"
uvicorn sprezzature_ui.api:app --port 8000
One route, POST /v1/i18n-audit: source in, findings out. The narrowness is
the point rather than an omission — see the first paragraph.
See also
- sprezzature-accessibility — lint the HTML you emit, and draft the alt text it says is missing.
- sprezzature-colors — contrast and colour-vision checks on the palette.
- sprezzature-ux-laws — audit how the interface feels, by the named heuristics.
- sprezzature — the suite, and the skills that drive it from Claude.
License
BSD-3-Clause. See LICENSE.
Author
Metadata
Release files for sprezzature-ui 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sprezzature_ui-1.0.0.tar.gz | 28.9 kB | Without provenance | Details for sprezzature_ui-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sprezzature_ui-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for sprezzature_ui-1.0.0-py3-none-any.whl |
Total release size: 51.6 kB
Release files / sprezzature_ui-1.0.0.tar.gz
| Download URL | sprezzature_ui-1.0.0.tar.gz |
|---|---|
| Size | 28.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce7f3d0aff53e192a0fb5f677730ad22c816c95d0a30dbb84b2237cc605302ce
|
|
BLAKE2b-256 checksum How to use checksums |
0f24a16b1e8467bbf97e1e4a1631693f532ff490c25fc9f601b6b5ac44dbad40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Release files / sprezzature_ui-1.0.0-py3-none-any.whl
| Download URL | sprezzature_ui-1.0.0-py3-none-any.whl |
|---|---|
| Size | 22.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a131db50c60bc4cd24c3a07d34f0a0d1a14e487b3d0045ae1dee805c331c531e
|
|
BLAKE2b-256 checksum How to use checksums |
999b0d30fe088bfa18293f98407877ea2940e7ed863e965b891696d265606d51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Security for sprezzature-ui 1.0.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.