hauntsaninja / mypy_primer

Run mypy and pyright over millions of lines of code
MIT License
55 stars 29 forks source link

Added my open source projects #65

Closed Avasam closed 1 year ago

Avasam commented 1 year ago

Figured since I use type-checking a lot, this might be useful!

All four are checked with Pyright (all strict except speedrun.com_global_scoreboard_webapp, I'm due for my bi-yearly update :P ) #43

The top two are libraries checked with mypy as well. #42

The bottom two still have a mypy config file for support, but I don't actively lint against it because mypy has too many annoying quirks.

Avasam commented 1 year ago

At least Auto-Split doesn't work for me: [...] If wrangling platform dependencies is tricky, maybe there's some subset of dependencies we can just hardcode that results in good enough type checking.

Looks like you're on macos (which is indeed not supported yet). Quartz module comes from pyobj (Objective-C bindings). Which seems to be a dependency of the keyboard module on mac. (curious for keyboard to call a dependency on install without specifying it as a dependency) pyojc ; sys_platform=="darwin" should do the trick I think. Do you mean hardcode here or in AutoSplit?

hauntsaninja commented 1 year ago

I was referring to hardcoding things in mypy_primer. Your requirements.txt is a little large, e.g. it's got multiple git installs and extra index urls which pip is slow about, and it looks like most of the deps don't have types, so it could make sense to just hardcode things here instead of installing all of that and playing whackamole with the platform specific deps.

hauntsaninja commented 1 year ago

Thank you! :-)