Start with a little Python.

Create an endpoint and see it respond in your browser.

Experimental · Python 3.13+

Install

You will need Python 3.13+ and uv. Open a terminal and run:

git clone https://github.com/grandimam/karak.git
cd karak
uv sync

Stay in the karak directory for the steps below. See installation if you need more help with setup.

Create an application

Create a file called main.py in that directory:

from karak import Karak

app = Karak()


@app.get(path="/", methods=["GET"])
async def index():
    return "Hello from Karak"

This tells Karak to run index() when someone visits /. The text you return becomes the response. Use async def for your endpoints in the current version.

Run it

uv run uvicorn main:app --reload

Open localhost:8000 in your browser. You should see:

Hello from Karak

Change the returned text, save main.py, and refresh the browser. The --reload option restarts the development server when you edit a file. Press Ctrl+C in the terminal when you want to stop it.

What next?

Add another endpoint, then accept values from a request. For the bigger picture—APIs, jobs, workers, and operating them together—read our vision.

Define routes →

Type to find a page.