You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a particular setup with a repo in which there are two folders containing python projects.
Those project each have their own pyproject.toml with their own config for isort.
If I run isort project1, everything works fine. Same with isort project2. However, if I do isort . from the root directory, isort doesn't seem to find the configuration and considers all firstparty imports to be thirdparty instead.
As you can see, the main files django/example.py and scripts/example2.py each have 3 imports:
1 stdlib import (sys)
1 third party import (pandas)
1 first party import (setting or value)
By default, those imports are properly separated ; showing that isort properly understands the category they each belong to.
Now, if we do isort django or isort scripts, nothing changes, as expected.
But if we do isort ., we'll see the main files change to put setting / value into the third party exports category.
I expect isort django, isort scripts and isort . to behave the exact same way and always result in the exact same code.
Fun facts:
isort django scripts will properly format django but mess up scripts.
isort scripts django will properly format scripts but mess up django.
The option --resolve-all-configs does not change anything. It's as if it were entirely ignored or maybe I misunderstood its purpose.
Version
isort 5.12.0
Python 3.9.18
The text was updated successfully, but these errors were encountered:
I've got the same problem and the src_paths workaround worked for me, but it isn't great. The default behaviour is just counter intuitive and --resolve-all-configs makes it worse instead of fixing it. There seems to be a solution here: #2142 but it's a year old without any movement.
Context
I have a particular setup with a repo in which there are two folders containing python projects.
Those project each have their own
pyproject.toml
with their own config forisort
.If I run
isort project1
, everything works fine. Same withisort project2
. However, if I doisort .
from the root directory,isort
doesn't seem to find the configuration and considers all firstparty imports to be thirdparty instead.Reproduction
I have a reproduction repo for people to see what goes wrong.
It is available here: https://github.com/cedric-spinergie/isort-repro-2200
To be future proof
Structure
Files in
django
django/pyproject.toml
django/example.py
django/setting.py
Files in
scripts
scripts/pyproject.toml
scripts/example2.py
scripts/value.py
The problem
As you can see, the main files
django/example.py
andscripts/example2.py
each have 3 imports:sys
)pandas
)setting
orvalue
)By default, those imports are properly separated ; showing that
isort
properly understands the category they each belong to.Now, if we do
isort django
orisort scripts
, nothing changes, as expected.But if we do
isort .
, we'll see the main files change to putsetting
/value
into the third party exports category.I expect
isort django
,isort scripts
andisort .
to behave the exact same way and always result in the exact same code.Fun facts:
isort django scripts
will properly formatdjango
but mess upscripts
.isort scripts django
will properly formatscripts
but mess updjango
.Version
isort 5.12.0
Python 3.9.18
The text was updated successfully, but these errors were encountered: