Why ARKlight
A narrower tool on purpose.
The idea
You write ordinary Python. ARKlight discovers and executes that authoring code at build time, turns it into an intermediate representation, validates it against a closed vocabulary, and compiles it to HTML, CSS and JavaScript. The browser never runs Python.
Who it is for
Python developers who want a website without learning HTML, CSS, JavaScript, npm and a separate frontend ecosystem just to build a page.
Is this React in Python?
No. React is a JavaScript library and frontend runtime built for flexible application logic. ARKlight is deliberately narrower: a compiler with a closed vocabulary, where routing, validation and CSS are settled at build time and the runtime is reserved for what genuinely needs a browser.
What that closed vocabulary buys you
- Predictable output: the compiler knows which components and behaviors can exist.
- No arbitrary JavaScript expressions evaluated at runtime.
- Build-time errors instead of broken pages.
- User-defined components that expand during compilation and do not ship to the browser.
Honest limits
Know these before you commit:
- There is no server, database, auth or accounts layer.
- There is no general fetch or HTTP primitive.
- There is no live charting library. Charts are pre-rendered images, and Meter and Progress cover gauge-style numbers.
- There is no iOS target.
- Hand-written JavaScript is possible only through a few registered experimental escape hatches, such as script-extension.
These describe ARKlight v0.70.x. The roadmap and changelog are the places to check whether something has moved.
