PyVELM v1.0.0¶
Release date: 2026-06-01
Major release: portable SQLAlchemy Core database layer, PostgreSQL and SQLite as supported production/dev backends, Laravel-style seeders, and declarative Schema migrations for module scripts.
Highlights¶
Database layer (pyvelm.database)¶
- One connection API for the framework: pooling, dialect capabilities, and a
psycopg-compatible adapter on
Environment.conn. PYVELM_DSNaccepts SQLAlchemy URLs:postgresql+psycopg://…,postgres://…(normalised),sqlite:///….- Boot paths (
pyvelm migrate,pyvelm serve, cron,create_app) use the layer instead of hand-rolled psycopg pools.
See Database layer (v1.0) and ADR 001.
SQLite (v1.0)¶
- Greenfield install and model-driven schema sync on SQLite.
- Bundled Postgres-only SQL migration scripts are skipped on SQLite.
- Domain
ilikeusesLOWER(…) LIKEwhen the dialect has noILIKE.
Ideal for local dev, CI, and embedded demos — not multi-worker production.
Seeders¶
- Laravel-style
Seederclasses under<module>/seeders/, discovered fromseeders/__init__.pyor manifestSEEDERS. - Run on install, upgrade, and Apps → Sync; idempotent by convention.
- CLI:
pyvelm db seed(see Modules → Seeders).
geo_data ships batched geography inserts and
PYVELM_GEO_SEED_LEVEL for tests (countries vs full). See
Geo data.
Schema migrations (declarative)¶
- Module migrations can use
Schema(env).create/.tablewith a Blueprint API (column builders,foreign_id,drop_column, …). - Documented in Migrations.
Multi-database routing (preview)¶
PYVELM_DATABASES, tenant selector UI, per-request pools — preview only in v1.0. v1.1+ targets MySQL/MariaDB portability first.- See Multi-DB routing (preview).
Other (since 0.26.x)¶
Recent 0.26 patches (workflow menu links, WEB_ROUTES on Apps install, font
theming, console generators) are included in the 1.0 line. See
v0.26.2 … v0.26.0.
Upgrade from 0.26.x¶
- Point
PYVELM_DSNat a SQLAlchemy URL (see multi-database.md). - Run
pyvelm db migrate(or your usual migrate entry point). - Apps → Sync on modules that ship seeders (e.g. geo_data) if you rely on reference data.
Postgres remains the reference backend. SQLite is supported for new greenfield apps; test your modules on both if you ship portable DDL.
Documentation¶
- Versioned docs via mike — versioning guide.
- CHANGELOG