Postgres Migration Lock Lint
Runs the same checker as our npm package on a Node.js runtime that pip installs for you (
nodejs-wheel-binaries) - no system Node.js needed. Your files are checked locally.
Names every statement in a Rails, Django or raw SQL migration that takes a table-blocking Postgres lock, and prints the non-blocking rewrite. 36 rules, PostgreSQL 12-17.
Install
pg-migration-lock-lint file
Node 18+. The same 36 rules as the VS Code extension, from a terminal or CI.
Free
- Check the migration file you have open against all 36 rules and get the lock mode, the failure and the safe rewrite for every statement.
--ruleslists every rule
With a licence ($29 once)
- Check every migration in the workspace in one pass, export the review as Markdown or JSON for the change ticket, and fail CI on an exit code.
pg-migration-lock-lint --dir ./templates --report html --out report.html
Independent Postgres consultancies bill migration and lock review at $150/hour and up; this is one review, priced once.
Use from an AI agent (MCP)
Claude Code · Cursor · Windsurf · any MCP client - add to your MCP config:
{ "mcpServers": { "pg-migration-lock-lint": { "command": "pg-migration-lock-lint", "args": ["--mcp"] } } }
Tools: check_text and check_file (free) · check_dir (licence). The agent gets every finding with the line number.
Use in CI
- name: Postgres Migration Lock Lint
run: pip install rulestamp-pg-migration-lock-lint && pg-migration-lock-lint --dir . --ci
The folder sweep, reports and CI mode need one licence — one payment, no subscription. Set READYSTACK_LICENSE=<key> or run --license <key> once.
Install (PyPI)
pip install rulestamp-pg-migration-lock-lint
pg-migration-lock-lint --help
Metadata
Release files for rulestamp-pg-migration-lock-lint 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rulestamp_pg_migration_lock_lint-1.0.7.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rulestamp_pg_migration_lock_lint-1.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.4 kB
Release files / rulestamp_pg_migration_lock_lint-1.0.7.tar.gz
| Download URL | rulestamp_pg_migration_lock_lint-1.0.7.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba5891c9d97b7cff2189a53c3e77796c2a4a471f3a67efffc7f3b83d0fc01e76
|
|
BLAKE2b-256 checksum How to use checksums |
ae99014075086d4278b12b8b26bafa051c0af585b0b0131ad792ae9ca51521ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / rulestamp_pg_migration_lock_lint-1.0.7-py3-none-any.whl
| Download URL | rulestamp_pg_migration_lock_lint-1.0.7-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9cbe9dd1152ef83f172bd06175b8d5785bb3a72b3421ba21f7decd34785a30bc
|
|
BLAKE2b-256 checksum How to use checksums |
658480820676718a14d18b5f96e02b8a65fc496fc7d3a77237fb2947279f37d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|