Skip to content

pyvelm v0.2.0

Release date: 2026-05-22
Base module: 0.18.0

pyvelm is an Odoo-style ERP framework in Python — declarative models, recordsets, module loading, and a full web UI on PostgreSQL. v0.2.0 is the second public release: interactive analytics, a stronger security and files story, and enough polish to run a real demo app end to end.


Highlights

Interactive graph & pivot views

Analytics views behave more like Odoo — change the report without reloading the page.

  • Graph view — Bar, Line, Area, and Pie charts (ApexCharts) with live Group by and Measure selectors
  • Pivot view — Cross-tab table with row/column groupby chips, multiple measures, and Swap axes
  • read_group() — Server-side aggregation with date truncations (:day, :week, :month, …) and Many2one label resolution
  • JSON APIs/api/graph/data, /api/pivot/data, /api/view-fields

Draggable form dialog

Create and edit related records in a floating, draggable modal (Odoo-style):

  • Wired into Many2one (“Create and edit…”) and One2many row links
  • HTMX forms inside the dialog; save closes the dialog and returns the new record to the opener

Documents & attachments

  • ir.attachment with pluggable storage (local or database)
  • Upload / download / delete API endpoints
  • widget="attachment" — drag-and-drop upload zone on forms

Users & security

  • Profile avatars (URL or upload via image widget)
  • Field.private — passwords never appear in read() or API responses
  • Admin password reset with session invalidation
  • Session token rotation on self-service password change
  • CSRF on unsafe requests; login rate limiting

Developer experience

  • pyvelm db diff / pyvelm db autogen — additive schema migration generation
  • TypedDict view shapes and builder helpers (graph_view, pivot_view, …)
  • Dockerfile + docker-compose (Postgres + cron worker)

Also in this release

Area What you get
Views List, form, kanban, graph, pivot + view switcher
ORM Recordsets, relational fields, computed fields, _inherit
Modules Manifests, install/upgrade, hand-written migrations
UI M2o combobox, M2m chip editor, inline validation, drag-reorder, autosave
Workflows Server actions, automations, cron, mail threads, outgoing mail
Auth Sessions, multi-company, ACL + record rules, admin module

Install

pip install pyvelm==0.2.0

Demo from source:

git clone https://github.com/coolsam726/pyvelm.git
cd pyvelm
python -m venv .venv && source .venv/bin/activate
pip install -e .
# configure .env, start Postgres, then:
python examples/serve.py

Upgrade from v0.1.0

  1. pip install -U pyvelm==0.2.0
  2. Run module upgrades so migrations apply (base → 0.18.0)
  3. Rebuild CSS if you customize templates: npm run build

What's next

  • Vellum — Eloquent-style ORM veneer (later removed from the framework)
  • Mail followers & message subtypes
  • S3/MinIO attachment backend
  • O2m inline editing widget (shipped in v0.2.1)

Full diff: v0.1.0…v0.2.0