-
-
Notifications
You must be signed in to change notification settings - Fork 276
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
control setting nodes as local outside of the constructor #2588
Conversation
Unfortunately, this PR turned out to be a bit big. A big part of changes is renaming |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2588 +/- ##
=======================================
Coverage 93.20% 93.20%
=======================================
Files 93 93
Lines 11065 11052 -13
=======================================
- Hits 10313 10301 -12
+ Misses 752 751 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
d7590bd
to
17360c4
Compare
Supersedes #2564, quoting my comment from there for clarity:
|
There was a problem hiding this 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!
Thanks for this! Does this close #1490? If so, can you add a changelog?
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. |
I've ran the primer as well.
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. |
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 |
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
|
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
17360c4
to
579f7a9
Compare
Yes, only this syntax is used for pylint issues, for issues from astroid it can be simplified to:
|
Thanks, I'll note this for the future. |
There was a problem hiding this 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.
There was a problem hiding this 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 👍 .
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 <nicholasdrozd@gmail.com> Date: Mon Sep 30 15:14:25 2024 -0400 Enable design complexity checks (pylint-dev#2591) commit 36094ed Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d394fb9 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Mon Sep 30 08:52:35 2024 -0400 Bump astroid to 4.0.0-dev0, update changelog commit c7ea1e9 Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 14:47:47 2024 -0400 Consolidate numpy member transforms to reduce function calls commit f19fc0a Author: Artem Yurchenko <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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 <jacobtylerwalls@gmail.com> Date: Sun Sep 22 09:14:31 2024 -0400 Address pylint 3.3 messages (pylint-dev#2575) commit a679550 Author: Nick Drozd <nicholasdrozd@gmail.com> Date: Sun Sep 22 09:00:09 2024 -0400 Check for empty format specs (pylint-dev#2574) commit 58286a1 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:17:02 2024 -0400 add setuptools dependency for python >= 3.12 commit 44907c2 Author: akamat10 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:16:37 2024 -0400 Remove setuptools dependency from ci commit b4ac0e2 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sun Sep 8 00:59:25 2024 -0400 Add .tox to Pylint ignore list (pylint-dev#2549) commit 887668b Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 00:47:03 2024 -0400 Remove Python 3.8 from tox config (pylint-dev#2546) commit dc5dafb Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Fri Sep 6 01:37:53 2024 -0400 Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544) commit 5982618 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Wed Sep 4 10:34:55 2024 -0400 Fix type annotations for tuple parameters commit 6deb34f Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <pierre.sassoulas@gmail.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 37b6c0d Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5e8fac7 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> * Upgrade furo too --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com> commit 86c7871 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sat Aug 10 17:06:09 2024 -0400 [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503) commit 0156c04 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b105186 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sun Aug 4 09:10:21 2024 -0400 Bump astroid to 3.4.0-dev0, update changelog
commit 0954cd4 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Tue Oct 8 12:11:04 2024 -0400 Bump CI jobs to python 3.13 (pylint-dev#2607) commit f201120 Author: Akhil Kamat <akhil.kamat@gmail.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 275f508 Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> Date: Fri Oct 4 04:18:22 2024 -0400 Fix python 3.13 compatibility re: collections.abc (pylint-dev#2598) commit 6dba72c Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <nicholasdrozd@gmail.com> Date: Mon Sep 30 15:14:25 2024 -0400 Enable design complexity checks (pylint-dev#2591) commit 36094ed Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d394fb9 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Mon Sep 30 08:52:35 2024 -0400 Bump astroid to 4.0.0-dev0, update changelog commit c7ea1e9 Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 14:47:47 2024 -0400 Consolidate numpy member transforms to reduce function calls commit f19fc0a Author: Artem Yurchenko <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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 <jacobtylerwalls@gmail.com> Date: Sun Sep 22 09:14:31 2024 -0400 Address pylint 3.3 messages (pylint-dev#2575) commit a679550 Author: Nick Drozd <nicholasdrozd@gmail.com> Date: Sun Sep 22 09:00:09 2024 -0400 Check for empty format specs (pylint-dev#2574) commit 58286a1 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:17:02 2024 -0400 add setuptools dependency for python >= 3.12 commit 44907c2 Author: akamat10 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:16:37 2024 -0400 Remove setuptools dependency from ci commit b4ac0e2 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sun Sep 8 00:59:25 2024 -0400 Add .tox to Pylint ignore list (pylint-dev#2549) commit 887668b Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 00:47:03 2024 -0400 Remove Python 3.8 from tox config (pylint-dev#2546) commit dc5dafb Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Fri Sep 6 01:37:53 2024 -0400 Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544) commit 5982618 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Wed Sep 4 10:34:55 2024 -0400 Fix type annotations for tuple parameters commit 6deb34f Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <pierre.sassoulas@gmail.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 37b6c0d Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5e8fac7 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> * Upgrade furo too --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com> commit 86c7871 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sat Aug 10 17:06:09 2024 -0400 [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503) commit 0156c04 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b105186 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sun Aug 4 09:10:21 2024 -0400 Bump astroid to 3.4.0-dev0, update changelog
commit 6dba72c Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <nicholasdrozd@gmail.com> Date: Mon Sep 30 15:14:25 2024 -0400 Enable design complexity checks (pylint-dev#2591) commit 36094ed Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d394fb9 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Mon Sep 30 08:52:35 2024 -0400 Bump astroid to 4.0.0-dev0, update changelog commit c7ea1e9 Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 14:47:47 2024 -0400 Consolidate numpy member transforms to reduce function calls commit f19fc0a Author: Artem Yurchenko <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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 <jacobtylerwalls@gmail.com> Date: Sun Sep 22 09:14:31 2024 -0400 Address pylint 3.3 messages (pylint-dev#2575) commit a679550 Author: Nick Drozd <nicholasdrozd@gmail.com> Date: Sun Sep 22 09:00:09 2024 -0400 Check for empty format specs (pylint-dev#2574) commit 58286a1 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:17:02 2024 -0400 add setuptools dependency for python >= 3.12 commit 44907c2 Author: akamat10 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:16:37 2024 -0400 Remove setuptools dependency from ci commit b4ac0e2 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sun Sep 8 00:59:25 2024 -0400 Add .tox to Pylint ignore list (pylint-dev#2549) commit 887668b Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 00:47:03 2024 -0400 Remove Python 3.8 from tox config (pylint-dev#2546) commit dc5dafb Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Fri Sep 6 01:37:53 2024 -0400 Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544) commit 5982618 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Wed Sep 4 10:34:55 2024 -0400 Fix type annotations for tuple parameters commit 6deb34f Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <pierre.sassoulas@gmail.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 37b6c0d Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5e8fac7 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> * Upgrade furo too --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com> commit 86c7871 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sat Aug 10 17:06:09 2024 -0400 [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503) commit 0156c04 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b105186 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sun Aug 4 09:10:21 2024 -0400 Bump astroid to 3.4.0-dev0, update changelog
commit 275f508 Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> Date: Fri Oct 4 04:18:22 2024 -0400 Fix python 3.13 compatibility re: collections.abc (pylint-dev#2598) commit 6dba72c Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <nicholasdrozd@gmail.com> Date: Mon Sep 30 15:14:25 2024 -0400 Enable design complexity checks (pylint-dev#2591) commit 36094ed Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d394fb9 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Mon Sep 30 08:52:35 2024 -0400 Bump astroid to 4.0.0-dev0, update changelog commit c7ea1e9 Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 14:47:47 2024 -0400 Consolidate numpy member transforms to reduce function calls commit f19fc0a Author: Artem Yurchenko <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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 <jacobtylerwalls@gmail.com> Date: Sun Sep 22 09:14:31 2024 -0400 Address pylint 3.3 messages (pylint-dev#2575) commit a679550 Author: Nick Drozd <nicholasdrozd@gmail.com> Date: Sun Sep 22 09:00:09 2024 -0400 Check for empty format specs (pylint-dev#2574) commit 58286a1 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:17:02 2024 -0400 add setuptools dependency for python >= 3.12 commit 44907c2 Author: akamat10 <akhil.kamat@gmail.com> Date: Mon Sep 9 18:16:37 2024 -0400 Remove setuptools dependency from ci commit b4ac0e2 Author: Akhil Kamat <akhil.kamat@gmail.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <44875844+temyurchenko@users.noreply.github.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <artemyurchenko@zoho.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sun Sep 8 00:59:25 2024 -0400 Add .tox to Pylint ignore list (pylint-dev#2549) commit 887668b Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Sat Sep 7 00:47:03 2024 -0400 Remove Python 3.8 from tox config (pylint-dev#2546) commit dc5dafb Author: correctmost <134317971+correctmost@users.noreply.github.com> Date: Fri Sep 6 01:37:53 2024 -0400 Avoid extra isinstance calls in _builtin_filter_predicate (pylint-dev#2544) commit 5982618 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> Date: Wed Sep 4 10:34:55 2024 -0400 Fix type annotations for tuple parameters commit 6deb34f Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <pierre.sassoulas@gmail.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 37b6c0d Author: temyurchenko <44875844+temyurchenko@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5e8fac7 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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] <support@github.com> * Upgrade furo too --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com> commit 86c7871 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sat Aug 10 17:06:09 2024 -0400 [PY313] Add stubs for soft-deprecated typing members (pylint-dev#2503) commit 0156c04 Author: correctmost <134317971+correctmost@users.noreply.github.com> 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 <134317971+correctmost@users.noreply.github.com> 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 <jacobtylerwalls@gmail.com> 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 <jacobtylerwalls@gmail.com> 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 <eric.vergnaud@wanadoo.fr> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b105186 Author: Jacob Walls <jacobtylerwalls@gmail.com> Date: Sun Aug 4 09:10:21 2024 -0400 Bump astroid to 3.4.0-dev0, update changelog
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".
it's a part of the campaign to get rid of non-module roots
No pylint regressions.