sa20-pack is the public trust layer for one narrow upgrade path: a
zero-infrastructure SQLAlchemy 1.4 to 2.0 migration scanner plus proof,
reports, and commercial-pack docs.
Website: zippertools.org
Public proof: SQLAlchemy migration proof on public files
Do not trust this blindly with your project. Visible GitHub social proof is still weak, the public repo is scanner-first and does not expose the full paid apply engine, and the public proof is intentionally narrow: a few supported examples plus fail-closed examples. Run the free scan on a branch, inspect the report and diff, and trust the result only after your own typecheck, build, and tests pass.
| Problem | Page |
|---|---|
OptionEngine has no execute |
Fix the OptionEngine execute error |
Engine has no execute |
Fix the Engine execute error |
Query.get() warnings |
Fix LegacyAPIWarning for Query.get |
select([..]) legacy syntax |
Fix legacy select warnings |
joinedload_all removal |
Fix joinedload_all migration issues |
| Unsure where to start | SQLAlchemy 2.0 migration triage checklist |
| Automation or manual migration | Manual migration vs codemod |
Pydantic BaseSettings import error |
Fix BaseSettings import errors |
Pydantic @validator warnings |
Fix Pydantic validator deprecation warnings |
It is deliberately opinionated:
- free scanner first
- fail closed on ambiguous cases
- machine-generated migration report every run
- the public repo does not expose the commercial apply engine
SQLAlchemy's official migration story is good documentation and warning-driven cleanup, but not a maintained product workflow. This public repo establishes trust by showing supported scope, demo value, and machine-generated findings before a buyer ever pays for the commercial migration pack.
- scans for legacy declarative imports
- scans for
select([..])list syntax - scans for
session.query(Model).get(pk) - scans for simple string relationship
join()and loader options - scans for simple DML constructor keyword usage
- flags unsupported legacy patterns outside safe automation
The paid commercial pack contains the full apply engine and broader coverage.
- teams still upgrading a SQLAlchemy 1.4 codebase to 2.0
- repos that still contain
select([..]),Query.get(...), string relationship names, or legacy declarative imports - engineers who want a deterministic scan and a machine-generated report before deciding whether to buy the commercial pack
Run the free scan first. The supported subset is intentionally narrow and the product is strongest when the report shows several supported rewrites in one repo.
- your repo is already mostly 2.0-safe
- your upgrade is dominated by
engine.execute(...),Query.from_self(), or broadQueryAPI rewrites - you want a tool that guesses through ambiguous SQLAlchemy behavior
See quickstart.
The storefront has exact-problem landing pages for the highest-signal queries we already support:
- SQLAlchemy migration tool overview
- SQLAlchemy public proof
session.querymigrationsession.query(...).get()migrationselect([columns])migrationdeclarative_baseimport migrationjoin("addresses")migrationjoinedload("addresses")migrationengine.execute(...)removedinsert(table, values=...)migration
The storefront also carries Pydantic v2 migration pages for the documented supported subset:
Before announcing the public site, run:
python -m sa20_pack.launch_readinessor:
sa20-pack-launch-checkThe command fails if required launch assets are missing or if
site/config.js still contains placeholder values.
- Market selection
- Product spec
- Demo
- Pricing
- Public proof
- Commercial case
- Demo summary artifact
- Claims and safeguards
- Store products
- Fulfillment
- Deployment
- Company setup
- Legal checklist
- Launch readiness
- Privacy policy
- Refund policy
- Terms of sale
- License terms
- Support scope
- Repo fit checklist
- Preset bundle checklist
- Sales ops
- Lead tracker
- Launch log
- KPI dashboard
- Distribution playbook
- Launch posts
- Packaging
- Release checklist
- Limitations
- Troubleshooting
- Manual migration comparison
- Open-source split
- Backlog
Public repo:
- free community scanner
- demo artifacts and public proof
- website/storefront assets
- buyer docs, policies, and pricing structure
Paid commercial pack:
- apply engine
- broader transform coverage
- richer rollout templates and presets
- automated Stripe Checkout with verified digital ZIP delivery
MIT, unless the packaging strategy changes before public release.