Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct/clarify message for wrong-import-order #9236

Merged

Conversation

azinneck0485
Copy link
Contributor

Type of Changes

Type
βœ“ πŸ› Bug fix

Description

Adds clarification in the message for the wrong-import-order check.

The original message was confusing, especially when multiple imports were on a single line, because the entire import statement is listed twice in the message ("import X, Y, Z" should be placed before "import X, Y, Z").

Changes were made to extract the "current" import name and the "out of order" import names, and separate them by "isort order", so the user is able to clearly see what changes need to be made to address the problem. For example, standard import "X" should be placed before third order import "Y" and first order import "Z".

No functional tests were added, but the output for the wrong-import-order test was updated to reflect the new messages produced by the change. The code has passed the full tox test suite as well as all primer tests and a documentation fragment added to explain the changes.

Closes #8808

Copy link

codecov bot commented Nov 14, 2023

Codecov Report

Merging #9236 (8bff674) into main (6f83d5a) will increase coverage by 0.01%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #9236      +/-   ##
==========================================
+ Coverage   95.79%   95.81%   +0.01%     
==========================================
  Files         173      173              
  Lines       18722    18761      +39     
==========================================
+ Hits        17935    17975      +40     
+ Misses        787      786       -1     
Files Coverage Ξ”
pylint/checkers/imports.py 94.46% <100.00%> (+0.66%) ⬆️
pylint/constants.py 100.00% <100.00%> (ΓΈ)

This comment has been minimized.

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This look great already, the primer in particular looks very promising. Just some nits :)

pylint/checkers/imports.py Outdated Show resolved Hide resolved
pylint/checkers/imports.py Outdated Show resolved Hide resolved
pylint/checkers/imports.py Outdated Show resolved Hide resolved

