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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flake8-import-order-grok-0.3.3.tar.gz.
File metadata
- Download URL: flake8-import-order-grok-0.3.3.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02717266073e8a81f03174b7bd9eb13c52089468ec420d6bf1a569daec99de35
|
|
| MD5 |
08e2271ca3476e65ba2bc52632ea177e
|
|
| BLAKE2b-256 |
a836145393f4dd1aa14d6ad0f1e6562d03e3cf1f406ebcf258962105601c4f08
|
File details
Details for the file flake8_import_order_grok-0.3.3-py2.py3-none-any.whl.
File metadata
- Download URL: flake8_import_order_grok-0.3.3-py2.py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
532975655e7f88dabf182656b5d963ee643cb85a8d0b15a238c744a0e6a7f391
|
|
| MD5 |
629c03d6143fde6d9e5c3c9b8af4ed96
|
|
| BLAKE2b-256 |
46ef22054e108f1114aa52c43e3b3439466d5e4f5501b2a3c385e25b54fba1a6
|