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

Use a tuple for processed parameter to facilitate future caching #2529

Merged

Conversation

correctmost
Copy link
Contributor

Type of Changes

Type
βœ“ πŸ”¨ Refactoring

Description

I would like to cache the results of find_module soon. To make that possible, the function parameters will need to be hashable. My plan is to split up the changes to reduce the risk of regressions and to make them easier to review.

This is a follow-up to #2509 and #2516.

Copy link

codecov bot commented Aug 27, 2024

Codecov Report

All modified and coverable lines are covered by tests βœ…

Project coverage is 92.98%. Comparing base (d8dbc46) to head (f4d934f).
Report is 3 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #2529   +/-   ##
=======================================
  Coverage   92.98%   92.98%           
=======================================
  Files          93       93           
  Lines       11049    11049           
=======================================
  Hits        10274    10274           
  Misses        775      775           
Flag Coverage Ξ”
linux 92.85% <ΓΈ> (ΓΈ)
pypy 92.98% <ΓΈ> (ΓΈ)
windows 92.96% <ΓΈ> (ΓΈ)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Ξ”
astroid/interpreter/_import/spec.py 97.52% <ΓΈ> (ΓΈ)

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.

'Processed' is changing at every loop, I suppose it's never going to be the same twice ? Is it really a good candidate for caching ? (Something is appended to it right after the newly added cast to tuple)

@Pierre-Sassoulas Pierre-Sassoulas added the Maintenance Discussion or action around maintaining astroid or the dev workflow label Aug 27, 2024
@@ -457,7 +457,7 @@ def _find_spec(module_path: tuple, path: tuple) -> ModuleSpec:
while modpath:
modname = modpath.pop(0)
finder, spec = _find_spec_with_path(
_path, modname, module_parts, processed, submodule_path or path
_path, modname, module_parts, tuple(processed), submodule_path or path
)
processed.append(modname)
Copy link
Member

Choose a reason for hiding this comment

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

Here

@correctmost
Copy link
Contributor Author

'Processed' is changing at every loop, I suppose it's never going to be the same twice ? Is it really a good candidate for caching ? (Something is appended to it right after the newly added cast to tuple)

When I lint yt-dlp, I see repeated invocations even when processed is non-empty.

Here's one example with an empty tuple and one with a non-empty tuple:

Invocations Method Arguments
7895 ZipFinder.find_module
  • modname: 'yt_dlp'
  • module_parts: ('yt_dlp',)
  • processed: ()
  • submodule_path: ('yt-dlp/yt_dlp/extractor',)
948 ImportlibFinder.find_module
  • modname: 'InfoExtractor'
  • module_parts: ('yt_dlp', 'extractor', 'common', 'InfoExtractor')
  • processed: ('yt_dlp', 'extractor', 'common')
  • submodule_path: ['yt-dlp/yt_dlp/extractor/common.py']

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 digging into this, You're doing an amazing work with all the performance improvements and detailed benchmark results. I wonder why we're calling find_module so much with identical values in the first place. But I have too much on my plate to investigate right now.

@Pierre-Sassoulas Pierre-Sassoulas merged commit a389ef7 into pylint-dev:main Aug 27, 2024
21 checks passed
@correctmost correctmost deleted the cm/processed-tuple-arg branch August 27, 2024 21:42
@correctmost
Copy link
Contributor Author

Thank you :). Some of the repetition can be explained by duplicate imports across files:

$ git grep "from .common import InfoExtractor" | wc -l
941

Caching will help in the short term, but a different strategy for visiting import nodes may be needed for maximum speed.

@Pierre-Sassoulas
Copy link
Member

Yes definitely. My unverified intuition here is that if we make import 'canonical' and create a mapping between the canonical import and the result of find module we could avoid searching for module and only translate an import to its canonical form instead. Caching find_module directly is close enough.

