PyCQA / PyCQA/isort

`skip_glob` seems to ignore `!(ab|cd|ef)` syntax

Open
#1,955 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
7k
Forks
687
Avg merge
4h 56m
Merged PRs (30d)
2

Description

Related to #885 and #1927 , Python 3.8.10, isort 5.10.1, pattern works in the glob tester here https://www.digitalocean.com/community/tools/glob (and https://globster.xyz/ I think, but the output is... odd).

Project structure:

.
├── (Various config files, including:)
├── setup.cfg with `[tool:isort]`
├── src
│   ├── scripts
│   │   ├── zzz.yyy.py
│   │   ├── zzz.aaa.py
│   │   ├── zzz.bbb.py
│   │   └── zzz.ccc.py

I am trying to skan all **/zzz.* except zzz.yyy.py with the following:

  1. skip_glob=**/zzz.* - skips all 4 files;
  2. skip_glob=**/zzz.!(yyy.py) - (working in glob testers above) does not skip anything.

Is this !(ab|cd|ef) syntax supported by isort?

Edit 26/07: Fixed the second skip_glob example, I forgot to "obfuscate" it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the shown project structure and the two skip_glob values in setup.cfg under Python 3.8.10 and isort 5.10.1. Trace how isort interprets skip_glob, then verify whether !(yyy.py) is supported; done means the documented behavior is clear and the example either works as expected or is rejected consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.