This is really something I should've done since the beginning.
I'm using tan for this, which is just a fork of black which adds a --use-tabs switch. Black imposes spaces because, apparently, "tabs are the devil". This is a massive L take so I will choose to ignore this and go with tan.
[x] Create a CI job which checks this is done correctly for each commit.
With Ruff, we wanna ignore the following diagnostics:
E402 Module level import not at top of file: Pyglet requires us to set options before any subpackages, so not all our imports can be at the top of the file.
F405 * may be undefined, or defined from star imports: These are indeed defined from star imports. I guess we could import all the symbols in __all__ explicitly, but if there's a mistake here and it causes a runtime error, that's not the end of the world.
F403 from . import * used; unable to detect undefined names: See above.
This is really something I should've done since the beginning.
I'm using
tan
for this, which is just a fork of black which adds a--use-tabs
switch. Black imposes spaces because, apparently, "tabs are the devil". This is a massive L take so I will choose to ignore this and go withtan
.With Ruff, we wanna ignore the following diagnostics:
*
may be undefined, or defined from star imports: These are indeed defined from star imports. I guess we could import all the symbols in__all__
explicitly, but if there's a mistake here and it causes a runtime error, that's not the end of the world.from . import *
used; unable to detect undefined names: See above.