cdce8p added a commit to cdce8p/astroid that referenced this pull request Nov 6, 2024
commit ba7df4a
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Oct 1 10:30:42 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2593)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.7 β†’ v0.6.8](astral-sh/ruff-pre-commit@v0.6.7...v0.6.8)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 8620ae1
Author: Nick Drozd <[email protected]>
Date:   Mon Sep 30 15:14:25 2024 -0400

    Enable design complexity checks (pylint-dev#2591)

commit 36094ed
Author: temyurchenko <[email protected]>
Date:   Mon Sep 30 15:14:13 2024 -0400

    control setting nodes as local outside of the constructor (pylint-dev#2588)

    1. The main reason is that a node might be assigned to its parent via
       an Β«aliasΒ»:

    Sometimes a class accesses a member by a different name than
       "__name__" of that member: in pypy3 `list.__mul__.__name__ ==
       "__rmul__"`.

    As a result, in the example above we weren't able to find
       "list.__mul__", because it was recorded only as "list.__rmul__".

    2. Sometimes we want to have a parent semantically, but we don't want
       to add it to the list of locals. For example, when inferring
       properties we are creating ad-hoc properties. We wouldn't want to
       add another symbol to the locals every time we do an
       inference. (actually, there's a very good question as to why we are
       doing those ad-hoc properties but that's out of scope)

    it's a part of the campaign to get rid of non-module roots

commit 32cb29e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 30 20:33:57 2024 +0200

    Bump actions/checkout from 4.1.7 to 4.2.0 (pylint-dev#2592)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v4.1.7...v4.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d394fb9
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 30 08:52:35 2024 -0400

    Bump astroid to 4.0.0-dev0, update changelog

commit c7ea1e9
Author: correctmost <[email protected]>
Date:   Sat Sep 7 14:47:47 2024 -0400

    Consolidate numpy member transforms to reduce function calls

commit f19fc0a
Author: Artem Yurchenko <[email protected]>
Date:   Thu Sep 26 19:56:45 2024 -0700

    disable AsyncGeneratorModel from inheriting Generator attributes

    for example, usual generators have "send", but async don't. They have
       "async" instead.

commit 62c5bad
Author: temyurchenko <[email protected]>
Date:   Thu Sep 26 00:29:36 2024 -0400

    change the type annotation error heuristic (pylint-dev#2583)

    The previous one depended on the message from "typed_ast", which is
       not used anymore.

    Instead, we check if there is a "# type:" substring in the source line
       of the exception. This can yield some false positives, but probably
       rarely.

commit a3f5c4a
Author: temyurchenko <[email protected]>
Date:   Wed Sep 25 16:18:58 2024 -0400

    wrap GeneratorModel methods into BoundMethod; remove redundant test (pylint-dev#2584)

    The LookupTest.test_generator_attributes contains outdated Python 2
       code (doesn't run on Python 3). The test is superceded by
       GeneratorModelTest.test_model.

    Fix AsyncGenerator test and model, they just weren't used before

commit eb88dfe
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 24 06:47:29 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2582)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.5 β†’ v0.6.7](astral-sh/ruff-pre-commit@v0.6.5...v0.6.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit c8e8831
Merge: 8585ce6 498cf96
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:33:13 2024 -0400

    Merge pull request pylint-dev#2581 from pylint-dev/post-3.3.4

    Post 3.3.4

commit 498cf96
Merge: 8585ce6 6042e58
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:25:58 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.4

commit 8585ce6
Author: Eric Vergnaud <[email protected]>
Date:   Mon Sep 23 19:53:55 2024 +0200

    Fix issue when inferring single-node or non-const JoinedStr (pylint-dev#2578)

commit 706fcdb
Author: Jacob Walls <[email protected]>
Date:   Sun Sep 22 09:14:31 2024 -0400

    Address pylint 3.3 messages (pylint-dev#2575)

commit a679550
Author: Nick Drozd <[email protected]>
Date:   Sun Sep 22 09:00:09 2024 -0400

    Check for empty format specs (pylint-dev#2574)

commit 58286a1
Author: Akhil Kamat <[email protected]>
Date:   Sat Sep 21 21:36:35 2024 -0400

    Fix `manager.clear_cache()` not fully clearing the module cache (pylint-dev#2572)

commit 1368be1
Merge: 5a93a9f 11db16d
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 08:10:58 2024 -0300

    Merge pull request pylint-dev#2570 from pylint-dev/post-3.3.3

    Post 3.3.3

commit 11db16d
Merge: 5a93a9f a01a9c9
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 06:46:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.3

commit 5a93a9f
Author: Jacob Walls <[email protected]>
Date:   Thu Sep 19 09:43:50 2024 -0300

    Fix inference regression with property setters (pylint-dev#2567)

    Closes pylint-dev/pylint#9811

commit 826d477
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 19 12:05:44 2024 +0000

    Bump actions/upload-artifact from 4.3.6 to 4.4.0 (pylint-dev#2533)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.6...v4.4.0)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 709f991
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 17 07:04:26 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2565)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.4 β†’ v0.6.5](astral-sh/ruff-pre-commit@v0.6.4...v0.6.5)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a99967e
Author: temyurchenko <[email protected]>
Date:   Fri Sep 13 11:35:02 2024 -0400

    Require build class parent (pylint-dev#2557)

    * enforce a non-None parent in build_class

    We also remove `add_local_node` to avoid redundancy. Instead we do the
       attachment to the parent scope in the constructor of `ClassDef`.

    We append a node to the body of the frame when it is also the
       parent. If it's not a parent, then the node should belong to the
       "body" of the parent if it existed. An example is a definition
       within an "if", where the parent is the If node, but the frame is
       the whole module.

    it's a part of the campaign to get rid of non-module roots

commit c7b8a2f
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:17:02 2024 -0400

    add setuptools dependency for python >= 3.12

commit 44907c2
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:16:37 2024 -0400

    Remove setuptools dependency from ci

commit b4ac0e2
Author: Akhil Kamat <[email protected]>
Date:   Wed Sep 11 06:06:28 2024 -0400

    Remove newstyle variable given old-style class support should be removed (pylint-dev#2561)

commit 523eeb4
Author: temyurchenko <[email protected]>
Date:   Wed Sep 11 04:53:30 2024 -0400

    Fix unexpected `__doc__` values   (pylint-dev#2556)

    * fix unexpected '__doc__' values

    some '__doc__' fields of standard library
       symbols (e.g. WrapperDescriptorType.__doc__) don't return a string,
       they return a 'getset_descriptor'. Thus, an attempt to print "as
       string" fails. The solution is to check that __doc__ is an instance
       of str.

    Note that it wasn't uncovered by the tests due to classes not being
       attached to their parent in some cases. This is be done in one of
       the subsequent commits.

    it's a part of the campaign to get rid of non-module roots

    * put the "temporary_class" for the metaclass hack into adhoc module

    it's a part of the campaign to get rid of non-module roots

commit e442776
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:31:27 2024 -0700

    set PartialFunction's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit 8364693
Author: temyurchenko <[email protected]>
Date:   Tue Sep 10 15:32:07 2024 -0400

    Fix in place properties (pylint-dev#2553)

    * fix construction of in-place properties

    This is an example of an in-place property: `bar = property(getter)`.
       They just create a nameless object, not the one with the name of
       the getter. Thus, the name was changed to
       "<property>". Furthermore, the definition of that property is not
       attached to any scope, as it's again nameless.

    it's a part of the campaign to get rid of non-module roots

commit 20890b8
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:12:33 2024 -0700

    set namespace's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit b6d52d3
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:04:34 2024 -0700

    create an "adhoc" module for "artificial" nodes

    the module is specifically for nodes that are not based in the real
       syntactic tree, but created "ad-hoc", for example, new namedtuple
       classes that we create (see brain_namedtuple_enum).

    This is the base for future changes on replacing non-module
      roots (with the adhoc module or something more approriate).

commit 6ec2d40
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 10 06:15:01 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2559)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.3 β†’ v0.6.4](astral-sh/ruff-pre-commit@v0.6.3...v0.6.4)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 0011e7f
Author: Artem Yurchenko <[email protected]>
Date:   Tue Sep 3 16:12:12 2024 -0700

    add the parent node to "__main__"

    Not having a parent leads to weird situations, like `root()` returning
       the node itself, not a `Module`.

commit 7954bac
Author: correctmost <[email protected]>
Date:   Sat Sep 7 11:52:56 2024 -0400

    Fix most of the mypy errors in astroid/nodes/as_string.py

commit 8573b68
Author: correctmost <[email protected]>
Date:   Sun Sep 8 03:15:01 2024 -0400

    Fix useless-suppression Pylint warning (pylint-dev#2548)

    * Bump Pylint requirement to 3.2.7

commit cae2977
Author: correctmost <[email protected]>
Date:   Sun Sep 8 00:59:25 2024 -0400

    Add .tox to Pylint ignore list (pylint-dev#2549)

commit 887668b
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:37:50 2024 -0400

    Fix additional mypy errors and expand CI checks to more files (pylint-dev#2541)

    * Fix additional mypy errors and expand CI checks to more files

    * Use an assertion instead of a type ignore

    * Move an assert outside of a type-checking block

commit ba331c0
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:09:11 2024 -0400

    Use extend-exclude instead of exclude in ruff config (pylint-dev#2545)

    The ruff docs recommend using extend-exclude for custom paths.

commit 003a2df
Author: correctmost <[email protected]>
Date:   Sat Sep 7 00:47:03 2024 -0400

    Remove Python 3.8 from tox config (pylint-dev#2546)

commit dc5dafb
Author: correctmost <[email protected]>
Date:   Fri Sep 6 01:37:53 2024 -0400

    Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544)

commit 5982618
Author: correctmost <[email protected]>
Date:   Thu Sep 5 15:29:25 2024 -0400

    Move Pylint exclusions to pylintrc (pylint-dev#2542)

    This makes it easier to run Pylint outside of the pre-commit hooks.

commit 71f5c0c
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:55:41 2024 -0400

    Do not reassign submodule_path parameters in method bodies

    This makes it easier to use less generic annotations with mypy.

commit 1495979
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:34:55 2024 -0400

    Fix type annotations for tuple parameters

commit 6deb34f
Author: correctmost <[email protected]>
Date:   Wed Sep 4 02:04:09 2024 -0400

    Add ruff exclusions to pyproject.toml (pylint-dev#2537)

    This makes it easier to run 'ruff check' outside of the pre-commit
    hook.

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

commit 78f7f60
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 3 08:52:20 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2535)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.2 β†’ v0.6.3](astral-sh/ruff-pre-commit@v0.6.2...v0.6.3)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a30794c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 2 20:09:47 2024 +0200

    Bump actions/setup-python from 5.1.1 to 5.2.0 (pylint-dev#2534)

    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v5.1.1...v5.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 37b6c0d
Author: temyurchenko <[email protected]>
Date:   Fri Aug 30 17:30:56 2024 -0400

    fix the documentation and the error message of modpath_from_file (pylint-dev#2532)

    The doc should clarify that the search will always include sys.path.

    The error message should reflect the actual paths used for checking.

commit 5210e61
Author: correctmost <[email protected]>
Date:   Fri Aug 30 09:00:26 2024 -0400

    Enable mypy checking for astroid/interpreter/_import/ (pylint-dev#2530)

    This commit also removes unnecessary tuple -> list conversions in
    _find_spec.

commit a389ef7
Author: correctmost <[email protected]>
Date:   Tue Aug 27 17:19:26 2024 -0400

    Use a tuple for processed parameter to facilitate future caching (pylint-dev#2529)

commit 16990fc
Author: correctmost <[email protected]>
Date:   Tue Aug 27 16:25:48 2024 -0400

    Remove unnecessary isinstance calls from transform predicates (pylint-dev#2507)

commit 0cf9a2e
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 27 06:34:11 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2528)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.1 β†’ v0.6.2](astral-sh/ruff-pre-commit@v0.6.1...v0.6.2)
    - [github.com/pre-commit/mirrors-mypy: v1.11.1 β†’ v1.11.2](pre-commit/mirrors-mypy@v1.11.1...v1.11.2)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit d8dbc46
Author: correctmost <[email protected]>
Date:   Sun Aug 25 21:53:58 2024 -0400

    Use a tuple for module_parts parameter to facilitate future caching

commit f924ba2
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 20 06:15:34 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2512)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.7 β†’ v0.6.1](astral-sh/ruff-pre-commit@v0.5.7...v0.6.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit b312b56
Author: correctmost <[email protected]>
Date:   Sun Aug 18 04:49:15 2024 +0000

    Make Finder.find_module static to facilitate future caching (pylint-dev#2509)

commit 8515010
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 13 06:19:18 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2510)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.6 β†’ v0.5.7](astral-sh/ruff-pre-commit@v0.5.6...v0.5.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit fa32673
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 12 22:35:41 2024 +0200

    Bump actions/upload-artifact from 4.3.5 to 4.3.6 (pylint-dev#2508)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.5...v4.3.6)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5e8fac7
Author: correctmost <[email protected]>
Date:   Sun Aug 11 17:41:02 2024 +0000

    Add cached version of os.path.isfile to avoid repetitive I/O (pylint-dev#2501)

commit 3a743a4
Merge: 5b838f2 4df8708
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 10:18:28 2024 -0400

    Merge pull request pylint-dev#2506 from pylint-dev/post-3.3.2

    Post 3.3.2

commit 4df8708
Merge: 86c7871 4ae4617
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 08:02:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.2

commit 5b838f2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Aug 11 13:50:27 2024 +0200

    Update sphinx requirement from ~=7.4 to ~=8.0 (pylint-dev#2494)

    * Update sphinx requirement from ~=7.4 to ~=8.0

    Updates the requirements on [sphinx](https://github.com/sphinx-doc/sphinx) to permit the latest version.
    - [Release notes](https://github.com/sphinx-doc/sphinx/releases)
    - [Changelog](https://github.com/sphinx-doc/sphinx/blob/v8.0.2/CHANGES.rst)
    - [Commits](sphinx-doc/sphinx@v7.4.0...v8.0.2)

    ---
    updated-dependencies:
    - dependency-name: sphinx
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Upgrade furo too

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Pierre Sassoulas <[email protected]>

commit 86c7871
Author: Jacob Walls <[email protected]>
Date:   Sat Aug 10 17:06:09 2024 -0400

    [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503)

commit 0156c04
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:57:49 2024 +0000

    Avoid overhead of cast() calls when not type checking (pylint-dev#2500)

commit 29b6cbd
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:48:42 2024 +0000

    Avoid extra isinstance calls in _visit_generic (pylint-dev#2502)

commit 15207a7
Merge: 04f4f3f 996ffea
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:52:55 2024 -0400

    Merge pull request pylint-dev#2499 from pylint-dev/post-3.3.1

commit 996ffea
Merge: 04f4f3f de58003
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:05:54 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.1

commit 04f4f3f
Author: Eric Vergnaud <[email protected]>
Date:   Tue Aug 6 13:59:28 2024 +0200

    Fix pylint regression with invalid format strings (pylint-dev#2496)

    Catch exceptions when calling string.format

commit 8d3cdbb
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 5 20:06:08 2024 -0400

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2495)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.5 β†’ v0.5.6](astral-sh/ruff-pre-commit@v0.5.5...v0.5.6)
    - [github.com/psf/black: 24.4.2 β†’ 24.8.0](psf/black@24.4.2...24.8.0)
    - [github.com/pre-commit/mirrors-mypy: v1.11.0 β†’ v1.11.1](pre-commit/mirrors-mypy@v1.11.0...v1.11.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 61dba89
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 5 23:27:45 2024 +0200

    Bump actions/upload-artifact from 4.3.4 to 4.3.5 (pylint-dev#2493)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.4...v4.3.5)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b105186
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 4 09:10:21 2024 -0400

    Bump astroid to 3.4.0-dev0, update changelog
cdce8p added a commit to cdce8p/astroid that referenced this pull request Nov 6, 2024
commit 0954cd4
Author: Jacob Walls <[email protected]>
Date:   Tue Oct 8 12:11:04 2024 -0400

    Bump CI jobs to python 3.13 (pylint-dev#2607)

commit f201120
Author: Akhil Kamat <[email protected]>
Date:   Tue Oct 8 04:45:54 2024 -0400

    Change order of search path to fix inconsistency between pylint and astroid. (pylint-dev#2589)

commit 8696918
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Oct 8 06:53:04 2024 +0200

    Bump actions/cache from 4.0.2 to 4.1.0 (pylint-dev#2603)

    Bumps [actions/cache](https://github.com/actions/cache) from 4.0.2 to 4.1.0.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](actions/cache@v4.0.2...v4.1.0)

    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit e548c2f
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Oct 8 06:39:51 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2606)

    updates:
    - [github.com/pre-commit/pre-commit-hooks: v4.6.0 β†’ v5.0.0](pre-commit/pre-commit-hooks@v4.6.0...v5.0.0)
    - [github.com/astral-sh/ruff-pre-commit: v0.6.8 β†’ v0.6.9](astral-sh/ruff-pre-commit@v0.6.8...v0.6.9)
    - [github.com/psf/black: 24.8.0 β†’ 24.10.0](psf/black@24.8.0...24.10.0)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 6679ec2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Oct 7 23:03:27 2024 +0200

    Bump actions/checkout from 4.2.0 to 4.2.1 (pylint-dev#2604)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v4.2.0...v4.2.1)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit bb1f6b2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Oct 7 23:03:04 2024 +0200

    Bump actions/upload-artifact from 4.4.0 to 4.4.1 (pylint-dev#2605)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.1.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.4.0...v4.4.1)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 275f508
Author: temyurchenko <[email protected]>
Date:   Mon Oct 7 01:08:43 2024 -0400

    Clarification on non-Module roots (pylint-dev#2536)

    * remove last instances of Unknown parents (and None parents in tests)

    It's a part of the campaign to get rid of non-module roots

    * assert that the root() is always a Module

    The nodes are often created in an ad-hoc way, and their parent is not
       always set. We can't control for that invariant fully in the
       constructor, since the parent is sometimes set outside of the
       constructor. The previous commits did their best to clean up such
       situations, but let's add an assert just in case.

commit d3df248
Merge: f63a393 6dedc26
Author: Jacob Walls <[email protected]>
Date:   Fri Oct 4 14:22:11 2024 -0400

    Merge pull request pylint-dev#2601 from pylint-dev/post-3.3.5

    Post 3.3.5

commit 6dedc26
Merge: f63a393 8c74a5f
Author: Jacob Walls <[email protected]>
Date:   Fri Oct 4 13:36:05 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.5

commit f63a393
Author: Jacob Walls <[email protected]>
Date:   Fri Oct 4 04:18:22 2024 -0400

    Fix python 3.13 compatibility re: collections.abc (pylint-dev#2598)

commit 6dba72c
Author: temyurchenko <[email protected]>
Date:   Wed Oct 2 16:13:50 2024 -0400

    Enforce a non-None parent in build_function (pylint-dev#2562)

    It's a part of the campaign to get rid of non-module roots

commit e3813e3
Author: temyurchenko <[email protected]>
Date:   Wed Oct 2 14:19:23 2024 -0400

    Set proper parents for namedtuple's and enum's (pylint-dev#2555)

    it's a part of the campaign to get rid of non-module roots

commit be00359
Author: correctmost <[email protected]>
Date:   Wed Oct 2 11:20:50 2024 -0400

    Remove unused numpy utility functions (pylint-dev#2595)

    Follow-up to c7ea1e9.

commit d174ca2
Author: correctmost <[email protected]>
Date:   Wed Oct 2 10:45:43 2024 -0400

    Fix OverflowError with empty list and large multiplier

    This regressed in dfe1ccc.

commit dfe1ccc
Author: correctmost <[email protected]>
Date:   Wed Oct 2 07:16:33 2024 -0400

    Fix crashes with large positive and negative list multipliers

    Closes pylint-dev#2521
    Closes pylint-dev#2523

commit ba7df4a
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Oct 1 10:30:42 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2593)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.7 β†’ v0.6.8](astral-sh/ruff-pre-commit@v0.6.7...v0.6.8)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 8620ae1
Author: Nick Drozd <[email protected]>
Date:   Mon Sep 30 15:14:25 2024 -0400

    Enable design complexity checks (pylint-dev#2591)

commit 36094ed
Author: temyurchenko <[email protected]>
Date:   Mon Sep 30 15:14:13 2024 -0400

    control setting nodes as local outside of the constructor (pylint-dev#2588)

    1. The main reason is that a node might be assigned to its parent via
       an Β«aliasΒ»:

    Sometimes a class accesses a member by a different name than
       "__name__" of that member: in pypy3 `list.__mul__.__name__ ==
       "__rmul__"`.

    As a result, in the example above we weren't able to find
       "list.__mul__", because it was recorded only as "list.__rmul__".

    2. Sometimes we want to have a parent semantically, but we don't want
       to add it to the list of locals. For example, when inferring
       properties we are creating ad-hoc properties. We wouldn't want to
       add another symbol to the locals every time we do an
       inference. (actually, there's a very good question as to why we are
       doing those ad-hoc properties but that's out of scope)

    it's a part of the campaign to get rid of non-module roots

commit 32cb29e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 30 20:33:57 2024 +0200

    Bump actions/checkout from 4.1.7 to 4.2.0 (pylint-dev#2592)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v4.1.7...v4.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d394fb9
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 30 08:52:35 2024 -0400

    Bump astroid to 4.0.0-dev0, update changelog

commit c7ea1e9
Author: correctmost <[email protected]>
Date:   Sat Sep 7 14:47:47 2024 -0400

    Consolidate numpy member transforms to reduce function calls

commit f19fc0a
Author: Artem Yurchenko <[email protected]>
Date:   Thu Sep 26 19:56:45 2024 -0700

    disable AsyncGeneratorModel from inheriting Generator attributes

    for example, usual generators have "send", but async don't. They have
       "async" instead.

commit 62c5bad
Author: temyurchenko <[email protected]>
Date:   Thu Sep 26 00:29:36 2024 -0400

    change the type annotation error heuristic (pylint-dev#2583)

    The previous one depended on the message from "typed_ast", which is
       not used anymore.

    Instead, we check if there is a "# type:" substring in the source line
       of the exception. This can yield some false positives, but probably
       rarely.

commit a3f5c4a
Author: temyurchenko <[email protected]>
Date:   Wed Sep 25 16:18:58 2024 -0400

    wrap GeneratorModel methods into BoundMethod; remove redundant test (pylint-dev#2584)

    The LookupTest.test_generator_attributes contains outdated Python 2
       code (doesn't run on Python 3). The test is superceded by
       GeneratorModelTest.test_model.

    Fix AsyncGenerator test and model, they just weren't used before

commit eb88dfe
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 24 06:47:29 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2582)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.5 β†’ v0.6.7](astral-sh/ruff-pre-commit@v0.6.5...v0.6.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit c8e8831
Merge: 8585ce6 498cf96
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:33:13 2024 -0400

    Merge pull request pylint-dev#2581 from pylint-dev/post-3.3.4

    Post 3.3.4

commit 498cf96
Merge: 8585ce6 6042e58
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:25:58 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.4

commit 8585ce6
Author: Eric Vergnaud <[email protected]>
Date:   Mon Sep 23 19:53:55 2024 +0200

    Fix issue when inferring single-node or non-const JoinedStr (pylint-dev#2578)

commit 706fcdb
Author: Jacob Walls <[email protected]>
Date:   Sun Sep 22 09:14:31 2024 -0400

    Address pylint 3.3 messages (pylint-dev#2575)

commit a679550
Author: Nick Drozd <[email protected]>
Date:   Sun Sep 22 09:00:09 2024 -0400

    Check for empty format specs (pylint-dev#2574)

commit 58286a1
Author: Akhil Kamat <[email protected]>
Date:   Sat Sep 21 21:36:35 2024 -0400

    Fix `manager.clear_cache()` not fully clearing the module cache (pylint-dev#2572)

commit 1368be1
Merge: 5a93a9f 11db16d
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 08:10:58 2024 -0300

    Merge pull request pylint-dev#2570 from pylint-dev/post-3.3.3

    Post 3.3.3

commit 11db16d
Merge: 5a93a9f a01a9c9
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 06:46:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.3

commit 5a93a9f
Author: Jacob Walls <[email protected]>
Date:   Thu Sep 19 09:43:50 2024 -0300

    Fix inference regression with property setters (pylint-dev#2567)

    Closes pylint-dev/pylint#9811

commit 826d477
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 19 12:05:44 2024 +0000

    Bump actions/upload-artifact from 4.3.6 to 4.4.0 (pylint-dev#2533)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.6...v4.4.0)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 709f991
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 17 07:04:26 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2565)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.4 β†’ v0.6.5](astral-sh/ruff-pre-commit@v0.6.4...v0.6.5)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a99967e
Author: temyurchenko <[email protected]>
Date:   Fri Sep 13 11:35:02 2024 -0400

    Require build class parent (pylint-dev#2557)

    * enforce a non-None parent in build_class

    We also remove `add_local_node` to avoid redundancy. Instead we do the
       attachment to the parent scope in the constructor of `ClassDef`.

    We append a node to the body of the frame when it is also the
       parent. If it's not a parent, then the node should belong to the
       "body" of the parent if it existed. An example is a definition
       within an "if", where the parent is the If node, but the frame is
       the whole module.

    it's a part of the campaign to get rid of non-module roots

commit c7b8a2f
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:17:02 2024 -0400

    add setuptools dependency for python >= 3.12

commit 44907c2
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:16:37 2024 -0400

    Remove setuptools dependency from ci

commit b4ac0e2
Author: Akhil Kamat <[email protected]>
Date:   Wed Sep 11 06:06:28 2024 -0400

    Remove newstyle variable given old-style class support should be removed (pylint-dev#2561)

commit 523eeb4
Author: temyurchenko <[email protected]>
Date:   Wed Sep 11 04:53:30 2024 -0400

    Fix unexpected `__doc__` values   (pylint-dev#2556)

    * fix unexpected '__doc__' values

    some '__doc__' fields of standard library
       symbols (e.g. WrapperDescriptorType.__doc__) don't return a string,
       they return a 'getset_descriptor'. Thus, an attempt to print "as
       string" fails. The solution is to check that __doc__ is an instance
       of str.

    Note that it wasn't uncovered by the tests due to classes not being
       attached to their parent in some cases. This is be done in one of
       the subsequent commits.

    it's a part of the campaign to get rid of non-module roots

    * put the "temporary_class" for the metaclass hack into adhoc module

    it's a part of the campaign to get rid of non-module roots

commit e442776
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:31:27 2024 -0700

    set PartialFunction's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit 8364693
Author: temyurchenko <[email protected]>
Date:   Tue Sep 10 15:32:07 2024 -0400

    Fix in place properties (pylint-dev#2553)

    * fix construction of in-place properties

    This is an example of an in-place property: `bar = property(getter)`.
       They just create a nameless object, not the one with the name of
       the getter. Thus, the name was changed to
       "<property>". Furthermore, the definition of that property is not
       attached to any scope, as it's again nameless.

    it's a part of the campaign to get rid of non-module roots

commit 20890b8
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:12:33 2024 -0700

    set namespace's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit b6d52d3
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:04:34 2024 -0700

    create an "adhoc" module for "artificial" nodes

    the module is specifically for nodes that are not based in the real
       syntactic tree, but created "ad-hoc", for example, new namedtuple
       classes that we create (see brain_namedtuple_enum).

    This is the base for future changes on replacing non-module
      roots (with the adhoc module or something more approriate).

commit 6ec2d40
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 10 06:15:01 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2559)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.3 β†’ v0.6.4](astral-sh/ruff-pre-commit@v0.6.3...v0.6.4)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 0011e7f
Author: Artem Yurchenko <[email protected]>
Date:   Tue Sep 3 16:12:12 2024 -0700

    add the parent node to "__main__"

    Not having a parent leads to weird situations, like `root()` returning
       the node itself, not a `Module`.

commit 7954bac
Author: correctmost <[email protected]>
Date:   Sat Sep 7 11:52:56 2024 -0400

    Fix most of the mypy errors in astroid/nodes/as_string.py

commit 8573b68
Author: correctmost <[email protected]>
Date:   Sun Sep 8 03:15:01 2024 -0400

    Fix useless-suppression Pylint warning (pylint-dev#2548)

    * Bump Pylint requirement to 3.2.7

commit cae2977
Author: correctmost <[email protected]>
Date:   Sun Sep 8 00:59:25 2024 -0400

    Add .tox to Pylint ignore list (pylint-dev#2549)

commit 887668b
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:37:50 2024 -0400

    Fix additional mypy errors and expand CI checks to more files (pylint-dev#2541)

    * Fix additional mypy errors and expand CI checks to more files

    * Use an assertion instead of a type ignore

    * Move an assert outside of a type-checking block

commit ba331c0
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:09:11 2024 -0400

    Use extend-exclude instead of exclude in ruff config (pylint-dev#2545)

    The ruff docs recommend using extend-exclude for custom paths.

commit 003a2df
Author: correctmost <[email protected]>
Date:   Sat Sep 7 00:47:03 2024 -0400

    Remove Python 3.8 from tox config (pylint-dev#2546)

commit dc5dafb
Author: correctmost <[email protected]>
Date:   Fri Sep 6 01:37:53 2024 -0400

    Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544)

commit 5982618
Author: correctmost <[email protected]>
Date:   Thu Sep 5 15:29:25 2024 -0400

    Move Pylint exclusions to pylintrc (pylint-dev#2542)

    This makes it easier to run Pylint outside of the pre-commit hooks.

commit 71f5c0c
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:55:41 2024 -0400

    Do not reassign submodule_path parameters in method bodies

    This makes it easier to use less generic annotations with mypy.

commit 1495979
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:34:55 2024 -0400

    Fix type annotations for tuple parameters

commit 6deb34f
Author: correctmost <[email protected]>
Date:   Wed Sep 4 02:04:09 2024 -0400

    Add ruff exclusions to pyproject.toml (pylint-dev#2537)

    This makes it easier to run 'ruff check' outside of the pre-commit
    hook.

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

commit 78f7f60
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 3 08:52:20 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2535)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.2 β†’ v0.6.3](astral-sh/ruff-pre-commit@v0.6.2...v0.6.3)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a30794c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 2 20:09:47 2024 +0200

    Bump actions/setup-python from 5.1.1 to 5.2.0 (pylint-dev#2534)

    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v5.1.1...v5.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 37b6c0d
Author: temyurchenko <[email protected]>
Date:   Fri Aug 30 17:30:56 2024 -0400

    fix the documentation and the error message of modpath_from_file (pylint-dev#2532)

    The doc should clarify that the search will always include sys.path.

    The error message should reflect the actual paths used for checking.

commit 5210e61
Author: correctmost <[email protected]>
Date:   Fri Aug 30 09:00:26 2024 -0400

    Enable mypy checking for astroid/interpreter/_import/ (pylint-dev#2530)

    This commit also removes unnecessary tuple -> list conversions in
    _find_spec.

commit a389ef7
Author: correctmost <[email protected]>
Date:   Tue Aug 27 17:19:26 2024 -0400

    Use a tuple for processed parameter to facilitate future caching (pylint-dev#2529)

commit 16990fc
Author: correctmost <[email protected]>
Date:   Tue Aug 27 16:25:48 2024 -0400

    Remove unnecessary isinstance calls from transform predicates (pylint-dev#2507)

commit 0cf9a2e
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 27 06:34:11 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2528)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.1 β†’ v0.6.2](astral-sh/ruff-pre-commit@v0.6.1...v0.6.2)
    - [github.com/pre-commit/mirrors-mypy: v1.11.1 β†’ v1.11.2](pre-commit/mirrors-mypy@v1.11.1...v1.11.2)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit d8dbc46
Author: correctmost <[email protected]>
Date:   Sun Aug 25 21:53:58 2024 -0400

    Use a tuple for module_parts parameter to facilitate future caching

commit f924ba2
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 20 06:15:34 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2512)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.7 β†’ v0.6.1](astral-sh/ruff-pre-commit@v0.5.7...v0.6.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit b312b56
Author: correctmost <[email protected]>
Date:   Sun Aug 18 04:49:15 2024 +0000

    Make Finder.find_module static to facilitate future caching (pylint-dev#2509)

commit 8515010
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 13 06:19:18 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2510)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.6 β†’ v0.5.7](astral-sh/ruff-pre-commit@v0.5.6...v0.5.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit fa32673
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 12 22:35:41 2024 +0200

    Bump actions/upload-artifact from 4.3.5 to 4.3.6 (pylint-dev#2508)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.5...v4.3.6)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5e8fac7
Author: correctmost <[email protected]>
Date:   Sun Aug 11 17:41:02 2024 +0000

    Add cached version of os.path.isfile to avoid repetitive I/O (pylint-dev#2501)

commit 3a743a4
Merge: 5b838f2 4df8708
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 10:18:28 2024 -0400

    Merge pull request pylint-dev#2506 from pylint-dev/post-3.3.2

    Post 3.3.2

commit 4df8708
Merge: 86c7871 4ae4617
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 08:02:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.2

commit 5b838f2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Aug 11 13:50:27 2024 +0200

    Update sphinx requirement from ~=7.4 to ~=8.0 (pylint-dev#2494)

    * Update sphinx requirement from ~=7.4 to ~=8.0

    Updates the requirements on [sphinx](https://github.com/sphinx-doc/sphinx) to permit the latest version.
    - [Release notes](https://github.com/sphinx-doc/sphinx/releases)
    - [Changelog](https://github.com/sphinx-doc/sphinx/blob/v8.0.2/CHANGES.rst)
    - [Commits](sphinx-doc/sphinx@v7.4.0...v8.0.2)

    ---
    updated-dependencies:
    - dependency-name: sphinx
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Upgrade furo too

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Pierre Sassoulas <[email protected]>

commit 86c7871
Author: Jacob Walls <[email protected]>
Date:   Sat Aug 10 17:06:09 2024 -0400

    [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503)

commit 0156c04
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:57:49 2024 +0000

    Avoid overhead of cast() calls when not type checking (pylint-dev#2500)

commit 29b6cbd
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:48:42 2024 +0000

    Avoid extra isinstance calls in _visit_generic (pylint-dev#2502)

commit 15207a7
Merge: 04f4f3f 996ffea
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:52:55 2024 -0400

    Merge pull request pylint-dev#2499 from pylint-dev/post-3.3.1

commit 996ffea
Merge: 04f4f3f de58003
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:05:54 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.1

commit 04f4f3f
Author: Eric Vergnaud <[email protected]>
Date:   Tue Aug 6 13:59:28 2024 +0200

    Fix pylint regression with invalid format strings (pylint-dev#2496)

    Catch exceptions when calling string.format

commit 8d3cdbb
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 5 20:06:08 2024 -0400

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2495)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.5 β†’ v0.5.6](astral-sh/ruff-pre-commit@v0.5.5...v0.5.6)
    - [github.com/psf/black: 24.4.2 β†’ 24.8.0](psf/black@24.4.2...24.8.0)
    - [github.com/pre-commit/mirrors-mypy: v1.11.0 β†’ v1.11.1](pre-commit/mirrors-mypy@v1.11.0...v1.11.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 61dba89
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 5 23:27:45 2024 +0200

    Bump actions/upload-artifact from 4.3.4 to 4.3.5 (pylint-dev#2493)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.4...v4.3.5)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b105186
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 4 09:10:21 2024 -0400

    Bump astroid to 3.4.0-dev0, update changelog
cdce8p added a commit to cdce8p/astroid that referenced this pull request Nov 6, 2024
commit 6dba72c
Author: temyurchenko <[email protected]>
Date:   Wed Oct 2 16:13:50 2024 -0400

    Enforce a non-None parent in build_function (pylint-dev#2562)

    It's a part of the campaign to get rid of non-module roots

commit e3813e3
Author: temyurchenko <[email protected]>
Date:   Wed Oct 2 14:19:23 2024 -0400

    Set proper parents for namedtuple's and enum's (pylint-dev#2555)

    it's a part of the campaign to get rid of non-module roots

commit be00359
Author: correctmost <[email protected]>
Date:   Wed Oct 2 11:20:50 2024 -0400

    Remove unused numpy utility functions (pylint-dev#2595)

    Follow-up to c7ea1e9.

commit d174ca2
Author: correctmost <[email protected]>
Date:   Wed Oct 2 10:45:43 2024 -0400

    Fix OverflowError with empty list and large multiplier

    This regressed in dfe1ccc.

commit dfe1ccc
Author: correctmost <[email protected]>
Date:   Wed Oct 2 07:16:33 2024 -0400

    Fix crashes with large positive and negative list multipliers

    Closes pylint-dev#2521
    Closes pylint-dev#2523

commit ba7df4a
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Oct 1 10:30:42 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2593)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.7 β†’ v0.6.8](astral-sh/ruff-pre-commit@v0.6.7...v0.6.8)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 8620ae1
Author: Nick Drozd <[email protected]>
Date:   Mon Sep 30 15:14:25 2024 -0400

    Enable design complexity checks (pylint-dev#2591)

commit 36094ed
Author: temyurchenko <[email protected]>
Date:   Mon Sep 30 15:14:13 2024 -0400

    control setting nodes as local outside of the constructor (pylint-dev#2588)

    1. The main reason is that a node might be assigned to its parent via
       an Β«aliasΒ»:

    Sometimes a class accesses a member by a different name than
       "__name__" of that member: in pypy3 `list.__mul__.__name__ ==
       "__rmul__"`.

    As a result, in the example above we weren't able to find
       "list.__mul__", because it was recorded only as "list.__rmul__".

    2. Sometimes we want to have a parent semantically, but we don't want
       to add it to the list of locals. For example, when inferring
       properties we are creating ad-hoc properties. We wouldn't want to
       add another symbol to the locals every time we do an
       inference. (actually, there's a very good question as to why we are
       doing those ad-hoc properties but that's out of scope)

    it's a part of the campaign to get rid of non-module roots

commit 32cb29e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 30 20:33:57 2024 +0200

    Bump actions/checkout from 4.1.7 to 4.2.0 (pylint-dev#2592)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v4.1.7...v4.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d394fb9
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 30 08:52:35 2024 -0400

    Bump astroid to 4.0.0-dev0, update changelog

commit c7ea1e9
Author: correctmost <[email protected]>
Date:   Sat Sep 7 14:47:47 2024 -0400

    Consolidate numpy member transforms to reduce function calls

commit f19fc0a
Author: Artem Yurchenko <[email protected]>
Date:   Thu Sep 26 19:56:45 2024 -0700

    disable AsyncGeneratorModel from inheriting Generator attributes

    for example, usual generators have "send", but async don't. They have
       "async" instead.

commit 62c5bad
Author: temyurchenko <[email protected]>
Date:   Thu Sep 26 00:29:36 2024 -0400

    change the type annotation error heuristic (pylint-dev#2583)

    The previous one depended on the message from "typed_ast", which is
       not used anymore.

    Instead, we check if there is a "# type:" substring in the source line
       of the exception. This can yield some false positives, but probably
       rarely.

commit a3f5c4a
Author: temyurchenko <[email protected]>
Date:   Wed Sep 25 16:18:58 2024 -0400

    wrap GeneratorModel methods into BoundMethod; remove redundant test (pylint-dev#2584)

    The LookupTest.test_generator_attributes contains outdated Python 2
       code (doesn't run on Python 3). The test is superceded by
       GeneratorModelTest.test_model.

    Fix AsyncGenerator test and model, they just weren't used before

commit eb88dfe
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 24 06:47:29 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2582)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.5 β†’ v0.6.7](astral-sh/ruff-pre-commit@v0.6.5...v0.6.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit c8e8831
Merge: 8585ce6 498cf96
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:33:13 2024 -0400

    Merge pull request pylint-dev#2581 from pylint-dev/post-3.3.4

    Post 3.3.4

commit 498cf96
Merge: 8585ce6 6042e58
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:25:58 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.4

commit 8585ce6
Author: Eric Vergnaud <[email protected]>
Date:   Mon Sep 23 19:53:55 2024 +0200

    Fix issue when inferring single-node or non-const JoinedStr (pylint-dev#2578)

commit 706fcdb
Author: Jacob Walls <[email protected]>
Date:   Sun Sep 22 09:14:31 2024 -0400

    Address pylint 3.3 messages (pylint-dev#2575)

commit a679550
Author: Nick Drozd <[email protected]>
Date:   Sun Sep 22 09:00:09 2024 -0400

    Check for empty format specs (pylint-dev#2574)

commit 58286a1
Author: Akhil Kamat <[email protected]>
Date:   Sat Sep 21 21:36:35 2024 -0400

    Fix `manager.clear_cache()` not fully clearing the module cache (pylint-dev#2572)

commit 1368be1
Merge: 5a93a9f 11db16d
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 08:10:58 2024 -0300

    Merge pull request pylint-dev#2570 from pylint-dev/post-3.3.3

    Post 3.3.3

commit 11db16d
Merge: 5a93a9f a01a9c9
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 06:46:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.3

commit 5a93a9f
Author: Jacob Walls <[email protected]>
Date:   Thu Sep 19 09:43:50 2024 -0300

    Fix inference regression with property setters (pylint-dev#2567)

    Closes pylint-dev/pylint#9811

commit 826d477
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 19 12:05:44 2024 +0000

    Bump actions/upload-artifact from 4.3.6 to 4.4.0 (pylint-dev#2533)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.6...v4.4.0)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 709f991
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 17 07:04:26 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2565)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.4 β†’ v0.6.5](astral-sh/ruff-pre-commit@v0.6.4...v0.6.5)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a99967e
Author: temyurchenko <[email protected]>
Date:   Fri Sep 13 11:35:02 2024 -0400

    Require build class parent (pylint-dev#2557)

    * enforce a non-None parent in build_class

    We also remove `add_local_node` to avoid redundancy. Instead we do the
       attachment to the parent scope in the constructor of `ClassDef`.

    We append a node to the body of the frame when it is also the
       parent. If it's not a parent, then the node should belong to the
       "body" of the parent if it existed. An example is a definition
       within an "if", where the parent is the If node, but the frame is
       the whole module.

    it's a part of the campaign to get rid of non-module roots

commit c7b8a2f
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:17:02 2024 -0400

    add setuptools dependency for python >= 3.12

commit 44907c2
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:16:37 2024 -0400

    Remove setuptools dependency from ci

commit b4ac0e2
Author: Akhil Kamat <[email protected]>
Date:   Wed Sep 11 06:06:28 2024 -0400

    Remove newstyle variable given old-style class support should be removed (pylint-dev#2561)

commit 523eeb4
Author: temyurchenko <[email protected]>
Date:   Wed Sep 11 04:53:30 2024 -0400

    Fix unexpected `__doc__` values   (pylint-dev#2556)

    * fix unexpected '__doc__' values

    some '__doc__' fields of standard library
       symbols (e.g. WrapperDescriptorType.__doc__) don't return a string,
       they return a 'getset_descriptor'. Thus, an attempt to print "as
       string" fails. The solution is to check that __doc__ is an instance
       of str.

    Note that it wasn't uncovered by the tests due to classes not being
       attached to their parent in some cases. This is be done in one of
       the subsequent commits.

    it's a part of the campaign to get rid of non-module roots

    * put the "temporary_class" for the metaclass hack into adhoc module

    it's a part of the campaign to get rid of non-module roots

commit e442776
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:31:27 2024 -0700

    set PartialFunction's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit 8364693
Author: temyurchenko <[email protected]>
Date:   Tue Sep 10 15:32:07 2024 -0400

    Fix in place properties (pylint-dev#2553)

    * fix construction of in-place properties

    This is an example of an in-place property: `bar = property(getter)`.
       They just create a nameless object, not the one with the name of
       the getter. Thus, the name was changed to
       "<property>". Furthermore, the definition of that property is not
       attached to any scope, as it's again nameless.

    it's a part of the campaign to get rid of non-module roots

commit 20890b8
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:12:33 2024 -0700

    set namespace's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit b6d52d3
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:04:34 2024 -0700

    create an "adhoc" module for "artificial" nodes

    the module is specifically for nodes that are not based in the real
       syntactic tree, but created "ad-hoc", for example, new namedtuple
       classes that we create (see brain_namedtuple_enum).

    This is the base for future changes on replacing non-module
      roots (with the adhoc module or something more approriate).

commit 6ec2d40
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 10 06:15:01 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2559)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.3 β†’ v0.6.4](astral-sh/ruff-pre-commit@v0.6.3...v0.6.4)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 0011e7f
Author: Artem Yurchenko <[email protected]>
Date:   Tue Sep 3 16:12:12 2024 -0700

    add the parent node to "__main__"

    Not having a parent leads to weird situations, like `root()` returning
       the node itself, not a `Module`.

commit 7954bac
Author: correctmost <[email protected]>
Date:   Sat Sep 7 11:52:56 2024 -0400

    Fix most of the mypy errors in astroid/nodes/as_string.py

commit 8573b68
Author: correctmost <[email protected]>
Date:   Sun Sep 8 03:15:01 2024 -0400

    Fix useless-suppression Pylint warning (pylint-dev#2548)

    * Bump Pylint requirement to 3.2.7

commit cae2977
Author: correctmost <[email protected]>
Date:   Sun Sep 8 00:59:25 2024 -0400

    Add .tox to Pylint ignore list (pylint-dev#2549)

commit 887668b
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:37:50 2024 -0400

    Fix additional mypy errors and expand CI checks to more files (pylint-dev#2541)

    * Fix additional mypy errors and expand CI checks to more files

    * Use an assertion instead of a type ignore

    * Move an assert outside of a type-checking block

commit ba331c0
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:09:11 2024 -0400

    Use extend-exclude instead of exclude in ruff config (pylint-dev#2545)

    The ruff docs recommend using extend-exclude for custom paths.

commit 003a2df
Author: correctmost <[email protected]>
Date:   Sat Sep 7 00:47:03 2024 -0400

    Remove Python 3.8 from tox config (pylint-dev#2546)

commit dc5dafb
Author: correctmost <[email protected]>
Date:   Fri Sep 6 01:37:53 2024 -0400

    Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544)

commit 5982618
Author: correctmost <[email protected]>
Date:   Thu Sep 5 15:29:25 2024 -0400

    Move Pylint exclusions to pylintrc (pylint-dev#2542)

    This makes it easier to run Pylint outside of the pre-commit hooks.

commit 71f5c0c
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:55:41 2024 -0400

    Do not reassign submodule_path parameters in method bodies

    This makes it easier to use less generic annotations with mypy.

commit 1495979
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:34:55 2024 -0400

    Fix type annotations for tuple parameters

commit 6deb34f
Author: correctmost <[email protected]>
Date:   Wed Sep 4 02:04:09 2024 -0400

    Add ruff exclusions to pyproject.toml (pylint-dev#2537)

    This makes it easier to run 'ruff check' outside of the pre-commit
    hook.

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

commit 78f7f60
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 3 08:52:20 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2535)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.2 β†’ v0.6.3](astral-sh/ruff-pre-commit@v0.6.2...v0.6.3)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a30794c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 2 20:09:47 2024 +0200

    Bump actions/setup-python from 5.1.1 to 5.2.0 (pylint-dev#2534)

    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v5.1.1...v5.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 37b6c0d
Author: temyurchenko <[email protected]>
Date:   Fri Aug 30 17:30:56 2024 -0400

    fix the documentation and the error message of modpath_from_file (pylint-dev#2532)

    The doc should clarify that the search will always include sys.path.

    The error message should reflect the actual paths used for checking.

commit 5210e61
Author: correctmost <[email protected]>
Date:   Fri Aug 30 09:00:26 2024 -0400

    Enable mypy checking for astroid/interpreter/_import/ (pylint-dev#2530)

    This commit also removes unnecessary tuple -> list conversions in
    _find_spec.

commit a389ef7
Author: correctmost <[email protected]>
Date:   Tue Aug 27 17:19:26 2024 -0400

    Use a tuple for processed parameter to facilitate future caching (pylint-dev#2529)

commit 16990fc
Author: correctmost <[email protected]>
Date:   Tue Aug 27 16:25:48 2024 -0400

    Remove unnecessary isinstance calls from transform predicates (pylint-dev#2507)

commit 0cf9a2e
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 27 06:34:11 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2528)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.1 β†’ v0.6.2](astral-sh/ruff-pre-commit@v0.6.1...v0.6.2)
    - [github.com/pre-commit/mirrors-mypy: v1.11.1 β†’ v1.11.2](pre-commit/mirrors-mypy@v1.11.1...v1.11.2)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit d8dbc46
Author: correctmost <[email protected]>
Date:   Sun Aug 25 21:53:58 2024 -0400

    Use a tuple for module_parts parameter to facilitate future caching

commit f924ba2
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 20 06:15:34 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2512)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.7 β†’ v0.6.1](astral-sh/ruff-pre-commit@v0.5.7...v0.6.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit b312b56
Author: correctmost <[email protected]>
Date:   Sun Aug 18 04:49:15 2024 +0000

    Make Finder.find_module static to facilitate future caching (pylint-dev#2509)

commit 8515010
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 13 06:19:18 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2510)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.6 β†’ v0.5.7](astral-sh/ruff-pre-commit@v0.5.6...v0.5.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit fa32673
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 12 22:35:41 2024 +0200

    Bump actions/upload-artifact from 4.3.5 to 4.3.6 (pylint-dev#2508)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.5...v4.3.6)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5e8fac7
Author: correctmost <[email protected]>
Date:   Sun Aug 11 17:41:02 2024 +0000

    Add cached version of os.path.isfile to avoid repetitive I/O (pylint-dev#2501)

commit 3a743a4
Merge: 5b838f2 4df8708
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 10:18:28 2024 -0400

    Merge pull request pylint-dev#2506 from pylint-dev/post-3.3.2

    Post 3.3.2

commit 4df8708
Merge: 86c7871 4ae4617
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 08:02:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.2

commit 5b838f2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Aug 11 13:50:27 2024 +0200

    Update sphinx requirement from ~=7.4 to ~=8.0 (pylint-dev#2494)

    * Update sphinx requirement from ~=7.4 to ~=8.0

    Updates the requirements on [sphinx](https://github.com/sphinx-doc/sphinx) to permit the latest version.
    - [Release notes](https://github.com/sphinx-doc/sphinx/releases)
    - [Changelog](https://github.com/sphinx-doc/sphinx/blob/v8.0.2/CHANGES.rst)
    - [Commits](sphinx-doc/sphinx@v7.4.0...v8.0.2)

    ---
    updated-dependencies:
    - dependency-name: sphinx
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Upgrade furo too

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Pierre Sassoulas <[email protected]>

commit 86c7871
Author: Jacob Walls <[email protected]>
Date:   Sat Aug 10 17:06:09 2024 -0400

    [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503)

commit 0156c04
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:57:49 2024 +0000

    Avoid overhead of cast() calls when not type checking (pylint-dev#2500)

commit 29b6cbd
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:48:42 2024 +0000

    Avoid extra isinstance calls in _visit_generic (pylint-dev#2502)

commit 15207a7
Merge: 04f4f3f 996ffea
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:52:55 2024 -0400

    Merge pull request pylint-dev#2499 from pylint-dev/post-3.3.1

commit 996ffea
Merge: 04f4f3f de58003
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:05:54 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.1

commit 04f4f3f
Author: Eric Vergnaud <[email protected]>
Date:   Tue Aug 6 13:59:28 2024 +0200

    Fix pylint regression with invalid format strings (pylint-dev#2496)

    Catch exceptions when calling string.format

commit 8d3cdbb
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 5 20:06:08 2024 -0400

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2495)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.5 β†’ v0.5.6](astral-sh/ruff-pre-commit@v0.5.5...v0.5.6)
    - [github.com/psf/black: 24.4.2 β†’ 24.8.0](psf/black@24.4.2...24.8.0)
    - [github.com/pre-commit/mirrors-mypy: v1.11.0 β†’ v1.11.1](pre-commit/mirrors-mypy@v1.11.0...v1.11.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 61dba89
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 5 23:27:45 2024 +0200

    Bump actions/upload-artifact from 4.3.4 to 4.3.5 (pylint-dev#2493)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.4...v4.3.5)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b105186
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 4 09:10:21 2024 -0400

    Bump astroid to 3.4.0-dev0, update changelog
cdce8p added a commit to cdce8p/astroid that referenced this pull request Nov 6, 2024
commit 275f508
Author: temyurchenko <[email protected]>
Date:   Mon Oct 7 01:08:43 2024 -0400

    Clarification on non-Module roots (pylint-dev#2536)

    * remove last instances of Unknown parents (and None parents in tests)

    It's a part of the campaign to get rid of non-module roots

    * assert that the root() is always a Module

    The nodes are often created in an ad-hoc way, and their parent is not
       always set. We can't control for that invariant fully in the
       constructor, since the parent is sometimes set outside of the
       constructor. The previous commits did their best to clean up such
       situations, but let's add an assert just in case.

commit d3df248
Merge: f63a393 6dedc26
Author: Jacob Walls <[email protected]>
Date:   Fri Oct 4 14:22:11 2024 -0400

    Merge pull request pylint-dev#2601 from pylint-dev/post-3.3.5

    Post 3.3.5

commit 6dedc26
Merge: f63a393 8c74a5f
Author: Jacob Walls <[email protected]>
Date:   Fri Oct 4 13:36:05 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.5

commit f63a393
Author: Jacob Walls <[email protected]>
Date:   Fri Oct 4 04:18:22 2024 -0400

    Fix python 3.13 compatibility re: collections.abc (pylint-dev#2598)

commit 6dba72c
Author: temyurchenko <[email protected]>
Date:   Wed Oct 2 16:13:50 2024 -0400

    Enforce a non-None parent in build_function (pylint-dev#2562)

    It's a part of the campaign to get rid of non-module roots

commit e3813e3
Author: temyurchenko <[email protected]>
Date:   Wed Oct 2 14:19:23 2024 -0400

    Set proper parents for namedtuple's and enum's (pylint-dev#2555)

    it's a part of the campaign to get rid of non-module roots

commit be00359
Author: correctmost <[email protected]>
Date:   Wed Oct 2 11:20:50 2024 -0400

    Remove unused numpy utility functions (pylint-dev#2595)

    Follow-up to c7ea1e9.

commit d174ca2
Author: correctmost <[email protected]>
Date:   Wed Oct 2 10:45:43 2024 -0400

    Fix OverflowError with empty list and large multiplier

    This regressed in dfe1ccc.

commit dfe1ccc
Author: correctmost <[email protected]>
Date:   Wed Oct 2 07:16:33 2024 -0400

    Fix crashes with large positive and negative list multipliers

    Closes pylint-dev#2521
    Closes pylint-dev#2523

commit ba7df4a
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Oct 1 10:30:42 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2593)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.7 β†’ v0.6.8](astral-sh/ruff-pre-commit@v0.6.7...v0.6.8)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 8620ae1
Author: Nick Drozd <[email protected]>
Date:   Mon Sep 30 15:14:25 2024 -0400

    Enable design complexity checks (pylint-dev#2591)

commit 36094ed
Author: temyurchenko <[email protected]>
Date:   Mon Sep 30 15:14:13 2024 -0400

    control setting nodes as local outside of the constructor (pylint-dev#2588)

    1. The main reason is that a node might be assigned to its parent via
       an Β«aliasΒ»:

    Sometimes a class accesses a member by a different name than
       "__name__" of that member: in pypy3 `list.__mul__.__name__ ==
       "__rmul__"`.

    As a result, in the example above we weren't able to find
       "list.__mul__", because it was recorded only as "list.__rmul__".

    2. Sometimes we want to have a parent semantically, but we don't want
       to add it to the list of locals. For example, when inferring
       properties we are creating ad-hoc properties. We wouldn't want to
       add another symbol to the locals every time we do an
       inference. (actually, there's a very good question as to why we are
       doing those ad-hoc properties but that's out of scope)

    it's a part of the campaign to get rid of non-module roots

commit 32cb29e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 30 20:33:57 2024 +0200

    Bump actions/checkout from 4.1.7 to 4.2.0 (pylint-dev#2592)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v4.1.7...v4.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d394fb9
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 30 08:52:35 2024 -0400

    Bump astroid to 4.0.0-dev0, update changelog

commit c7ea1e9
Author: correctmost <[email protected]>
Date:   Sat Sep 7 14:47:47 2024 -0400

    Consolidate numpy member transforms to reduce function calls

commit f19fc0a
Author: Artem Yurchenko <[email protected]>
Date:   Thu Sep 26 19:56:45 2024 -0700

    disable AsyncGeneratorModel from inheriting Generator attributes

    for example, usual generators have "send", but async don't. They have
       "async" instead.

commit 62c5bad
Author: temyurchenko <[email protected]>
Date:   Thu Sep 26 00:29:36 2024 -0400

    change the type annotation error heuristic (pylint-dev#2583)

    The previous one depended on the message from "typed_ast", which is
       not used anymore.

    Instead, we check if there is a "# type:" substring in the source line
       of the exception. This can yield some false positives, but probably
       rarely.

commit a3f5c4a
Author: temyurchenko <[email protected]>
Date:   Wed Sep 25 16:18:58 2024 -0400

    wrap GeneratorModel methods into BoundMethod; remove redundant test (pylint-dev#2584)

    The LookupTest.test_generator_attributes contains outdated Python 2
       code (doesn't run on Python 3). The test is superceded by
       GeneratorModelTest.test_model.

    Fix AsyncGenerator test and model, they just weren't used before

commit eb88dfe
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 24 06:47:29 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2582)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.5 β†’ v0.6.7](astral-sh/ruff-pre-commit@v0.6.5...v0.6.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit c8e8831
Merge: 8585ce6 498cf96
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:33:13 2024 -0400

    Merge pull request pylint-dev#2581 from pylint-dev/post-3.3.4

    Post 3.3.4

commit 498cf96
Merge: 8585ce6 6042e58
Author: Jacob Walls <[email protected]>
Date:   Mon Sep 23 14:25:58 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.4

commit 8585ce6
Author: Eric Vergnaud <[email protected]>
Date:   Mon Sep 23 19:53:55 2024 +0200

    Fix issue when inferring single-node or non-const JoinedStr (pylint-dev#2578)

commit 706fcdb
Author: Jacob Walls <[email protected]>
Date:   Sun Sep 22 09:14:31 2024 -0400

    Address pylint 3.3 messages (pylint-dev#2575)

commit a679550
Author: Nick Drozd <[email protected]>
Date:   Sun Sep 22 09:00:09 2024 -0400

    Check for empty format specs (pylint-dev#2574)

commit 58286a1
Author: Akhil Kamat <[email protected]>
Date:   Sat Sep 21 21:36:35 2024 -0400

    Fix `manager.clear_cache()` not fully clearing the module cache (pylint-dev#2572)

commit 1368be1
Merge: 5a93a9f 11db16d
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 08:10:58 2024 -0300

    Merge pull request pylint-dev#2570 from pylint-dev/post-3.3.3

    Post 3.3.3

commit 11db16d
Merge: 5a93a9f a01a9c9
Author: Jacob Walls <[email protected]>
Date:   Fri Sep 20 06:46:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.3

commit 5a93a9f
Author: Jacob Walls <[email protected]>
Date:   Thu Sep 19 09:43:50 2024 -0300

    Fix inference regression with property setters (pylint-dev#2567)

    Closes pylint-dev/pylint#9811

commit 826d477
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 19 12:05:44 2024 +0000

    Bump actions/upload-artifact from 4.3.6 to 4.4.0 (pylint-dev#2533)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.6...v4.4.0)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 709f991
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 17 07:04:26 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2565)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.4 β†’ v0.6.5](astral-sh/ruff-pre-commit@v0.6.4...v0.6.5)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a99967e
Author: temyurchenko <[email protected]>
Date:   Fri Sep 13 11:35:02 2024 -0400

    Require build class parent (pylint-dev#2557)

    * enforce a non-None parent in build_class

    We also remove `add_local_node` to avoid redundancy. Instead we do the
       attachment to the parent scope in the constructor of `ClassDef`.

    We append a node to the body of the frame when it is also the
       parent. If it's not a parent, then the node should belong to the
       "body" of the parent if it existed. An example is a definition
       within an "if", where the parent is the If node, but the frame is
       the whole module.

    it's a part of the campaign to get rid of non-module roots

commit c7b8a2f
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:17:02 2024 -0400

    add setuptools dependency for python >= 3.12

commit 44907c2
Author: akamat10 <[email protected]>
Date:   Mon Sep 9 18:16:37 2024 -0400

    Remove setuptools dependency from ci

commit b4ac0e2
Author: Akhil Kamat <[email protected]>
Date:   Wed Sep 11 06:06:28 2024 -0400

    Remove newstyle variable given old-style class support should be removed (pylint-dev#2561)

commit 523eeb4
Author: temyurchenko <[email protected]>
Date:   Wed Sep 11 04:53:30 2024 -0400

    Fix unexpected `__doc__` values   (pylint-dev#2556)

    * fix unexpected '__doc__' values

    some '__doc__' fields of standard library
       symbols (e.g. WrapperDescriptorType.__doc__) don't return a string,
       they return a 'getset_descriptor'. Thus, an attempt to print "as
       string" fails. The solution is to check that __doc__ is an instance
       of str.

    Note that it wasn't uncovered by the tests due to classes not being
       attached to their parent in some cases. This is be done in one of
       the subsequent commits.

    it's a part of the campaign to get rid of non-module roots

    * put the "temporary_class" for the metaclass hack into adhoc module

    it's a part of the campaign to get rid of non-module roots

commit e442776
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:31:27 2024 -0700

    set PartialFunction's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit 8364693
Author: temyurchenko <[email protected]>
Date:   Tue Sep 10 15:32:07 2024 -0400

    Fix in place properties (pylint-dev#2553)

    * fix construction of in-place properties

    This is an example of an in-place property: `bar = property(getter)`.
       They just create a nameless object, not the one with the name of
       the getter. Thus, the name was changed to
       "<property>". Furthermore, the definition of that property is not
       attached to any scope, as it's again nameless.

    it's a part of the campaign to get rid of non-module roots

commit 20890b8
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:12:33 2024 -0700

    set namespace's parent to adhoc module instead of Unknown

    it's a part of the campaign to get rid of non-module roots

commit b6d52d3
Author: Artem Yurchenko <[email protected]>
Date:   Mon Sep 9 11:04:34 2024 -0700

    create an "adhoc" module for "artificial" nodes

    the module is specifically for nodes that are not based in the real
       syntactic tree, but created "ad-hoc", for example, new namedtuple
       classes that we create (see brain_namedtuple_enum).

    This is the base for future changes on replacing non-module
      roots (with the adhoc module or something more approriate).

commit 6ec2d40
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 10 06:15:01 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2559)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.3 β†’ v0.6.4](astral-sh/ruff-pre-commit@v0.6.3...v0.6.4)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 0011e7f
Author: Artem Yurchenko <[email protected]>
Date:   Tue Sep 3 16:12:12 2024 -0700

    add the parent node to "__main__"

    Not having a parent leads to weird situations, like `root()` returning
       the node itself, not a `Module`.

commit 7954bac
Author: correctmost <[email protected]>
Date:   Sat Sep 7 11:52:56 2024 -0400

    Fix most of the mypy errors in astroid/nodes/as_string.py

commit 8573b68
Author: correctmost <[email protected]>
Date:   Sun Sep 8 03:15:01 2024 -0400

    Fix useless-suppression Pylint warning (pylint-dev#2548)

    * Bump Pylint requirement to 3.2.7

commit cae2977
Author: correctmost <[email protected]>
Date:   Sun Sep 8 00:59:25 2024 -0400

    Add .tox to Pylint ignore list (pylint-dev#2549)

commit 887668b
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:37:50 2024 -0400

    Fix additional mypy errors and expand CI checks to more files (pylint-dev#2541)

    * Fix additional mypy errors and expand CI checks to more files

    * Use an assertion instead of a type ignore

    * Move an assert outside of a type-checking block

commit ba331c0
Author: correctmost <[email protected]>
Date:   Sat Sep 7 02:09:11 2024 -0400

    Use extend-exclude instead of exclude in ruff config (pylint-dev#2545)

    The ruff docs recommend using extend-exclude for custom paths.

commit 003a2df
Author: correctmost <[email protected]>
Date:   Sat Sep 7 00:47:03 2024 -0400

    Remove Python 3.8 from tox config (pylint-dev#2546)

commit dc5dafb
Author: correctmost <[email protected]>
Date:   Fri Sep 6 01:37:53 2024 -0400

    Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544)

commit 5982618
Author: correctmost <[email protected]>
Date:   Thu Sep 5 15:29:25 2024 -0400

    Move Pylint exclusions to pylintrc (pylint-dev#2542)

    This makes it easier to run Pylint outside of the pre-commit hooks.

commit 71f5c0c
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:55:41 2024 -0400

    Do not reassign submodule_path parameters in method bodies

    This makes it easier to use less generic annotations with mypy.

commit 1495979
Author: correctmost <[email protected]>
Date:   Wed Sep 4 10:34:55 2024 -0400

    Fix type annotations for tuple parameters

commit 6deb34f
Author: correctmost <[email protected]>
Date:   Wed Sep 4 02:04:09 2024 -0400

    Add ruff exclusions to pyproject.toml (pylint-dev#2537)

    This makes it easier to run 'ruff check' outside of the pre-commit
    hook.

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

commit 78f7f60
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Sep 3 08:52:20 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2535)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.2 β†’ v0.6.3](astral-sh/ruff-pre-commit@v0.6.2...v0.6.3)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit a30794c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 2 20:09:47 2024 +0200

    Bump actions/setup-python from 5.1.1 to 5.2.0 (pylint-dev#2534)

    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v5.1.1...v5.2.0)

    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 37b6c0d
Author: temyurchenko <[email protected]>
Date:   Fri Aug 30 17:30:56 2024 -0400

    fix the documentation and the error message of modpath_from_file (pylint-dev#2532)

    The doc should clarify that the search will always include sys.path.

    The error message should reflect the actual paths used for checking.

commit 5210e61
Author: correctmost <[email protected]>
Date:   Fri Aug 30 09:00:26 2024 -0400

    Enable mypy checking for astroid/interpreter/_import/ (pylint-dev#2530)

    This commit also removes unnecessary tuple -> list conversions in
    _find_spec.

commit a389ef7
Author: correctmost <[email protected]>
Date:   Tue Aug 27 17:19:26 2024 -0400

    Use a tuple for processed parameter to facilitate future caching (pylint-dev#2529)

commit 16990fc
Author: correctmost <[email protected]>
Date:   Tue Aug 27 16:25:48 2024 -0400

    Remove unnecessary isinstance calls from transform predicates (pylint-dev#2507)

commit 0cf9a2e
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 27 06:34:11 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2528)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.6.1 β†’ v0.6.2](astral-sh/ruff-pre-commit@v0.6.1...v0.6.2)
    - [github.com/pre-commit/mirrors-mypy: v1.11.1 β†’ v1.11.2](pre-commit/mirrors-mypy@v1.11.1...v1.11.2)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit d8dbc46
Author: correctmost <[email protected]>
Date:   Sun Aug 25 21:53:58 2024 -0400

    Use a tuple for module_parts parameter to facilitate future caching

commit f924ba2
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 20 06:15:34 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2512)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.7 β†’ v0.6.1](astral-sh/ruff-pre-commit@v0.5.7...v0.6.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit b312b56
Author: correctmost <[email protected]>
Date:   Sun Aug 18 04:49:15 2024 +0000

    Make Finder.find_module static to facilitate future caching (pylint-dev#2509)

commit 8515010
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Tue Aug 13 06:19:18 2024 +0200

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2510)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.6 β†’ v0.5.7](astral-sh/ruff-pre-commit@v0.5.6...v0.5.7)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit fa32673
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 12 22:35:41 2024 +0200

    Bump actions/upload-artifact from 4.3.5 to 4.3.6 (pylint-dev#2508)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.5...v4.3.6)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5e8fac7
Author: correctmost <[email protected]>
Date:   Sun Aug 11 17:41:02 2024 +0000

    Add cached version of os.path.isfile to avoid repetitive I/O (pylint-dev#2501)

commit 3a743a4
Merge: 5b838f2 4df8708
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 10:18:28 2024 -0400

    Merge pull request pylint-dev#2506 from pylint-dev/post-3.3.2

    Post 3.3.2

commit 4df8708
Merge: 86c7871 4ae4617
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 11 08:02:12 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.2

commit 5b838f2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Aug 11 13:50:27 2024 +0200

    Update sphinx requirement from ~=7.4 to ~=8.0 (pylint-dev#2494)

    * Update sphinx requirement from ~=7.4 to ~=8.0

    Updates the requirements on [sphinx](https://github.com/sphinx-doc/sphinx) to permit the latest version.
    - [Release notes](https://github.com/sphinx-doc/sphinx/releases)
    - [Changelog](https://github.com/sphinx-doc/sphinx/blob/v8.0.2/CHANGES.rst)
    - [Commits](sphinx-doc/sphinx@v7.4.0...v8.0.2)

    ---
    updated-dependencies:
    - dependency-name: sphinx
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Upgrade furo too

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Pierre Sassoulas <[email protected]>

commit 86c7871
Author: Jacob Walls <[email protected]>
Date:   Sat Aug 10 17:06:09 2024 -0400

    [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503)

commit 0156c04
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:57:49 2024 +0000

    Avoid overhead of cast() calls when not type checking (pylint-dev#2500)

commit 29b6cbd
Author: correctmost <[email protected]>
Date:   Wed Aug 7 11:48:42 2024 +0000

    Avoid extra isinstance calls in _visit_generic (pylint-dev#2502)

commit 15207a7
Merge: 04f4f3f 996ffea
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:52:55 2024 -0400

    Merge pull request pylint-dev#2499 from pylint-dev/post-3.3.1

commit 996ffea
Merge: 04f4f3f de58003
Author: Jacob Walls <[email protected]>
Date:   Tue Aug 6 09:05:54 2024 -0400

    Merge branch 'maintenance/3.3.x' into post-3.3.1

commit 04f4f3f
Author: Eric Vergnaud <[email protected]>
Date:   Tue Aug 6 13:59:28 2024 +0200

    Fix pylint regression with invalid format strings (pylint-dev#2496)

    Catch exceptions when calling string.format

commit 8d3cdbb
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 5 20:06:08 2024 -0400

    [pre-commit.ci] pre-commit autoupdate (pylint-dev#2495)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.5.5 β†’ v0.5.6](astral-sh/ruff-pre-commit@v0.5.5...v0.5.6)
    - [github.com/psf/black: 24.4.2 β†’ 24.8.0](psf/black@24.4.2...24.8.0)
    - [github.com/pre-commit/mirrors-mypy: v1.11.0 β†’ v1.11.1](pre-commit/mirrors-mypy@v1.11.0...v1.11.1)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 61dba89
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 5 23:27:45 2024 +0200

    Bump actions/upload-artifact from 4.3.4 to 4.3.5 (pylint-dev#2493)

    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](actions/upload-artifact@v4.3.4...v4.3.5)

    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b105186
Author: Jacob Walls <[email protected]>
Date:   Sun Aug 4 09:10:21 2024 -0400

    Bump astroid to 3.4.0-dev0, update changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Maintenance Discussion or action around maintaining astroid or the dev workflow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants