mypy icon indicating copy to clipboard operation
mypy copied to clipboard

mypy 1.16 has new dependency pathspec

Open kaddkaka opened this issue 6 months ago • 9 comments

Documentation

mypy 1.15 does not have a dependency on python package pathspec but mypy 1.16 does. Is this something you usually document (in release notes?) or somewhere else?

kaddkaka avatar Jun 11 '25 07:06 kaddkaka

No, like most Python packages, we document our dependencies in the packaging metadata

hauntsaninja avatar Jun 12 '25 01:06 hauntsaninja

I believe that @kaddkaka wants to know why mypy now requires pathspec.

jorenham avatar Jun 12 '25 02:06 jorenham

Linking https://github.com/python/mypy/pull/18696 for context

brianschubert avatar Jun 12 '25 02:06 brianschubert

The --exclude-gitignore is a very handy feature. But if that's the only reason for requiring pathspec, and it isn't enabled by default, then why is is a required dependency 🤔?

Also note that the last pathspec release was at Dec 10, 2023, and uses a MPL-2.0 license ~, which is incompatible with MIT I believe~, but that's not a problem apparently.

jorenham avatar Jun 12 '25 02:06 jorenham

Wait is there some issue with pathspec / licensing?

(We could change things around, I have some gitignore code I wrote lying around somewhere that is faster and I think slightly more correct than pathspec, I just had too much going to make it a real open source project)

hauntsaninja avatar Jun 12 '25 03:06 hauntsaninja

Wait is there some issue with pathspec / licensing?

No sorry for the confusion, I thought so at first, but I was wrong, and they're sufficiently compatible (open-source licenses are difficult apparently)

jorenham avatar Jun 12 '25 03:06 jorenham

(We could change things around, I have some gitignore code I wrote lying around somewhere that is faster and I think slightly more correct than pathspec, I just had too much going to make it a real open source project)

You're a responsible and trustworthy open source maintainer as far as I have seen, so yes, I would definitely prefer that. But I also understand the maintenance burden that comes with an open-source project (a bit too well), so you could also consider bundling it with mypy.

jorenham avatar Jun 12 '25 03:06 jorenham

There's also https://github.com/mherrmann/gitignore_parser, which uses an MIT license, is very lightweight (224 LOC), has a recent release, and claims to be spec-compliant.

jorenham avatar Jun 12 '25 03:06 jorenham

No, like most Python packages, we document our dependencies in the packaging metadata

Where can I see that?

Edit: Oh, in mypy-requirements.txt / pyproject.toml / setup.py

The reason I asked was because I had to update my nix-shell environment and our mypy nix-package. Nothing else :)

kaddkaka avatar Jun 12 '25 04:06 kaddkaka