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

control setting nodes as local outside of the constructor #2588

Merged

Conversation

temyurchenko
Copy link
Contributor

  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".

  1. 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

No pylint regressions.

@temyurchenko
Copy link
Contributor Author

Unfortunately, this PR turned out to be a bit big. A big part of changes is renaming name to alias in InspectBuilder.object_build. I felt that name was quite confusing as to what relation it had to the object being built. In fact, it is just an alias for an object within its parent. The object itself might have a completely different, very own name.

Copy link

codecov bot commented Sep 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.20%. Comparing base (32cb29e) to head (87305dc).
Report is 2 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #2588   +/-   ##
=======================================
  Coverage   93.20%   93.20%           
=======================================
  Files          93       93           
  Lines       11065    11052   -13     
=======================================
- Hits        10313    10301   -12     
+ Misses        752      751    -1     
Flag Coverage Δ
linux 93.08% <100.00%> (+<0.01%) ⬆️
pypy 93.20% <100.00%> (+<0.01%) ⬆️
windows 93.18% <100.00%> (+<0.01%) ⬆️

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

Files with missing lines Coverage Δ
astroid/nodes/scoped_nodes/scoped_nodes.py 93.34% <ø> (+0.07%) ⬆️
astroid/raw_building.py 94.58% <100.00%> (-0.31%) ⬇️
astroid/rebuilder.py 98.21% <100.00%> (+<0.01%) ⬆️

@temyurchenko
Copy link
Contributor Author

Supersedes #2564, quoting my comment from there for clarity:

I've digged and I found an answer for why we have to prefer name for classes. The classes are cached in builder._done. So, when we build a class once with a localname, all the other builds reuse that class with the same localname. Which is incorrect.

There are ways to deal with that. I feel like the clearest one is to separate attachment to the locals of a parent from the constructor. Since any object can be attached to the parent by a variety of different names that have no relation to the object itself, it would be clearer to not make it the object's responsibility.

So, I am creating a different PR meant to supersede this one. In that PR, I split out adding symbols to the locals of a parent from the constructor to the outside. So, closing this one in favour of #2588.

DanielNoord
DanielNoord previously approved these changes Sep 30, 2024
Copy link
Collaborator

@DanielNoord DanielNoord left a comment

Choose a reason for hiding this comment

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

Changes make sense to me!

I have asked Jacob for review as he has looked into this pattern before and might know of edge cases that I don't know about.
Awesome work on the investigation!

@jacobtylerwalls
Copy link
Member

Thanks for this! Does this close #1490? If so, can you add a changelog?

No pylint regressions.

Thank you for checking the pylint test suite. I think these are the kinds of PRs that would also benefit from a pylint primer run. I've toyed with adding a github action to astroid to run the pylint primer action. I need to just finish it up and get it in. Would you mind waiting for me to do that? I promise I won't hold this up for weeks.

@temyurchenko
Copy link
Contributor Author

Thank you for checking the pylint test suite. I think these are the kinds of PRs that would also benefit from a pylint primer

I've ran the primer as well.

I need to just finish it up and get it in. Would you mind waiting for me to do that? I promise I won't hold this up for weeks.

There are a few other PRs dependent on this one (#2562, and, eventually #2536), but if it doesn't take too long, I'm happy to wait.

@jacobtylerwalls
Copy link
Member

Oh that's great news that you ran the primer. No need to wait then.

@temyurchenko
Copy link
Contributor Author

Oh that's great news that you ran the primer. No need to wait then.

Let me give it just one more try, to be safe

@temyurchenko
Copy link
Contributor Author

Oh that's great news that you ran the primer. No need to wait then.

Let me give it just one more try, to be safe

Yep, all good

@temyurchenko
Copy link
Contributor Author

temyurchenko commented Sep 30, 2024

Thanks for this! Does this close #1490? If so, can you add a changelog?

The wording of #1490 is confusing. It says that the problem is that the parent is added to the locals of the child, but the problem solved by this PR is that the child is added to the locals of the parent. Looking at #1489, indeed it is the latter that is the problem.

I initially intended for #2536 (comment) to close #1490, but this one can probably also be considered to be closing #1490.

What should changelog look like? Can I just add the following to the ./ChangeLog file?

* Control setting local nodes outside of the supposed local's constructor.

  Closes pylint-dev/astroid/issues/1490

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
@Pierre-Sassoulas
Copy link
Member

Yes, only this syntax is used for pylint issues, for issues from astroid it can be simplified to:

* Control setting local nodes outside of the supposed local's constructor.

  Closes #1490

@temyurchenko
Copy link
Contributor Author

Yes, only this syntax is used for pylint issues, for issues from astroid it can be simplified to:

* Control setting local nodes outside of the supposed local's constructor.

  Closes #1490

Thanks, I'll note this for the future.

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.

I'm drowning in astroid myself, so take this approve for what it's worth but I think this change is pretty good and going into the right direction design wise.

Copy link
Member

@jacobtylerwalls jacobtylerwalls left a comment

Choose a reason for hiding this comment

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

Wonderful, I can remove the workarounds that stemmed from #1490 in another PR, and many thanks for noticing that the wording was wrong 👍 .

@jacobtylerwalls jacobtylerwalls merged commit 36094ed into pylint-dev:main Sep 30, 2024
20 checks passed
@temyurchenko temyurchenko deleted the move-set_local-out-of-constructor branch October 1, 2024 05:05
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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants