Skip to content

pyvelm v0.2.6

Release date: 2026-05-22
Base module: 0.18.0 (unchanged)

Optional Vellum ORM veneer (Eloquent-style queries, eager load, scopes, events, mass assignment, soft deletes) plus core One2many/Many2many request cache.


Highlights

Vellum (from pyvelm.vellum import Vellum)

Opt-in per model — list Vellum before BaseModel:

posts = env.query("blog.post").where("views", ">", 100).limit(20).get()

Also: @scope, @on(...), _fillable / _guarded, SoftDeletes, with_(), with_count(), relation helpers (has_many, belongs_to).

Vellum was later removed from the framework; see current Declaring models for the supported ORM surface.

Core cache

One2many / Many2many fields cache child id tuples on env.cache for the request (invalidated on inverse FK / M2M writes). Benefits all code, not only Vellum.

Example smoke test

python examples/vellum_smoke.py

examples/modules/vellum_demo demonstrates notes, comments, and soft delete models.


Install

pip install pyvelm==0.2.6

Development from this repo:

pip install -e .

Upgrade from v0.2.5

  1. pip install -U pyvelm (or pip install -e .)
  2. Restart app / cron workers
  3. Optional: add vellum to your dependency list in manifests if you import pyvelm.vellum (bundled module installs automatically with BUILTIN_MODULE_ROOTS)
  4. Models using SoftDeletes need a migration for deleted_at (or reuse active)

Full diff: v0.2.5…v0.2.6