obelize¶
Verified codemods for breaking Python dependency upgrades. obelize rewrites the code it can prove safe to change, tells you why it left the rest, and runs your tests before and after.
uvx obelize scan
uvx obelize fix
scan lists every place in your repository that a migration touches and edits nothing. fix prints
the plan and the diff, and writes only with --apply. It ships migrations from google-generativeai
to google-genai, openai 0.x to 1.x and PyPDF2 to pypdf.
Start here¶
- Getting started installs obelize and takes one migration from a dry run to a verified change.
- After a run explains the exit codes and what to do with the places it left.
- Upgrading a dependency finds what is behind, makes a pack for a library that has none, tries the move with your tests in a copy and keeps it, on a branch if you ask.
- With a coding agent hands those places to an agent and keeps the check.
How it earns trust¶
- A migration pack is data, and it holds no code. The bundled ones are reviewed and cite the library's own guide; one made from two releases says what it was made from.
- A rewrite happens only where obelize can resolve the call and prove the edit. Everything else stays as written, with a reason.
- Your tests run before and after, so a change is verified against your own suite.
- Nothing is written without
--apply, andobelize undoputs the files back.
Read Safety for what it does to your machine, Limits for what it does not do yet, and the Benchmark for what it measured.