Skip to main content

Flake8 and pylama plugin that checks the ordering of import statements.

Project description

Build Status

A flake8 and Pylama plugin that checks the ordering of your imports.

In general stdlib comes first, then 3rd party, then local packages, and that each group is indivudually alphabetized, see Configuration section for details.

It will not check anything else about the imports. Merely that they are grouped and ordered correctly.

This plugin is under somewhat active development and is heavily influenced by the personal preferences of the developers of cryptography. Expect seemingly random changes and configuration changes as we figure out how it should work.

Warnings

This package adds 3 new flake8 warnings

  • I100: Your import statements are in the wrong order.

  • I101: The names in your from import are in the wrong order.

  • I201: Missing newline between sections or imports.

Configuration

You will want to set the application-import-names option to a comma separated list of names that should be considered local to your application. These will be used to help categorise your import statements into the correct groups.

import-order-style controls what style the plugin follows (cryptography is the default):

Limitations

Currently these checks are limited to module scope imports only. Conditional imports in module scope will also be ignored. The classification of an import as being non-stdlib of some kind depends on that package actually being installed.

I103 only checks that groups of imports are not consecutive and only takes into account the first line of each import statement. This means that multi-line from imports, comments between imports and so on may cause this error not to be raised correctly in all situations. This restriction is due to the data provided by the stdlib ast module.

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

flake8-import-order-0.7.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flake8_import_order-0.7-py2.py3-none-any.whl (11.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file flake8-import-order-0.7.tar.gz.

File metadata

File hashes

Hashes for flake8-import-order-0.7.tar.gz
Algorithm Hash digest
SHA256 657276c3cde2c208c5b1074c70d4a3a7afe4bc9e5e2ba9fc4983a65adfa8e4cb
MD5 5cd0c26244873d0e30b70f35b7a184a8
BLAKE2b-256 a6549aeea04f883d3ff18ebd69cfe8a3f866d41cad0f6624ca9296e6b5b8bcdd

See more details on using hashes here.

File details

Details for the file flake8_import_order-0.7-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for flake8_import_order-0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7f80ce3356d7f4acb9b81984d941d7f08ad23fd988b70841443026d83b7a2ca4
MD5 61664820ca9767096918b42076e5d26e
BLAKE2b-256 055e769bfef3bad898926fcde845fb1decc3363bf1458cf06c416ed6d640bd5d

See more details on using hashes here.

Supported by

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