ashtonjamesd/lavandula logo

ashtonjamesd/lavandula

Free

A lightweight web framework in C

FreeFree tier
Type
Open Source

About ashtonjamesd/lavandula

Lavandula is a lightweight, fast, and intuitive C web framework designed for building small web applications quickly. It focuses on simplicity, performance, and productivity, providing a controller and routing system, HTTP endpoint support (GET, POST, etc.), middleware pipeline, built-in logging, JSON library, SQLite integration, static file serving, request validation, and a CLI for project scaffolding. The framework is written in pure C with minimal dependencies and includes a built-in unit testing framework. Note: Lavandula is still in early development and not production-ready, with frequent breaking changes and incomplete documentation.

Key Features

Controller and routing system
HTTP endpoint support (GET, POST, etc.)
Controller local/global middleware pipeline
Minimal dependencies (pure C)
Quick project scaffolding via the CLI (lavu)
Built-in unit testing framework
Environment variable support
Built-in logging
SQLite integration
Built-in JSON library

Pros & Cons

Pros
  • Lightweight and fast, written in pure C
  • Minimal dependencies
  • Intuitive API and built-in testing framework
  • Provides CLI for quick project scaffolding
  • Includes SQLite integration and JSON library out of the box
  • Open source under MIT License
Cons
  • Still in early development, not production-ready
  • Frequent breaking changes expected
  • Incomplete documentation
  • Lacks advanced features like multithreading, TLS, and full database integrations (in progress)
  • Limited community and ecosystem

Best For

Building small web applications quicklyRapid prototyping of web servicesLearning C web development with a simple frameworkCreating lightweight REST APIsEducational projects and personal experimenting

FAQ

Is Lavandula production-ready?
No. Lavandula is still in early development and not ready for production use. Expect frequent breaking changes and incomplete documentation.
What license is Lavandula under?
Lavandula is registered under the MIT License.
How do I install Lavandula?
Clone the repository and run ./install.sh, or use the 'lavu' CLI tool to create and manage projects.
What programming language is Lavandula written in?
Lavandula is written in C (97.3% C, with some Shell and Makefile).
Does Lavandula support SQLite?
Yes, it has built-in SQLite integration.