Skip to content
This repository was archived by the owner on Jul 3, 2024. It is now read-only.

MarcoGorelli/absolufy-imports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

050a10f · Jul 3, 2024
Nov 1, 2022
Jan 20, 2022
Feb 28, 2021
Feb 2, 2021
May 16, 2023
Feb 28, 2021
Feb 2, 2021
Jul 3, 2024
Jan 20, 2022
Feb 2, 2021
Nov 1, 2022
Feb 2, 2021
Nov 1, 2022

Repository files navigation

Build Status Coverage pre-commit.ci status

NOTE

This tool has been superseded by Ruff https://docs.astral.sh/ruff/rules/relative-imports/. Please use that instead.

R.I.P. absolufy-imports

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

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

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.

Run on directory

I'd suggest using pre-commit.

Either that, or

git ls-files | grep '\.py$' | xargs absolufy-imports

Relative imports if some condition else absolute

naah...