The async web framework for Python.
Batteries-included and type-safe — routing, ORM, queue, cache, auth, mail, views, and a fast CLI in one coherent toolkit.
from arvel import Route, Model class Post(Model): __fillable__ = ["title", "body"] # eager-load the author relation — no N+1 posts = await Post.with_("author") \ .where(published=True).get() Route.resource("posts", PostController) # 7 routes
Everything you need, natively async.
Every layer is async to the core and strictly typed — so concurrency is the default and your editor catches mistakes before CI does.
Async-first
Routing, ORM, queues, mail and cache are async end-to-end. High-concurrency Python without blocking surprises.
async / awaitType-safe to the core
Strict static typing on every public API, modern generics, and mechanically-enforced boundaries.
strict typingBatteries included
ORM, Auth, validation, queues, events, mail, notifications, storage, templates and a test kit — one toolkit.
one toolkitAn ORM you'll enjoy
Active-Record with relations, eager loading, soft-deletes, casts and migrations — no N+1, multi-dialect SQL.
no N+1A first-class CLI
Scaffold apps, run migrations, drive queue workers and open a REPL — all from one fast command.
arvel newLight by default
import arvel pulls zero heavy libraries. Each capability loads only when you use it.
Familiar, expressive, type-safe.
Resource routes, relations, dispatchable jobs and fluent validation — clean, readable APIs with Python types from end to end.
from arvel import Route Route.resource("posts", PostController) # 7 RESTful routes Route.get("/users/{user}", show, name="users.show") Route.middleware("auth").group(lambda: ( Route.post("/posts", store), ))
Four gates keep the framework honest.
Not aspirations — CI checks. Every commit must pass all four, so quality is mechanical, not a matter of discipline.
Boundaries
import-linter keeps modules honest: kernel isolation, a layered DAG, no heavy import at load.
Startup
import arvel pulls zero heavy libraries; the CLI stays instant.
Types
Strict mypy + pyright on every public API surface.
Verified behavior
Every capability is exercised by a dedicated per-module test, proving it works as documented.
Ready to build?
Scaffold an app and serve it in under a minute.