Skip to main content

Automatically convert python absolute imports to relative.

Project description

relativize-imports

badge

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/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

relativize_imports-0.0.6-py2.py3-none-any.whl (4.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file relativize_imports-0.0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for relativize_imports-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7ee0e37d05ab5b4d0f201416ba9d4c8c49f481b01c3b5f09573f83a772d9b7cb
MD5 6b70929cac98b00542f160cab47e0fb3
BLAKE2b-256 0066038ea91972b450e5c2b1cd8dccdf7b53beaebe65cd9f39a2974e48bdbb99

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page