This tool has been superseded by Ruff https://docs.astral.sh/ruff/rules/relative-imports/. Please use that instead.
R.I.P. absolufy-imports
A tool and pre-commit hook to automatically convert relative imports to absolute.
$ pip install absolufy-imports
See pre-commit for instructions
Sample .pre-commit-config.yaml
:
- repo: https://github.com/MarcoGorelli/absolufy-imports
rev: v0.3.1
hooks:
- id: absolufy-imports
$ absolufy-imports mypackage/myfile.py
- from . import __version__
+ from mypackage import __version__
If your package follows the popular ./src
layout, you can pass your application directories via --application-directories
, e.g.
$ absolufy-imports src/mypackage/myfile.py --application-directories src
- from . import __version__
+ from mypackage import __version__
Multiple application directories should be colon-separated, e.g. --application-directories .:src
. This is the same as in reorder-python-imports.
I'd suggest using pre-commit.
Either that, or
git ls-files | grep '\.py$' | xargs absolufy-imports
naah...