This comment has been minimized.

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the changes. Sorry I missed that we could also use fstrings in the 3 args (it's faster than string addition by a lot).

pylint/checkers/imports.py Outdated Show resolved Hide resolved
@azinneck0485
Copy link
Contributor Author

Looks like there are a few things I should add or change in the test to improve code coverage. I'll work on that over the next day or so and push a commit with those updates.

This comment has been minimized.

This comment has been minimized.

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look amazing, the message is sometime long, let me know what you think of the proposal.

pylint/checkers/imports.py Outdated Show resolved Hide resolved

This comment has been minimized.

@Pierre-Sassoulas Pierre-Sassoulas added this to the 3.1.0 milestone Nov 26, 2023
@Pierre-Sassoulas Pierre-Sassoulas added the Enhancement ✨ Improvement to a component label Nov 26, 2023
@Pierre-Sassoulas
Copy link
Member

Classifying as enhancement and delaying to 3.1.0 because there was a lot more done than simply fixing the original bug.

@Pierre-Sassoulas Pierre-Sassoulas enabled auto-merge (squash) November 26, 2023 09:59
@Pierre-Sassoulas Pierre-Sassoulas enabled auto-merge (squash) November 26, 2023 10:08

This comment has been minimized.

azinneck0485 and others added 2 commits November 26, 2023 11:39
Improve the message provided for wrong-import-order check. Instead of
the import statement ("import x"), the message now specifies the import
that is out of order and which imports should come after it.  As reported
in the issue, this is particularly helpful if there are multiple imports
on a single line that do not follow the PEP8 convention.

The message will report imports as follows:
- For "import X", it will report "(standard/third party/first party/local) import X"
- For "import X.Y" and "from X import Y", it will report "(standard/third party/first party/local) import X.Y"
The import category is specified to provide explanation as to why pylint
has issued the message and guidence to the developer on how to fix the problem.

Closes pylint-dev#8808

Co-authored-by: Pierre Sassoulas <[email protected]>
New sphinx now check that a block of code is valid.
@Pierre-Sassoulas Pierre-Sassoulas enabled auto-merge (rebase) November 26, 2023 10:48
@Pierre-Sassoulas Pierre-Sassoulas merged commit b468e5b into pylint-dev:main Nov 26, 2023
42 checks passed
Pierre-Sassoulas added a commit that referenced this pull request Nov 26, 2023
Improve the message provided for wrong-import-order check. Instead of
the import statement ("import x"), the message now specifies the import
that is out of order and which imports should come after it.  As reported
in the issue, this is particularly helpful if there are multiple imports
on a single line that do not follow the PEP8 convention.

The message will report imports as follows:
- For "import X", it will report "(standard/third party/first party/local) import X"
- For "import X.Y" and "from X import Y", it will report "(standard/third party/first party/local) import X.Y"
The import category is specified to provide explanation as to why pylint
has issued the message and guidence to the developer on how to fix the problem.

Closes #8808

Co-authored-by: Pierre Sassoulas <[email protected]>
Copy link
Contributor

πŸ€– Effect of this PR on checked open source code: πŸ€–

Effect on home-assistant:
The following messages are now emitted:

  1. import-private-name:
    Imported private module (_collections_abc)
    https://github.com/home-assistant/core/blob/97d38dae09ea69ea60f164a84740f978417e9d7f/homeassistant/components/renson/button.py#L6

Effect on pygame:
The following messages are now emitted:

  1. wrong-import-order:
    standard import "copyreg" should be placed before third party imports "pygame.base.", "pygame.constants.", "pygame.version." (...) "pygame.color", "pygame.bufferproxy", "pygame.math"*
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/__init__.py#L308
  2. wrong-import-order:
    standard import "time" should be placed before third party imports "numpy", "cv2"
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/_camera_opencv.py#L10
  3. wrong-import-order:
    standard import "warnings" should be placed before third party imports "pygame.pixelcopy.array_to_surface", "numpy", "numpy.array"
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/surfarray.py#L55
  4. wrong-import-order:
    standard import "warnings" should be placed before third party imports "pygame.mixer", "numpy"
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/sndarray.py#L43

The following messages are no longer emitted:

  1. wrong-import-order:
    *standard import "import copyreg" should be placed before "from pygame.base import "
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/__init__.py#L308
  2. wrong-import-order:
    standard import "import warnings" should be placed before "from pygame import mixer"
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/sndarray.py#L43
  3. wrong-import-order:
    standard import "import warnings" should be placed before "from pygame.pixelcopy import array_to_surface, surface_to_array, map_array as pix_map_array, make_surface as pix_make_surface"
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/surfarray.py#L55
  4. wrong-import-order:
    standard import "import time" should be placed before "import numpy"
    https://github.com/pygame/pygame/blob/653dd7132362f4665a1f508d3af0f3c8cf6ff142/src_py/_camera_opencv.py#L10

Effect on black:
The following messages are now emitted:

  1. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/black/handle_ipynb_magics.py#L73
  2. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/black/handle_ipynb_magics.py#L195
  3. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blackd/__init__.py#L195
  4. wrong-import-order:
    standard import "sys" should be placed before third party import "blib2to3.pgen2.grammar.Grammar"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pytree.py#L32
  5. wrong-import-order:
    standard import "io.StringIO" should be placed before third party import "blib2to3.pgen2.grammar.Grammar"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pytree.py#L33
  6. wrong-import-order:
    standard import "re" should be placed before third party imports "blib2to3.pgen2.grammar.Grammar", "blib2to3.pgen2.token.ASYNC"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pgen2/tokenize.py#L66
  7. wrong-import-order:
    standard import "codecs.BOM_UTF8" should be placed before third party imports "blib2to3.pgen2.grammar.Grammar", "blib2to3.pgen2.token.ASYNC"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pgen2/tokenize.py#L67
  8. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pgen2/tokenize.py#L200
  9. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pgen2/tokenize.py#L241

The following messages are no longer emitted:

  1. wrong-import-order:
    standard import "import sys" should be placed before "from blib2to3.pgen2.grammar import Grammar"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pytree.py#L32
  2. wrong-import-order:
    standard import "from io import StringIO" should be placed before "from blib2to3.pgen2.grammar import Grammar"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pytree.py#L33
  3. wrong-import-order:
    standard import "import re" should be placed before "from blib2to3.pgen2.grammar import Grammar"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pgen2/tokenize.py#L66
  4. wrong-import-order:
    standard import "from codecs import BOM_UTF8, lookup" should be placed before "from blib2to3.pgen2.grammar import Grammar"
    https://github.com/psf/black/blob/58f31a70efe6509ce8213afac998bc5d5bb7e34d/src/blib2to3/pgen2/tokenize.py#L67

Effect on music21:
The following messages are now emitted:

  1. invalid-name:
    Attribute name "id" doesn't conform to '[a-z_][A-Za-z0-9_]{2,30}$' pattern
    https://github.com/cuthbertLab/music21/blob/a938a8c8c74f21ceec5a99a1998d96c00d5f77e9/music21/base.py#L579
  2. redefined-variable-type:
    Redefinition of thisObject type from music21.note.Note to music21.note.GeneralNote
    https://github.com/cuthbertLab/music21/blob/a938a8c8c74f21ceec5a99a1998d96c00d5f77e9/music21/humdrum/spineParser.py#L2386

The following messages are no longer emitted:

  1. invalid-name:
    Attribute name "id" doesn't conform to '[a-z_][A-Za-z0-9_]{2,30}$' pattern
    https://github.com/cuthbertLab/music21/blob/a938a8c8c74f21ceec5a99a1998d96c00d5f77e9/music21/prebase.py#L293
  2. redefined-variable-type:
    Redefinition of thisObject type from music21.note.Note to music21.note.GeneralNote
    https://github.com/cuthbertLab/music21/blob/a938a8c8c74f21ceec5a99a1998d96c00d5f77e9/music21/humdrum/spineParser.py#L2383

Effect on pytest:
The following messages are now emitted:

  1. wrong-import-order:
    third party import "_pytest.nodes" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L20
  2. wrong-import-order:
    third party import "_pytest._io.TerminalWriter" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L21
  3. wrong-import-order:
    third party import "_pytest.config.Config" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L22
  4. wrong-import-order:
    third party import "_pytest.config.ExitCode" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L23
  5. wrong-import-order:
    third party import "_pytest.config.hookimpl" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L24
  6. wrong-import-order:
    third party import "_pytest.config.argparsing.Parser" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L25
  7. wrong-import-order:
    third party import "_pytest.deprecated.check_ispytest" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L26
  8. wrong-import-order:
    third party import "_pytest.fixtures.fixture" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L27
  9. wrong-import-order:
    third party import "_pytest.fixtures.FixtureRequest" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L28
  10. wrong-import-order:
    third party import "_pytest.main.Session" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L29
  11. wrong-import-order:
    third party import "_pytest.nodes.File" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L30
  12. wrong-import-order:
    third party import "_pytest.python.Package" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L31
  13. wrong-import-order:
    third party import "_pytest.reports.TestReport" should be placed before local imports "pathlib.resolve_from_str", "pathlib.rm_rf", "reports.CollectReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L32
  14. wrong-import-order:
    third party import "_pytest.timing" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L24
  15. wrong-import-order:
    third party import "_pytest._code.code.ExceptionChainRepr" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L25
  16. wrong-import-order:
    third party import "_pytest._code.code.ExceptionInfo" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L26
  17. wrong-import-order:
    third party import "_pytest._code.code.TerminalRepr" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L27
  18. wrong-import-order:
    third party import "_pytest.config.argparsing.Parser" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L28
  19. wrong-import-order:
    third party import "_pytest.deprecated.check_ispytest" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L29
  20. wrong-import-order:
    third party import "_pytest.nodes.Collector" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L30
  21. wrong-import-order:
    third party import "_pytest.nodes.Item" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L31
  22. wrong-import-order:
    third party import "_pytest.nodes.Node" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L32
  23. wrong-import-order:
    third party import "_pytest.outcomes.Exit" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L33
  24. wrong-import-order:
    third party import "_pytest.outcomes.OutcomeException" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L34
  25. wrong-import-order:
    third party import "_pytest.outcomes.Skipped" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L35
  26. wrong-import-order:
    third party import "_pytest.outcomes.TEST_OUTCOME" should be placed before local imports "reports.BaseReport", "reports.CollectErrorRepr", "reports.CollectReport", "reports.TestReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L36
  27. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L250
  28. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L471
  29. wrong-import-order:
    third party import "_pytest.compat.get_user_id" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L21
  30. wrong-import-order:
    third party import "_pytest.config.Config" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L22
  31. wrong-import-order:
    third party import "_pytest.config.ExitCode" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L23
  32. wrong-import-order:
    third party import "_pytest.config.hookimpl" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L24
  33. wrong-import-order:
    third party import "_pytest.config.argparsing.Parser" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L25
  34. wrong-import-order:
    third party import "_pytest.deprecated.check_ispytest" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L26
  35. wrong-import-order:
    third party import "_pytest.fixtures.fixture" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L27
  36. wrong-import-order:
    third party import "_pytest.fixtures.FixtureRequest" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L28
  37. wrong-import-order:
    third party import "_pytest.monkeypatch.MonkeyPatch" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L29
  38. wrong-import-order:
    third party import "_pytest.nodes.Item" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L30
  39. wrong-import-order:
    third party import "_pytest.reports.TestReport" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L31
  40. wrong-import-order:
    third party import "_pytest.stash.StashKey" should be placed before local imports "pathlib.cleanup_dead_symlinks", "pathlib.LOCK_TIMEOUT", "pathlib.make_numbered_dir", "pathlib.make_numbered_dir_with_cleanup", "pathlib.rm_rf"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L32
  41. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/_py/path.py#L148
  42. wrong-import-order:
    third party import "_pytest.config.Config" should be placed before local imports "_code.getfslineno", "compat.ascii_escaped", "compat.NOTSET", "compat.NotSetType"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L29
  43. wrong-import-order:
    third party import "_pytest.deprecated.check_ispytest" should be placed before local imports "_code.getfslineno", "compat.ascii_escaped", "compat.NOTSET", "compat.NotSetType"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L30
  44. wrong-import-order:
    third party import "_pytest.deprecated.MARKED_FIXTURE" should be placed before local imports "_code.getfslineno", "compat.ascii_escaped", "compat.NOTSET", "compat.NotSetType"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L31
  45. wrong-import-order:
    third party import "_pytest.outcomes.fail" should be placed before local imports "_code.getfslineno", "compat.ascii_escaped", "compat.NOTSET", "compat.NotSetType"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L32
  46. wrong-import-order:
    third party import "_pytest.warning_types.PytestUnknownMarkWarning" should be placed before local imports "_code.getfslineno", "compat.ascii_escaped", "compat.NOTSET", "compat.NotSetType"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L33
  47. wrong-import-order:
    third party import "_pytest.config.Config" should be placed before local imports "expression.Expression", "expression.ParseError", "structures.EMPTY_PARAMETERSET_OPTION" (...) "structures.MarkDecorator", "structures.MarkGenerator", "structures.ParameterSet"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L19
  48. wrong-import-order:
    third party import "_pytest.config.ExitCode" should be placed before local imports "expression.Expression", "expression.ParseError", "structures.EMPTY_PARAMETERSET_OPTION" (...) "structures.MarkDecorator", "structures.MarkGenerator", "structures.ParameterSet"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L20
  49. wrong-import-order:
    third party import "_pytest.config.hookimpl" should be placed before local imports "expression.Expression", "expression.ParseError", "structures.EMPTY_PARAMETERSET_OPTION" (...) "structures.MarkDecorator", "structures.MarkGenerator", "structures.ParameterSet"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L21
  50. wrong-import-order:
    third party import "_pytest.config.UsageError" should be placed before local imports "expression.Expression", "expression.ParseError", "structures.EMPTY_PARAMETERSET_OPTION" (...) "structures.MarkDecorator", "structures.MarkGenerator", "structures.ParameterSet"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L22
  51. wrong-import-order:
    third party import "_pytest.config.argparsing.Parser" should be placed before local imports "expression.Expression", "expression.ParseError", "structures.EMPTY_PARAMETERSET_OPTION" (...) "structures.MarkDecorator", "structures.MarkGenerator", "structures.ParameterSet"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L23
  52. wrong-import-order:
    third party import "_pytest.stash.StashKey" should be placed before local imports "expression.Expression", "expression.ParseError", "structures.EMPTY_PARAMETERSET_OPTION" (...) "structures.MarkDecorator", "structures.MarkGenerator", "structures.ParameterSet"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L24
  53. wrong-import-order:
    third party import "_pytest._code.ExceptionInfo" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L54
  54. wrong-import-order:
    third party import "_pytest._code.filter_traceback" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L55
  55. wrong-import-order:
    third party import "_pytest._io.TerminalWriter" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L56
  56. wrong-import-order:
    third party import "_pytest.outcomes.fail" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L57
  57. wrong-import-order:
    third party import "_pytest.outcomes.Skipped" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L58
  58. wrong-import-order:
    third party import "_pytest.pathlib.absolutepath" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L59
  59. wrong-import-order:
    third party import "_pytest.pathlib.bestrelpath" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L60
  60. wrong-import-order:
    third party import "_pytest.pathlib.import_path" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L61
  61. wrong-import-order:
    third party import "_pytest.pathlib.ImportMode" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L62
  62. wrong-import-order:
    third party import "_pytest.pathlib.resolve_package_path" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L63
  63. wrong-import-order:
    third party import "_pytest.pathlib.safe_exists" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L64
  64. wrong-import-order:
    third party import "_pytest.stash.Stash" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L65
  65. wrong-import-order:
    third party import "_pytest.warning_types.PytestConfigWarning" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L66
  66. wrong-import-order:
    third party import "_pytest.warning_types.warn_explicit_for" should be placed before local imports "compat.PathAwareHookProxy", "exceptions.PrintHelp", "exceptions.UsageError", "findpaths.determine_setup"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L67
  67. wrong-import-order:
    third party import "_pytest.outcomes.fail" should be placed before local import "exceptions.UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L15
  68. wrong-import-order:
    third party import "_pytest.pathlib.absolutepath" should be placed before local import "exceptions.UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L16
  69. wrong-import-order:
    third party import "_pytest.pathlib.commonpath" should be placed before local import "exceptions.UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L17
  70. wrong-import-order:
    third party import "_pytest.pathlib.safe_exists" should be placed before local import "exceptions.UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L18

The following messages are no longer emitted:

  1. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/nodes.py#L768
  2. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/nodes.py#L782
  3. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/pytester_assertions.py#L17
  4. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/monkeypatch.py#L99
  5. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/monkeypatch.py#L132
  6. deprecated-typing-alias:
    'typing.Tuple' is deprecated, use 'tuple' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/monkeypatch.py#L133
  7. wrong-import-order:
    third party import "from _pytest import nodes" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L20
  8. wrong-import-order:
    third party import "from _pytest._io import TerminalWriter" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L21
  9. wrong-import-order:
    third party import "from _pytest.config import Config" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L22
  10. wrong-import-order:
    third party import "from _pytest.config import ExitCode" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L23
  11. wrong-import-order:
    third party import "from _pytest.config import hookimpl" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L24
  12. wrong-import-order:
    third party import "from _pytest.config.argparsing import Parser" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L25
  13. wrong-import-order:
    third party import "from _pytest.deprecated import check_ispytest" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L26
  14. wrong-import-order:
    third party import "from _pytest.fixtures import fixture" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L27
  15. wrong-import-order:
    third party import "from _pytest.fixtures import FixtureRequest" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L28
  16. wrong-import-order:
    third party import "from _pytest.main import Session" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L29
  17. wrong-import-order:
    third party import "from _pytest.nodes import File" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L30
  18. wrong-import-order:
    third party import "from _pytest.python import Package" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L31
  19. wrong-import-order:
    third party import "from _pytest.reports import TestReport" should be placed before "from .pathlib import resolve_from_str"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/cacheprovider.py#L32
  20. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/compat.py#L105
  21. wrong-import-order:
    third party import "from _pytest import timing" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L24
  22. wrong-import-order:
    third party import "from _pytest._code.code import ExceptionChainRepr" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L25
  23. wrong-import-order:
    third party import "from _pytest._code.code import ExceptionInfo" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L26
  24. wrong-import-order:
    third party import "from _pytest._code.code import TerminalRepr" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L27
  25. wrong-import-order:
    third party import "from _pytest.config.argparsing import Parser" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L28
  26. wrong-import-order:
    third party import "from _pytest.deprecated import check_ispytest" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L29
  27. wrong-import-order:
    third party import "from _pytest.nodes import Collector" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L30
  28. wrong-import-order:
    third party import "from _pytest.nodes import Item" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L31
  29. wrong-import-order:
    third party import "from _pytest.nodes import Node" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L32
  30. wrong-import-order:
    third party import "from _pytest.outcomes import Exit" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L33
  31. wrong-import-order:
    third party import "from _pytest.outcomes import OutcomeException" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L34
  32. wrong-import-order:
    third party import "from _pytest.outcomes import Skipped" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L35
  33. wrong-import-order:
    third party import "from _pytest.outcomes import TEST_OUTCOME" should be placed before "from .reports import BaseReport"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/runner.py#L36
  34. wrong-import-order:
    third party import "from _pytest.compat import get_user_id" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L21
  35. wrong-import-order:
    third party import "from _pytest.config import Config" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L22
  36. wrong-import-order:
    third party import "from _pytest.config import ExitCode" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L23
  37. wrong-import-order:
    third party import "from _pytest.config import hookimpl" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L24
  38. wrong-import-order:
    third party import "from _pytest.config.argparsing import Parser" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L25
  39. wrong-import-order:
    third party import "from _pytest.deprecated import check_ispytest" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L26
  40. wrong-import-order:
    third party import "from _pytest.fixtures import fixture" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L27
  41. wrong-import-order:
    third party import "from _pytest.fixtures import FixtureRequest" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L28
  42. wrong-import-order:
    third party import "from _pytest.monkeypatch import MonkeyPatch" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L29
  43. wrong-import-order:
    third party import "from _pytest.nodes import Item" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L30
  44. wrong-import-order:
    third party import "from _pytest.reports import TestReport" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L31
  45. wrong-import-order:
    third party import "from _pytest.stash import StashKey" should be placed before "from .pathlib import cleanup_dead_symlinks"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/tmpdir.py#L32
  46. wrong-import-order:
    third party import "from _pytest.config import Config" should be placed before "from .expression import Expression"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L19
  47. wrong-import-order:
    third party import "from _pytest.config import ExitCode" should be placed before "from .expression import Expression"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L20
  48. wrong-import-order:
    third party import "from _pytest.config import hookimpl" should be placed before "from .expression import Expression"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L21
  49. wrong-import-order:
    third party import "from _pytest.config import UsageError" should be placed before "from .expression import Expression"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L22
  50. wrong-import-order:
    third party import "from _pytest.config.argparsing import Parser" should be placed before "from .expression import Expression"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L23
  51. wrong-import-order:
    third party import "from _pytest.stash import StashKey" should be placed before "from .expression import Expression"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/__init__.py#L24
  52. wrong-import-order:
    third party import "from _pytest.config import Config" should be placed before "from .._code import getfslineno"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L29
  53. wrong-import-order:
    third party import "from _pytest.deprecated import check_ispytest" should be placed before "from .._code import getfslineno"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L30
  54. wrong-import-order:
    third party import "from _pytest.deprecated import MARKED_FIXTURE" should be placed before "from .._code import getfslineno"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L31
  55. wrong-import-order:
    third party import "from _pytest.outcomes import fail" should be placed before "from .._code import getfslineno"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L32
  56. wrong-import-order:
    third party import "from _pytest.warning_types import PytestUnknownMarkWarning" should be placed before "from .._code import getfslineno"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/mark/structures.py#L33
  57. wrong-import-order:
    third party import "from _pytest._code import ExceptionInfo" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L54
  58. wrong-import-order:
    third party import "from _pytest._code import filter_traceback" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L55
  59. wrong-import-order:
    third party import "from _pytest._io import TerminalWriter" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L56
  60. wrong-import-order:
    third party import "from _pytest.outcomes import fail" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L57
  61. wrong-import-order:
    third party import "from _pytest.outcomes import Skipped" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L58
  62. wrong-import-order:
    third party import "from _pytest.pathlib import absolutepath" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L59
  63. wrong-import-order:
    third party import "from _pytest.pathlib import bestrelpath" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L60
  64. wrong-import-order:
    third party import "from _pytest.pathlib import import_path" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L61
  65. wrong-import-order:
    third party import "from _pytest.pathlib import ImportMode" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L62
  66. wrong-import-order:
    third party import "from _pytest.pathlib import resolve_package_path" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L63
  67. wrong-import-order:
    third party import "from _pytest.pathlib import safe_exists" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L64
  68. wrong-import-order:
    third party import "from _pytest.stash import Stash" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L65
  69. wrong-import-order:
    third party import "from _pytest.warning_types import PytestConfigWarning" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L66
  70. wrong-import-order:
    third party import "from _pytest.warning_types import warn_explicit_for" should be placed before "from .compat import PathAwareHookProxy"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/__init__.py#L67
  71. wrong-import-order:
    third party import "from _pytest.outcomes import fail" should be placed before "from .exceptions import UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L15
  72. wrong-import-order:
    third party import "from _pytest.pathlib import absolutepath" should be placed before "from .exceptions import UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L16
  73. wrong-import-order:
    third party import "from _pytest.pathlib import commonpath" should be placed before "from .exceptions import UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L17
  74. wrong-import-order:
    third party import "from _pytest.pathlib import safe_exists" should be placed before "from .exceptions import UsageError"
    https://github.com/pytest-dev/pytest/blob/80442ae2f2177039e5395d8a26fc6e3ca3a54f3e/src/_pytest/config/findpaths.py#L18

Effect on django:
The following messages are now emitted:

  1. wrong-import-order:
    third party import "django.core.checks.async_checks" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L17
  2. wrong-import-order:
    third party import "django.core.checks.caches" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L18
  3. wrong-import-order:
    third party import "django.core.checks.compatibility.django_4_0" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L19
  4. wrong-import-order:
    third party import "django.core.checks.database" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L20
  5. wrong-import-order:
    third party import "django.core.checks.files" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L21
  6. wrong-import-order:
    third party import "django.core.checks.model_checks" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L22
  7. wrong-import-order:
    third party import "django.core.checks.security.base" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L23
  8. wrong-import-order:
    third party import "django.core.checks.security.csrf" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L24
  9. wrong-import-order:
    third party import "django.core.checks.security.sessions" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L25
  10. wrong-import-order:
    third party import "django.core.checks.templates" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L26
  11. wrong-import-order:
    third party import "django.core.checks.translation" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L27
  12. wrong-import-order:
    third party import "django.core.checks.urls" should be placed before local imports "messages.CRITICAL", "registry.Tags"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L28

The following messages are no longer emitted:

  1. wrong-import-order:
    third party import "import django.core.checks.async_checks" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L17
  2. wrong-import-order:
    third party import "import django.core.checks.caches" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L18
  3. wrong-import-order:
    third party import "import django.core.checks.compatibility.django_4_0" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L19
  4. wrong-import-order:
    third party import "import django.core.checks.database" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L20
  5. wrong-import-order:
    third party import "import django.core.checks.files" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L21
  6. wrong-import-order:
    third party import "import django.core.checks.model_checks" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L22
  7. wrong-import-order:
    third party import "import django.core.checks.security.base" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L23
  8. wrong-import-order:
    third party import "import django.core.checks.security.csrf" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L24
  9. wrong-import-order:
    third party import "import django.core.checks.security.sessions" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L25
  10. wrong-import-order:
    third party import "import django.core.checks.templates" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L26
  11. wrong-import-order:
    third party import "import django.core.checks.translation" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L27
  12. wrong-import-order:
    third party import "import django.core.checks.urls" should be placed before "from .messages import CRITICAL, DEBUG, ERROR, INFO, WARNING, CheckMessage, Critical, Debug, Error, Info, Warning"
    https://github.com/django/django/blob/594873befbbec13a2d9a048a361757dd3cf178da/django/core/checks/__init__.py#L28

Effect on pandas:
The following messages are now emitted:

  1. wrong-import-order:
    standard import "zoneinfo" should be placed before third party imports "dateutil.tz.tzlocal", "hypothesis", "hypothesis.strategies" (...) "pandas.core.ops", "pandas.core.indexes.api.Index", "pandas.util.version.Version"
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/conftest.py#L92
  2. redefined-variable-type:
    Redefinition of subset type from tuple to pandas.core.indexes.base.Index
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/frame.py#L6830
  3. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/resample.py#L2863
  4. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/config_init.py#L874
  5. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/apply.py#L822
  6. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/apply.py#L1144
  7. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/apply.py#L1793
  8. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/apply.py#L1979
  9. wrong-import-order:
    standard import "textwrap" should be placed before third party imports "numpy", "pandas._libs.lib", "pandas._libs.tslibs.NaT" (...) "pandas.core.arrays._ranges.generate_regular_range", "pandas.core.common", "pandas.core.ops.common.unpack_zerodim_and_defer"
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/arrays/timedeltas.py#L82

The following messages are no longer emitted:

  1. wrong-import-order:
    standard import "import zoneinfo" should be placed before "from dateutil.tz import tzlocal, tzutc"
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/conftest.py#L92
  2. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/common.py#L464
  3. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/common.py#L621
  4. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/generic.py#L2393
  5. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/generic.py#L6079
  6. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/array_algos/masked_accumulations.py#L20
  7. wrong-import-order:
    standard import "import textwrap" should be placed before "import numpy as np"
    https://github.com/pandas-dev/pandas/blob/1d56672407d44bd825c8905d1663e277b244c056/pandas/core/arrays/timedeltas.py#L82

Effect on sentry:
The following messages are now emitted:

  1. wrong-import-order:
    standard import "importlib.metadata" should be placed before third party import "sentry._importchecker"
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/__init__.py#L4
  2. wrong-import-order:
    standard import "os" should be placed before third party import "sentry._importchecker"
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/__init__.py#L5
  3. wrong-import-order:
    standard import "os.path" should be placed before third party import "sentry._importchecker"
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/__init__.py#L6
  4. wrong-import-order:
    standard import "subprocess.check_output" should be placed before third party import "sentry._importchecker"
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/__init__.py#L7
  5. import-error:
    Unable to import 'django.core.cache'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/event_manager.py#L30
  6. no-name-in-module:
    No name 'cache' in module 'django.core'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/event_manager.py#L30
  7. no-name-in-module:
    No name 'transaction' in module 'django.db'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/event_manager.py#L32
  8. import-error:
    Unable to import 'django.core.cache'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/sdk_updates.py#L4
  9. no-name-in-module:
    No name 'cache' in module 'django.core'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/sdk_updates.py#L4
  10. import-error:
    Unable to import 'django.core.handlers.wsgi'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/wsgi.py#L18
  11. no-name-in-module:
    No name 'handlers' in module 'django.core'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/wsgi.py#L18
  12. no-name-in-module:
    No name 'transaction' in module 'django.db'
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/reprocessing2.py#L601
  13. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/ratelimits/utils.py#L27
  14. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L145
  15. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L167
  16. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L167
  17. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L180
  18. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L180
  19. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L180
  20. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L192
  21. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L192
  22. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L236
  23. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L243
  24. deprecated-typing-alias:
    'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
    https://github.com/getsentry/sentry/blob/802a9afab755233f80bb4a1d2611e6651d740a7a/src/sentry/services/hybrid_cloud/rpc.py#L284
  25. deprecated-typing-alias:
    *'typing.Callable' is depreca...

This comment was truncated because GitHub allows only 65536 characters in a comment.

This comment was generated for commit 8bff674

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement ✨ Improvement to a component
Projects
None yet
Development

Successfully merging this pull request may close these issues.

wrong-import-order emits multiple identical messages for multiple imports on single line
2 participants