=======
Origins
=======
`django-codemod `__ was an existing Django auto-upgrade tool, written by Bruno Alla.
Unfortunately its underlying library `LibCST `__ is (or at least was) particularly slow, making it annoying to run django-codemod on every commit and in CI.
django-upgrade started as an experiment in reimplementing such a tool using the same techniques as the fantastic `pyupgrade `__.
The tool leans on the standard library’s `ast `__ and `tokenize `__ modules, the latter via the `tokenize-rt wrapper `__.
This means it will always be fast and support the latest versions of Python.
In a quick benchmark against a medium Django repository, with 153k lines of Python:
* django-codemod took 133 seconds
* django-upgrade took 0.5 seconds
Since its creation, django-upgrade has seen great adoption.