Skip to content
ARKlight-EcosystemPublic

About

ARKlight Ecosystem Write Python. Ship plain HTML. A Python-first compiler for static websites, and the tools that grow around it.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

ARKlight

ARKlight Ecosystem

Write Python. Ship plain dependency free Website. A ecosystem where developers work with a structured component API, while the output remains ordinary, dependency-free Hyper Text Markup Language Cascading Style Sheets JavaScript. and the tools that grow around it.


What is ARKlight?

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

Repositories

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

How the pieces fit

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

Design principles

  • 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.

Status

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.

Try it

git clone https://github.com/ARKlight-Ecosystem/ARKlight.git
cd ARKlight
pip install -e .                              # Python 3.10+
arklight build examples/hello_site/site.py

More in the ARKlight README. More in the ARKlight Ecosystem

About

ARKlight Ecosystem Write Python. Ship plain HTML. A Python-first compiler for static websites, and the tools that grow around it.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors