A tool to automatically replace relative imports with absolute ones.
Project description
abs-imports
A pre-commit hook to automatically convert relative imports to absolute.
Installation
pip install abs-imports
Usage as a pre-commit hook
See pre-commit for instructions
Sample .pre-commit-config.yaml
:
- repo: https://github.com/MarcoGorelli/abs-imports
rev: v0.2.0
hooks:
- id: abs-imports
Command-line example
$ cat mypackage/myfile.py
from . import __version__
$ abs_imports mypackage/myfile.py
$ cat mypackage/myfile.py
from mypackage import __version__
If your package follows the popular ./src
layout, you can pass your application directories via --application-directories
, e.g.
cat src/mypackage/myfile.py
from . import __version__
$ abs_imports src/mypackage/myfile.py --application-directories src
$ cat src/mypackage/myfile.py
from mypackage import __version__
Multiple application directories should be comma-separate, e.g. --application-directories .:src
. This is the same as in reorder-python-imports.
See also
Check out pyupgrade, which I learned a lot from when writing this.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
abs_imports-0.2.0.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for abs_imports-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad017b6d2b7fdd278a082f13af18a4d72fba1d0d216771a036212b8e3ff9c87a |
|
MD5 | 913ec65336b9e06316e77a02df3de3bc |
|
BLAKE2b-256 | e95571ca07cb64457e7df56b8537bc0bf608274c883963c1b20ad6f991dc58ae |