relativize-imports
Automatically convert python absolute imports to relative.
Inspired and adapted from MarcoGorelli/absolufy-imports.
Installation
$ pip install --upgrade relativize-imports
Usage as a pre-commit hook
See pre-commit for instructions
Sample .pre-commit-config.yaml
:
- repo: https://github.com/reallyliri/relativize-imports
rev: v0.0.6
hooks:
- id: relativize-imports
Or with args:
- repo: https://github.com/reallyliri/relativize-imports
rev: v0.0.6
hooks:
- id: relativize-imports
args:
- svc/src
- automation/tests/source
Usage
relativize-imports [path/to/dir/or/file.py ...]
Provide zero or more paths to relativize.
Files are assumed to be relative to the cwd. Directories are assumed as relativization root and the tool will format all python files under them, in any depth.
If no args are provided, the tool will run in the cwd and address it as the relativization root.
Config
The tool will read any config set in tox.ini
in a root directory.
If you want to exclude any files from relativization (i.e entrypoints), you can add them to config:
[relativize-imports]
ignore = src/main.py,test
Command-line example
$ relativize-imports
$ relativize-imports src
$ relativize-imports mypackage/myfile.py
- from mypackage import __version__
+ from . import __version__
Build and Publish
rm -rf dist
python setup.py bdist_wheel
twine upload dist/*