Oven logo

Oven

Published

A tool to automatically replace relative imports with absolute ones.

pip install absolufy-imports

Package Downloads

Weekly DownloadsMonthly Downloads

Authors

Project URLs

Requires Python

>=3.6.1

Dependencies

    Build Status Coverage pre-commit.ci status

    absolufy-imports

    A tool and pre-commit hook to automatically convert relative imports to absolute.

    demo

    Installation

    $ pip install absolufy-imports
    

    Usage as a pre-commit hook (recommended)

    See pre-commit for instructions

    Sample .pre-commit-config.yaml:

    -   repo: https://github.com/MarcoGorelli/absolufy-imports
        rev: v0.3.0
        hooks:
        -   id: absolufy-imports
    

    Command-line example

    $ absolufy-imports mypackage/myfile.py
    
    - from . import __version__
    + from mypackage import __version__
    

    Configuration

    Application directories

    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.

    Only use relative imports

    Use the --never flag, e.g.

    $ absolufy-imports mypackage/myfile.py --never
    
    - from mypackage import __version__
    + from . import __version__