Skip to main content

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

  1. lombik createapp myapp
  2. cd myapp
  3. flask 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

  1. 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.

  1. Update your .env with your database credentials (at least dev for development)
  2. Initialize the database:

flask initdb

  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lombik-0.1.4.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lombik-0.1.4-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file lombik-0.1.4.tar.gz.

File metadata

  • Download URL: lombik-0.1.4.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for lombik-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0f98246fe37162413bbbc96f40085b3edabff1cd2076c5e78e7c0d280826df61
MD5 08818e658a9485b0efeed566b701a337
BLAKE2b-256 0b3f682c40cb477fd9cf2b45ee0ddded7998825cf8e4b3d8fd6ac8e302a89183

See more details on using hashes here.

File details

Details for the file lombik-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: lombik-0.1.4-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

Hashes for lombik-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 92dc1a052e90d01879ae209acf41f15d6004da007094f5325de6e949a17eac7c
MD5 7a3da3908b63e64f335f3ab51e19eccc
BLAKE2b-256 cd5ba76a9c9c1bb268bce6a7fa80a6b929caf6d2d32b0275e8b82f0a0cd93a27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page