Skip to content

PyVELM

Odoo semantics, Laravel ergonomics, and a Tailwind + HTMX shell in Python.

PyVELM is a declarative framework for building ERP-style business apps with:

  • Odoo-like recordsets and module lifecycle
  • Fluent model, view, and menu declarations
  • FastAPI + Jinja runtime on SQLAlchemy-backed databases (PostgreSQL, SQLite, MySQL/MariaDB, SQL Server, Oracle, and other supported dialects)

Start here

If you are new, follow this order:

  1. Getting started - scaffold, boot, and install your first module.
  2. Learning path - a practical day-by-day route for your first week.
  3. Declaring models - fields, relations, computed fields, and query patterns.
  4. Building UIs - list/form/kanban/detail views with fluent builders.
  5. Modules and Migrations - versioning and safe deploy flow.
  6. Security and Deployment - production basics.

If you already know the concepts and need exact signatures, jump to API reference.

Quick start

From PyPI (new app):

pipx install pyvelm
pyvelm init my_erp
cd my_erp
cp .env.example .env
docker compose up --build

From this source repository:

git clone https://github.com/coolsam726/pyvelm.git
cd pyvelm
cp .env.example .env
pip install -e .
docker compose up --build

See Getting started for Docker/local setup, and Multi-database support for backend matrix and DSN examples.

Documentation map

CLI essentials

pyvelm init my_erp
pyvelm new inventory
pyvelm make:model inventory.product --module=inventory
pyvelm make:view inventory.product --module=inventory
pyvelm db autogen inventory
pyvelm db migrate

See CLI reference for full command options.

Current release

Latest docs target v1.4.6. Active development notes are in Unreleased.

Published package:

pip install pyvelm==1.4.6