|
ARKlight lets you describe a website in Python and compiles it to standard, dependency-free HTML, CSS, and JavaScript. The browser never executes Python.
# include <stdlib.ARKlight>
site = Site()
@site.page("/")
def home():
return Page(
Heading("ARKlight"),
Text("Build websites with Python."),
Button("Get Started"),
)arklight build site.py. # writes ARK/index.html
arklight pack ARK -o site.ark # one portable .ark bundle| Repository | What it is | License |
|---|---|---|
| ARKlight | The Python compiler and CLI: source → AST → validated, backend-independent IR → HTML / CSS / JS backends. Where sites are authored and where the language evolves. | GPL-3.0-or-later |
| C_ARKlight | The compiler core in C (libcarklight): a small, dependency-free library behind a stable ABI that builds sites from the .arklight encoding of the IR. Work in progress. |
GPL-3.0-or-later |
| ARKlight Viewer for Android | Tap a .ark bundle and browse the whole multi-page site offline, with no server. Sealed and passphrase-protected bundles supported. Android 7.0+. |
Apache-2.0 |
| ARKlight Component Collections | ACC: the planned package and distribution system for ARKlight components, actions, styles, and other extensions. Early design stage. | Apache-2.0 |
| ARKlight Ecosystem | This repos purpose is centralised Documentation and getting Poll requests if a user has any feature requests or suggestions that respects ARKlight's philosophy Compiler First - Runtime Last It's recommended to drop a docs here |
None |
Python source
│
▼
ARKlight (Python) ── AST → IR → HTML / CSS / JS ──▶ static site ──▶ .ark bundle
│ │
│ .arklight (encoded IR) ▼
▼ ARKlight Viewer
C_ARKlight: the same outputs, built in (Android)
dependency-free C behind a stable ABI
ACC: extension packages that plug into ARKlight
- Intent, not markup. The IR models what a site means; HTML is just one backend's rendering of it, so CSS, JS, and future targets all run over the same tree.
- Static output. What ships is plain files. No runtime, no framework, no server required.
- Fast frontier, slow core. ARKlight in Python moves quickly and defines what's next. The C core deliberately trails it, picking up only what has shipped and stayed stable.
As of when this Readme was done
Early and moving fast. ARKlight is at 0.54.1 (main) and 0.067 on alpha, with work
started on 0.068 and new work developed on the alpha branch. C_ARKlight tracks an
earlier, frozen ARKlight release by design. The Android viewer builds APKs in CI, and ACC
is still on the drawing board.
git clone https://github.com/ARKlight-Ecosystem/ARKlight.git
cd ARKlight
pip install -e . # Python 3.10+
arklight build examples/hello_site/site.pyMore in the ARKlight README. More in the ARKlight Ecosystem
