Flask scaffold engine
Project description
Lombik
A scaffold engine for Flask — because starting from scratch is overrated.
Lombik exists to remove the boring parts of starting a Flask project. It gives you a ready-to-use structure so you can focus on building, not wiring things together.
It leans heavily into a hypermedia-first approach, using Jinja2, template filters, HTMX, and Tailwind to keep logic close to the UI and reduce frontend complexity.
What you get out of the box
- Flask project structure pre-wired and ready to run
- Simple authentication system
- MySQL integration
- Tailwind + HTMX setup
- Error handling
- CSRF protection + session expiry
- Pre-imported common utilities
- Base templates for desktop and mobile
Template filters (the fun part)
Lombik ships with a set of Jinja filters designed to keep your templates clean and expressive.
Dates & time handling
Instead of formatting timestamps in Python, you do it directly in the template:
{{ created_at | localtime }} → 2026-05-19 05:15
{{ created_at | onlydate }} → 2026-05-19
{{ created_at | onlytime }} → 05:15
{{ created_at | shortdatetime }} → May 19 05:15
Everything defaults to localtime, meaning UTC from the backend is automatically shown in the user’s timezone.
Lombik expects the user’s timezone to be available via g.
String helpers
Make frontend display logic less painful:
{{ g.user.full_name | proper }}
john_doe → John Doe
{{ g.user.first_name | possessive }}
john → john's
lucas → lucas'
You can chain them:
{{ g.user.full_name | proper | possessive }}
john_doe → John Doe's
Installation
pip install lombik
Create a project
lombik createapp myappcd myappflask run --debug
This generates a full application structure so you can start immediately. To log in, you need a superuser account so you can exit the app and follow the next steps.
Add modules
lombik module new_module
Creates a new module in blueprints that is registered automatically in app.py with the default file structure and a few core imports. The following names are prohibited by default: "core", "auth", "settings".
Database setup
Lombik uses MySQL by default.
- Update your
.envwith your database credentials (at least dev for development) - Initialize the database:
flask initdb
- Create your admin user:
flask superuser
After that, you can log in and start building.
Note: the auth system is intentionally simple. It’s meant for development scaffolding, not production security.
Models
When adding new models, don’t forget to register them:
models/__init__.py
Otherwise they won’t be picked up.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lombik-0.1.2.tar.gz.
File metadata
- Download URL: lombik-0.1.2.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d1a1aed0606d77dae65fb2c3689776b07956fba076fef27e1acc0ab90612b7
|
|
| MD5 |
46d6dcb63902085aa9f68ea0aa3ddb6f
|
|
| BLAKE2b-256 |
28c75f718a1748df73823fc104f8377a795a46e02cbc1dd8f1a65ea882db191f
|
File details
Details for the file lombik-0.1.2-py3-none-any.whl.
File metadata
- Download URL: lombik-0.1.2-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
072bdc606535732d55fc6574abf1be07b557a72272e5529a87c9d867cfe74120
|
|
| MD5 |
fc45a100de4877e36288298534580898
|
|
| BLAKE2b-256 |
355a22e930df19a29b1b2d7d99ea0839d4119e192f2f22444ab74285060470d3
|