ARKlight logoARKlight
Getting startedTutorialReferenceExamplesWhyChangelog

Start here

Getting started
Why ARKlight

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.

Related

See the

tutorial

to try it, or the

reference

for the full vocabulary.

LicenseChangelogGitHubPyPI

ARKlight is GPLv3 with attribution terms; sites you build are yours. Your browser is still running JavaScript. We just made Python responsible for getting it there.