Grok Learning's flake8-import-order plugin.
Project description
flake8-import-order-grok
A flake8-import-order ordering definition, defining Grok Learning's preferred import order style.
The import order enforced by this style is:
__future__
- builtins
- Django
- Non-django third-party, grouped by package
- Application packages
All groups of imports require a line break between them, except between __future__
and builtins.
All imports must be alphabetical horizontally and vertically.
Within an import unit, names must be constants first, followed by classes, followed by functions (i.e. CAPITAL_CASE
, CamelCase
, underscore_case
).
The names of the application packages can be configured via the application-import-names
setting in flake8
.
For example, if application-import-names
is set to my_project
, this import ordering enforces the following ordering:
# coding: utf-8
from __future__ import absolute_import, print_function, unicode_literals # 1. `__future__`
import io # 2. Builtins.
import logging
import os
import tarfile
from django.conf import settings # 3. Django.
from django.utils.http import urlencode
from dns.exception import DNSException, Timeout # 4. Non-Django third-party packages, each one separated by a blank line.
from dns.resolver import NXDOMAIN, NoAnswer, Resolver
import requests
import ujson
from my_project.core.enums import Enum # 5. Application packages.
from my_project.utils.download import DOWNLOAD_TIMEOUT, InvalidURLException, download_content_url
Usage
Install the flake8-import-order-grok
package using pip
, then tell flake8
to use this import order style using the --import-order-style=grok
command-line option, or by setting it in setup.cfg
.
The names of your application package(s) can be set by the application-import-names
setting:
[flake8]
import-order-style = grok
application-import-names = my_package1, my_package2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flake8-import-order-grok-0.3.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02717266073e8a81f03174b7bd9eb13c52089468ec420d6bf1a569daec99de35 |
|
MD5 | 08e2271ca3476e65ba2bc52632ea177e |
|
BLAKE2b-256 | a836145393f4dd1aa14d6ad0f1e6562d03e3cf1f406ebcf258962105601c4f08 |
Hashes for flake8_import_order_grok-0.3.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 532975655e7f88dabf182656b5d963ee643cb85a8d0b15a238c744a0e6a7f391 |
|
MD5 | 629c03d6143fde6d9e5c3c9b8af4ed96 |
|
BLAKE2b-256 | 46ef22054e108f1114aa52c43e3b3439466d5e4f5501b2a3c385e25b54fba1a6 |