Groups, sorts, and formats import statements.
Project description
Groups, lexicographically sorts and formats import statement into the three groups as defined by PEP8 (standard library, third-party packages, current package/application.)
Imports from the same package are collapsed into a single statement, and multiple identifiers from the same packages are grouped using parentheses and separated by a newline.
Usage
Usage: format-imports.py [options] Groups, sorts, and formats import statements. Options: -h, --help show this help message and exit -a APPLICATION, --application=APPLICATION -s STDLIB_FILES, --stdlib-file=STDLIB_FILES File(s) containing additional module names to add to the standard library set.
The script accepts input via stdin, and outputs the formatted code via stdout.
Example
For the given bad.py:
import sys
import foo
import bar as other
from baz import (
package,
package3,
)
from module import package3 as package4
from baz import package2, package1
import application
from application.utils import memoize
from application.models import User
from application.models import Place
import os
The output of format-imports.py -a application < bad.py will be:
import os
import sys
import bar as other
import foo
from baz import (
package,
package1,
package2,
package3,
)
from module import package3 as package4
import application
from application.models import (
Place,
User,
)
from application.utils import memoize
Usage with Vim
Select a chunk of text in visual mode, then invoke the format-imports.py script against the chunk with:
:'<,'>!format-imports.py -a <application>
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
File details
Details for the file importformatter-0.1.3.tar.gz
.
File metadata
- Download URL: importformatter-0.1.3.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 716fb335f5205d93d03794b8a15e6137c9b79e702230007b6e68bbfbdb5dd883 |
|
MD5 | 8e3fdc764d9993595c29a49f73c1d627 |
|
BLAKE2b-256 | 5e3f29a5dac334012d513126458d18d7cbd576604eebc7e8f5e097bd7232bf67 |