astral-sh / ruff

An extremely fast Python linter and code formatter, written in Rust.
https://docs.astral.sh/ruff
MIT License
32.16k stars 1.08k forks source link

RFE: please add scanning .pyi filres as well #11986

Closed wuch-g2v closed 4 months ago

wuch-g2v commented 4 months ago

Looks like currently if ruff is executed with directory as param it scans only .py files. It would be good to add to scan .pyi as well (I'm not sure about .pyx and other).

charliermarsh commented 4 months ago

I believe we always find .pyi files too. Can you provide a reproduction?

❯ ruff check foo
foo/foo.pyi:1:8: F401 [*] `os` imported but unused
Found 1 error.
[*] 1 fixable with the `--fix` option.
wuch-g2v commented 4 months ago

When I'm executing ruff check --diff --fix . on latest mypy I have waaay less generated changes compare to ruff check --diff --fix $(find . -name \*.py -o -name \*.pyi).

wuch-g2v commented 4 months ago
[wuch@pers-jacek SOURCES]$ ls -l python-mypy-ruff.patch.pyi python-mypy-ruff.patch.py
-rw-r--r-- 1 wuch wuch    793 Jun 23 18:10 python-mypy-ruff.patch.py
-rw-r--r-- 1 wuch wuch 158586 Jun 23 18:11 python-mypy-ruff.patch.pyi
charliermarsh commented 4 months ago

My guess is you have tons of files in excluded directories?

charliermarsh commented 4 months ago

Ruff will check excluded files if passed directly on the command-line, which is what you're doing with the second command. Those commands don't have the same semantics.

wuch-g2v commented 4 months ago
[wuch@pers-jacek SOURCES]$ diffstat python-mypy-ruff.patch.pyi
 mypy/ipc.py          |    3 +--
 mypy/util.py         |    3 +--
 mypyc/ir/class_ir.py |    2 +-
 3 files changed, 3 insertions(+), 5 deletions(-)
[wuch@pers-jacek SOURCES]$ diffstat python-mypy-ruff.patch.pyi
 mypy/ipc.py                                                                         |    3 +--
 mypy/typeshed/stdlib/_bisect.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_codecs.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_collections_abc.pyi                                           |    2 +-
 mypy/typeshed/stdlib/_compression.pyi                                               |    3 ++-
 mypy/typeshed/stdlib/_csv.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/_ctypes.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_curses.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_dummy_threading.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/_imp.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/_locale.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_lsprof.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_operator.pyi                                                  |   24 +++++++++++++++++++++---
 mypy/typeshed/stdlib/_posixsubprocess.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/_py_abc.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_socket.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_thread.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/_typeshed/__init__.pyi                                         |   12 ++++++------
 mypy/typeshed/stdlib/_typeshed/wsgi.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/_winapi.pyi                                                    |    5 +++--
 mypy/typeshed/stdlib/abc.pyi                                                        |    5 +++--
 mypy/typeshed/stdlib/argparse.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/array.pyi                                                      |    5 +++--
 mypy/typeshed/stdlib/ast.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/asyncio/__init__.pyi                                           |    4 ++--
 mypy/typeshed/stdlib/asyncio/base_events.pyi                                        |   12 ++++++++++--
 mypy/typeshed/stdlib/asyncio/base_tasks.pyi                                         |    3 ++-
 mypy/typeshed/stdlib/asyncio/events.pyi                                             |   12 ++++++++++--
 mypy/typeshed/stdlib/asyncio/locks.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/asyncio/protocols.pyi                                          |    3 ++-
 mypy/typeshed/stdlib/asyncio/queues.pyi                                             |    2 +-
 mypy/typeshed/stdlib/asyncio/runners.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/asyncio/streams.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/asyncio/subprocess.pyi                                         |    3 ++-
 mypy/typeshed/stdlib/asyncio/trsock.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/asyncio/windows_events.pyi                                     |    3 ++-
 mypy/typeshed/stdlib/asyncore.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/base64.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/bdb.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/binascii.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/binhex.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/builtins.pyi                                                   |   76 +++++++++++++++++++++++++++++++++++++++++++---------------------------------
 mypy/typeshed/stdlib/bz2.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/cProfile.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/calendar.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/cgi.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/cgitb.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/codecs.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/collections/__init__.pyi                                       |    8 +++++++-
 mypy/typeshed/stdlib/compileall.pyi                                                 |    3 ++-
 mypy/typeshed/stdlib/concurrent/futures/_base.pyi                                   |    3 ++-
 mypy/typeshed/stdlib/configparser.pyi                                               |   13 +++++++++++--
 mypy/typeshed/stdlib/contextlib.pyi                                                 |    3 ++-
 mypy/typeshed/stdlib/csv.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/ctypes/__init__.pyi                                            |   16 +++++++++++++---
 mypy/typeshed/stdlib/ctypes/_endian.pyi                                             |    7 ++++++-
 mypy/typeshed/stdlib/dataclasses.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/dbm/gnu.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/dbm/ndbm.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/distutils/cmd.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi                            |    3 ++-
 mypy/typeshed/stdlib/distutils/core.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/distutils/dist.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/distutils/util.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/distutils/version.pyi                                          |    4 ++--
 mypy/typeshed/stdlib/doctest.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/email/__init__.pyi                                             |    4 ++--
 mypy/typeshed/stdlib/email/generator.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/email/iterators.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/email/parser.pyi                                               |    3 ++-
 mypy/typeshed/stdlib/email/utils.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/encodings/__init__.pyi                                         |    3 ++-
 mypy/typeshed/stdlib/encodings/utf_8.pyi                                            |    1 +
 mypy/typeshed/stdlib/encodings/utf_8_sig.pyi                                        |    1 +
 mypy/typeshed/stdlib/enum.pyi                                                       |    5 +++--
 mypy/typeshed/stdlib/errno.pyi                                                      |    2 +-
 mypy/typeshed/stdlib/faulthandler.pyi                                               |    1 +
 mypy/typeshed/stdlib/fcntl.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/filecmp.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/fileinput.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/ftplib.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/functools.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/genericpath.pyi                                                |    9 ++++++++-
 mypy/typeshed/stdlib/gettext.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/glob.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/graphlib.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/grp.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/gzip.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/hashlib.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/heapq.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/hmac.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/http/client.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/http/cookiejar.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/http/server.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/imaplib.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/imghdr.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/imp.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/importlib/abc.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/importlib/machinery.pyi                                        |    3 ++-
 mypy/typeshed/stdlib/importlib/metadata/__init__.pyi                                |    3 ++-
 mypy/typeshed/stdlib/importlib/readers.pyi                                          |    3 ++-
 mypy/typeshed/stdlib/importlib/util.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/inspect.pyi                                                    |   14 ++++++++++++--
 mypy/typeshed/stdlib/io.pyi                                                         |    3 ++-
 mypy/typeshed/stdlib/itertools.pyi                                                  |   12 +++++++++++-
 mypy/typeshed/stdlib/json/__init__.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi                                        |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixer_base.pyi                                         |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi                                     |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi                                 |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi                                   |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi                                  |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi                                    |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi                                     |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi                                    |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi                             |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi                                  |    3 ++-
 mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi                                   |    3 ++-
 mypy/typeshed/stdlib/lib2to3/main.pyi                                               |    3 ++-
 mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi                                     |    2 +-
 mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi                                       |    3 ++-
 mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi                                      |    3 ++-
 mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi                                        |    3 ++-
 mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi                                         |    3 ++-
 mypy/typeshed/stdlib/lib2to3/pytree.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/lib2to3/refactor.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/logging/__init__.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/logging/config.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/logging/handlers.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/lzma.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/mailbox.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/marshal.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/mimetypes.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/mmap.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/multiprocessing/__init__.pyi                                   |    6 +++++-
 mypy/typeshed/stdlib/multiprocessing/connection.pyi                                 |    3 ++-
 mypy/typeshed/stdlib/multiprocessing/context.pyi                                    |    9 ++++++++-
 mypy/typeshed/stdlib/multiprocessing/forkserver.pyi                                 |    3 ++-
 mypy/typeshed/stdlib/multiprocessing/heap.pyi                                       |    3 ++-
 mypy/typeshed/stdlib/multiprocessing/managers.pyi                                   |   13 +++++++++++--
 mypy/typeshed/stdlib/multiprocessing/reduction.pyi                                  |    3 ++-
 mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi                           |    3 ++-
 mypy/typeshed/stdlib/multiprocessing/util.pyi                                       |    3 ++-
 mypy/typeshed/stdlib/netrc.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/nntplib.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/ntpath.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/numbers.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/optparse.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/os/__init__.pyi                                                |   49 ++++++++++++++++++++++++++++---------------------
 mypy/typeshed/stdlib/parser.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/pathlib.pyi                                                    |   13 +++++++------
 mypy/typeshed/stdlib/pickle.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/pkgutil.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/plistlib.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/posix.pyi                                                      |    6 +++++-
 mypy/typeshed/stdlib/posixpath.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/profile.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/pstats.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/pwd.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/pydoc.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/pyexpat/__init__.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/quopri.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/random.pyi                                                     |    5 +++--
 mypy/typeshed/stdlib/re.pyi                                                         |    3 ++-
 mypy/typeshed/stdlib/readline.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/resource.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/runpy.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/secrets.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/select.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/selectors.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/shutil.pyi                                                     |   10 +++++++++-
 mypy/typeshed/stdlib/signal.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/site.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/smtplib.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/sndhdr.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/socket.pyi                                                     |    9 +++++++--
 mypy/typeshed/stdlib/socketserver.pyi                                               |    3 ++-
 mypy/typeshed/stdlib/spwd.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/sqlite3/dbapi2.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/ssl.pyi                                                        |    3 ++-
 mypy/typeshed/stdlib/statistics.pyi                                                 |    3 ++-
 mypy/typeshed/stdlib/string.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/struct.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/subprocess.pyi                                                 |    3 ++-
 mypy/typeshed/stdlib/sunau.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/sys/__init__.pyi                                               |    5 +++--
 mypy/typeshed/stdlib/tabnanny.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/tarfile.pyi                                                    |    7 +++++--
 mypy/typeshed/stdlib/tempfile.pyi                                                   |    9 +++++----
 mypy/typeshed/stdlib/termios.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/threading.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/time.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/tkinter/__init__.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/tkinter/commondialog.pyi                                       |    3 ++-
 mypy/typeshed/stdlib/tkinter/dialog.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/tkinter/filedialog.pyi                                         |   15 +++++++++++++--
 mypy/typeshed/stdlib/tkinter/tix.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/tkinter/ttk.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/tokenize.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/tomllib.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/trace.pyi                                                      |    3 ++-
 mypy/typeshed/stdlib/traceback.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/turtle.pyi                                                     |    4 ++--
 mypy/typeshed/stdlib/types.pyi                                                      |   14 ++++++++++++--
 mypy/typeshed/stdlib/typing.pyi                                                     |    7 ++++---
 mypy/typeshed/stdlib/typing_extensions.pyi                                          |    5 +++--
 mypy/typeshed/stdlib/unicodedata.pyi                                                |    3 ++-
 mypy/typeshed/stdlib/unittest/__init__.pyi                                          |    5 ++++-
 mypy/typeshed/stdlib/unittest/case.pyi                                              |   24 ++++++++++++++++++++++--
 mypy/typeshed/stdlib/unittest/result.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/unittest/runner.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/urllib/request.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/urllib/response.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/uuid.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/venv/__init__.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/wave.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/weakref.pyi                                                    |    3 ++-
 mypy/typeshed/stdlib/winreg.pyi                                                     |    3 ++-
 mypy/typeshed/stdlib/winsound.pyi                                                   |    3 ++-
 mypy/typeshed/stdlib/wsgiref/handlers.pyi                                           |   11 +++++++++--
 mypy/typeshed/stdlib/wsgiref/simple_server.pyi                                      |    3 ++-
 mypy/typeshed/stdlib/wsgiref/util.pyi                                               |    3 ++-
 mypy/typeshed/stdlib/wsgiref/validate.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/xml/dom/__init__.pyi                                           |    5 ++++-
 mypy/typeshed/stdlib/xml/dom/domreg.pyi                                             |    3 ++-
 mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi                                       |    3 ++-
 mypy/typeshed/stdlib/xml/dom/minidom.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/xml/dom/pulldom.pyi                                            |    3 ++-
 mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi                                         |    3 ++-
 mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi                                   |    3 ++-
 mypy/typeshed/stdlib/xml/etree/ElementTree.pyi                                      |    3 ++-
 mypy/typeshed/stdlib/xml/sax/__init__.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/xml/sax/saxutils.pyi                                           |    3 ++-
 mypy/typeshed/stdlib/xmlrpc/client.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/zipfile/__init__.pyi                                           |    7 ++++---
 mypy/typeshed/stdlib/zipfile/_path.pyi                                              |    3 ++-
 mypy/typeshed/stdlib/zipimport.pyi                                                  |    3 ++-
 mypy/typeshed/stdlib/zlib.pyi                                                       |    3 ++-
 mypy/typeshed/stdlib/zoneinfo/__init__.pyi                                          |    3 ++-
 mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi                             |    4 ++--
 mypy/util.py                                                                        |    3 +--
 mypyc/ir/class_ir.py                                                                |    2 +-
 mypyc/test-data/driver/driver.py                                                    |    3 ++-
 mypyc/test-data/fixtures/ir.py                                                      |   20 +++++++++++++++++---
 mypyc/test-data/fixtures/testutil.py                                                |   19 ++++++++++++++-----
 mypyc/test-data/fixtures/typing-full.pyi                                            |   12 ++++++------
 test-data/packages/typedpkg-stubs/typedpkg-stubs/sample.pyi                         |    1 +
 test-data/packages/typedpkg/typedpkg/sample.py                                      |    1 -
 test-data/pybind11_fixtures/expected_stubs_no_docs/pybind11_fixtures/__init__.pyi   |    3 ++-
 test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/__init__.pyi |    3 ++-
 test-data/unit/fixtures/__init_subclass__.pyi                                       |    1 -
 test-data/unit/fixtures/alias.pyi                                                   |    1 -
 test-data/unit/fixtures/any.pyi                                                     |    2 +-
 test-data/unit/fixtures/args.pyi                                                    |    3 +--
 test-data/unit/fixtures/bool.pyi                                                    |    1 +
 test-data/unit/fixtures/callable.pyi                                                |    8 ++++----
 test-data/unit/fixtures/complex_tuple.pyi                                           |    1 +
 test-data/unit/fixtures/dataclasses.pyi                                             |   13 ++++++++++---
 test-data/unit/fixtures/dict-full.pyi                                               |   16 +++++++++++++---
 test-data/unit/fixtures/dict.pyi                                                    |   16 ++++++++++++----
 test-data/unit/fixtures/divmod.pyi                                                  |    3 ++-
 test-data/unit/fixtures/exception.pyi                                               |    1 +
 test-data/unit/fixtures/f_string.pyi                                                |    2 +-
 test-data/unit/fixtures/fine_grained.pyi                                            |    7 +++----
 test-data/unit/fixtures/float.pyi                                                   |    3 ++-
 test-data/unit/fixtures/floatdict.pyi                                               |    4 ++--
 test-data/unit/fixtures/for.pyi                                                     |    3 +--
 test-data/unit/fixtures/isinstance.pyi                                              |    6 +++---
 test-data/unit/fixtures/isinstance_python3_10.pyi                                   |    6 +++---
 test-data/unit/fixtures/isinstancelist.pyi                                          |   12 +++++++++++-
 test-data/unit/fixtures/len.pyi                                                     |    2 +-
 test-data/unit/fixtures/list.pyi                                                    |    2 +-
 test-data/unit/fixtures/module.pyi                                                  |    3 +--
 test-data/unit/fixtures/module_all.pyi                                              |    1 -
 test-data/unit/fixtures/narrowing.pyi                                               |    1 -
 test-data/unit/fixtures/notimplemented.pyi                                          |    1 -
 test-data/unit/fixtures/object_with_init_subclass.pyi                               |   14 +++++++++++++-
 test-data/unit/fixtures/ops.pyi                                                     |   60 ++++++++++++++++++++++++++++++------------------------------
 test-data/unit/fixtures/paramspec.pyi                                               |   15 ++++++++++++---
 test-data/unit/fixtures/plugin_attrs.pyi                                            |    2 +-
 test-data/unit/fixtures/primitives.pyi                                              |    3 +--
 test-data/unit/fixtures/set.pyi                                                     |    2 +-
 test-data/unit/fixtures/slice.pyi                                                   |    1 +
 test-data/unit/fixtures/staticmethod.pyi                                            |    1 -
 test-data/unit/fixtures/tuple-simple.pyi                                            |    2 +-
 test-data/unit/fixtures/tuple.pyi                                                   |    7 +++----
 test-data/unit/fixtures/type.pyi                                                    |    6 +++---
 test-data/unit/fixtures/typing-async.pyi                                            |   12 ++++++------
 test-data/unit/fixtures/typing-full.pyi                                             |   12 ++++++------
 test-data/unit/fixtures/typing-medium.pyi                                           |    4 ++--
 test-data/unit/fixtures/typing-typeddict-iror.pyi                                   |    2 +-
 test-data/unit/fixtures/typing-typeddict.pyi                                        |    2 +-
 test-data/unit/fixtures/union.pyi                                                   |    4 ++--
 test-data/unit/lib-stub/_typeshed.pyi                                               |    2 +-
 test-data/unit/lib-stub/abc.pyi                                                     |    2 +-
 test-data/unit/lib-stub/attr/__init__.pyi                                           |   13 ++++++++++++-
 test-data/unit/lib-stub/attr/converters.pyi                                         |    3 ++-
 test-data/unit/lib-stub/attrs/__init__.pyi                                          |   16 +++++++++++++---
 test-data/unit/lib-stub/attrs/converters.pyi                                        |    3 ++-
 test-data/unit/lib-stub/builtins.pyi                                                |    2 +-
 test-data/unit/lib-stub/collections.pyi                                             |   13 ++++++++++++-
 test-data/unit/lib-stub/contextlib.pyi                                              |   11 +++++++++--
 test-data/unit/lib-stub/dataclasses.pyi                                             |   15 +++++++++++++--
 test-data/unit/lib-stub/enum.pyi                                                    |    2 +-
 test-data/unit/lib-stub/functools.pyi                                               |    2 +-
 test-data/unit/lib-stub/future/utils.pyi                                            |    1 +
 test-data/unit/lib-stub/mypy_extensions.pyi                                         |   13 +++++++++++--
 test-data/unit/lib-stub/six.pyi                                                     |    3 ++-
 test-data/unit/lib-stub/types.pyi                                                   |    2 +-
 test-data/unit/lib-stub/typing_extensions.pyi                                       |   21 ++++++++++++++++-----
 310 files changed, 1043 insertions(+), 489 deletions(-)
wuch-g2v commented 4 months ago

Just in case I'm using ruff 0.4.9.

wuch-g2v commented 4 months ago

Just update 4.10 and it is the same.

wuch-g2v commented 4 months ago

Odd .. when I'm passing . ruff generates changes for only three files however when I'm passing $(find . -name \*.py)` it generates changes for 7 files

 mypy/ipc.py                                    |    3 +--
 mypy/util.py                                   |    3 +--
 mypyc/ir/class_ir.py                           |    2 +-
 mypyc/test-data/driver/driver.py               |    3 ++-
 mypyc/test-data/fixtures/ir.py                 |   20 +++++++++++++++++---
 mypyc/test-data/fixtures/testutil.py           |   19 ++++++++++++++-----
 test-data/packages/typedpkg/typedpkg/sample.py |    1 -
 7 files changed, 36 insertions(+), 15 deletions(-)
wuch-g2v commented 4 months ago

Just FTR .. I'm only passing what found my colleague @kloczek which for some reasons is blocked here.

MichaReiser commented 4 months ago

The files that are "missing" are excluded in mypy's pyproject.toml.

https://github.com/python/mypy/blob/79b1c8d6a467cd829bf6b9e3919fbcef7b50eb19/pyproject.toml#L33-L43

Using find checks more files because passing files explicitly bypasses the exclusion rules.

wuch-g2v commented 4 months ago

Thank you 👍