Zig 0.16

Web framework
for Zig

Fast, minimal, built for systems.
HTTP, WebSockets, PostgreSQL, Templates — batteries included.

const std = @import("std");
const spider = @import("spider");

pub fn main(init: std.process.Init) !void {
    var server = spider.app();
    defer server.deinit();

    server
        .get("/", homeHandler)
        .listen(.{}) catch {};
}

fn homeHandler(c: *spider.Ctx) !spider.Response {
    return c.json(., .{});
}

Everything you need

Click any card to see docs and examples

Router
Trie-based with dynamic params /users/:id
WebSocket
WS support + hub broadcasting
→ Live Demo
PostgreSQL
Built-in PG client with pooling
→ Live Demo
Metrics
Internal metrics + dashboard
→ Live Demo
Logger
Structured JSON logging
Pooling
Connection & buffer pooling
Static Files
Built-in static file serving
Graceful Shutdown
Handles SIGINT / SIGTERM
Group Routes
Route prefixes via .group
Request
Params, JSON binding, form & query
Response
HTML, JSON, redirect, status, headers
Middleware
Chain via server.use(fn)
Templates
Variables, loops, if/else, extends
Docker
Official Zig image for fast builds
Testing
zig test . + zig fmt .