Statically populate the `known_third_party` `isort` setting.
Project description
seed-isort-config
Statically populate the known_third_party
isort
setting.
isort
when run in isolation is not the best at determining what
dependencies are third party.
aspy.refactor_imports
is fortunately much better at
this static analysis.
Why not just use reorder-python-imports
? Well, it
lacks a few features provided by isort
(intentionally).
What this script does is seeds the known_third_party
isort configuration
automatically.
install
pip install seed-isort-config
usage
seed-isort-config
provides a single executable by the same name. Run it
inside a git
repository.
To specify custom application roots (such as with the src
pattern) pass a
colon-separated --application-directories
parameter.
Files may be excluded from the process using the --exclude
flag.
This argument takes a python regular expression.
For a full list of arguments, see seed-isort-config --help
.
getting started
seed-isort-config
looks for an existing known_third_party
setting in an
isort configuration file. It will modify that if it exists, otherwise it'll
create a brand new .isort.cfg
file.
The easiest way to get started is to just add a blank known_third_party =
section to your isort configuration (or known_third_party = []
if you are
using pyproject.toml
).
usage with pre-commit
This works especially well when integrated with pre-commit
.
- repo: https://github.com/asottile/seed-isort-config
rev: v2.2.0
hooks:
- id: seed-isort-config
- repo: https://github.com/timothycrosley/isort
rev: 4.3.21 # pick the isort version you'd like to use from https://github.com/timothycrosley/isort/releases
hooks:
- id: isort
In this configuration, seed-isort-config
will adjust the known_third_party
section of the isort
configuration before isort
runs!
Note that seed-isort-config
doesn't act like a normal pre-commit linter so
file exclusion must be configured through args: [--exclude=...]
instead.
For example: args: [--exclude=tests/.*\.py]
.
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
File details
Details for the file seed_isort_config-2.2.0.tar.gz
.
File metadata
- Download URL: seed_isort_config-2.2.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4cfef8f9a3fe8ea1817069c6b624538ac0b429636ec746edeb27e98ed628c8 |
|
MD5 | e1036cf42fef58eaf11d73a4ce828c33 |
|
BLAKE2b-256 | e1b2bda7e27d9b42e7fae4d78f47709f2c21f9cf0f3f927f701d9e6a8bd533a6 |
File details
Details for the file seed_isort_config-2.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: seed_isort_config-2.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8601fb715a5a4aac39256bbf73c2da6a81f964da9c9d9897ab9074db3663526f |
|
MD5 | d37593d959a7c2837b0a12f658261b31 |
|
BLAKE2b-256 | 6b8578c654684181ecab22c279d425479a5265f9c1fa144939b35bdf1ac7cc35 |