ashtonjamesd/lavandula
FreeA lightweight web framework in C
FreeFree tier
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.