sourcery-analytics
                                
                                
                                
                                    sourcery-analytics copied to clipboard
                            
                            
                            
                        fix(deps): update dependency astroid to v3
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | 
|---|---|---|---|---|---|
| astroid | 2.15.8 -> 3.3.5 | 
Release Notes
pylint-dev/astroid (astroid)
v3.3.5
============================ Release date: 2024-10-04
- 
Control setting local nodes outside of the supposed local's constructor.
Closes #1490
 - 
Fix Python 3.13 compatibility re:
collections.abcCloses pylint-dev/pylint#10000
 
v3.3.4
============================ Release date: 2024-09-23
- 
Fix regression with f-string inference.
Closes pylint-dev/pylint#9947
 - 
Fix bug with
manager.clear_cache()not fully clearing cache.Refs https://github.com/pylint-dev/pylint/pull/9932#issuecomment-2364985551
 - 
Fix a crash from inferring empty format specs.
Closes pylint-dev/pylint#9945
 
v3.3.3
============================ Release date: 2024-09-20
- 
Fix inference regression with property setters.
Closes pylint-dev/pylint#9811
 - 
Add annotation-only instance attributes to attrs classes to fix
no-memberfalse positives.Closes #2514
 
v3.3.2
============================ Release date: 2024-08-11
- 
Restore support for soft-deprecated members of the
typingmodule with python 3.13. 
v3.3.1
============================ Release date: 2024-08-06
- 
Fix a crash introduced in 3.3.0 involving invalid format strings.
Closes #2492
 
v3.3.0
============================ Release date: 2024-08-04
- 
Add support for Python 3.13.
 - 
Remove support for Python 3.8 (and constants
PY38,PY39_PLUS, andPYPY_7_3_11_PLUS).Refs #2443
 - 
Add the
__annotations__attribute to theClassDefobject model.Closes pylint-dev/pylint#7126
 - 
Implement inference for JoinedStr and FormattedValue
 - 
Add support for
ssl.OP_LEGACY_SERVER_CONNECT(new in Python 3.12).Closes pylint-dev/pylint#9849
 
v3.2.4
============================ Release date: 2024-07-20
- 
Avoid reporting unary/binary op type errors when inference is ambiguous.
Closes #2467
 
v3.2.3
============================ Release date: 2024-07-11
- Fix 
AssertionErrorwhen inferring a property consisting of a partial function. 
Closes pylint-dev/pylint#9214
v3.2.2
============================ Release date: 2024-05-20
- 
Improve inference for generic classes using the PEP 695 syntax (Python 3.12).
Closes pylint-dev/pylint#9406
 
v3.2.1
============================ Release date: 2024-05-16
- 
Fix
RecursionErrorininfer_call_result()for certain__call__methods.Closes pylint-dev/pylint#9139
 - 
Add
AstroidManager.prefer_stubsattribute to control the astroid 3.2.0 feature that prefers stubs.Refs pylint-dev/pylint#9626 Refs pylint-dev/pylint#9623
 
v3.2.0
============================ Release date: 2024-05-07
- 
.pyistub files are now preferred over.pyfiles when resolving imports, (except for numpy).Closes pylint-dev/#9185
 - 
igetattr()returns the last same-named function in a class (instead of the first). This avoids false positives in pylint with@overload.Closes #1015 Refs pylint-dev/pylint#4696
 - 
Adds
module_denylisttoAstroidManagerfor modules to be skipped during AST generation. Modules in this list will cause anAstroidImportErrorto be raised when an AST for them is requested. - 
Make
astroid.interpreter._import.util.is_namespaceonly consider modules using a loader set toNamespaceLoaderorNoneas namespaces. This fixes a problem thatsix.movesbrain was not effective ifsix.moveswas already imported.Closes #1107
 
v3.1.0
============================ Release date: 2024-02-23
- 
Include PEP 695 (Python 3.12) generic type syntax nodes in
get_children(), allowing checkers to visit them. - 
Add
__main__as a possible inferred value for__name__to improve control flow inference aroundif __name__ == "__main__":guards.Closes #2071
 - 
Following a deprecation period, the
namesarg to theImportconstructor and theoparg to theBoolOpconstructor are now required, and thedocargs to thePartialFunctionandPropertyconstructors have been removed (callpostinit(doc_node=...)instead.) - 
Following a deprecation announced in astroid 1.5.0, the alias
AstroidBuildingExceptionis removed in favor ofAstroidBuildingError. - 
Include modname in AST warnings. Useful for
invalid escape sequencewarnings with Python 3.12. - 
RecursionErroris now trapped and logged out asUserWarningduring astroid node transformations with instructions about raising the system recursion limit.Closes pylint-dev/pylint#8842
 - 
Suppress
SyntaxWarningfor invalid escape sequences on Python 3.12 when parsing modules.Closes pylint-dev/pylint#9322
 
v3.0.3
============================ Release date: 2024-02-04
- 
Fix type of
UnicodeDecodeError.objectinferred asstrinstead ofbytes.Closes pylint-dev/pylint#9342
 - 
Fix
no-memberfalse positives forargsandkwargsonParamSpecunder Python 3.12.Closes pylint-dev/pylint#9401
 
v3.0.2
============================ Release date: 2023-12-12
- 
Avoid duplicate inference results for some uses of
typing.Xconstructs likeTuple[Optional[int], ...]. This was causing pylint to occasionally omit messages likedeprecated-typing-alias.Closes pylint-dev/pylint#9220
 
v3.0.1
============================ Release date: 2023-10-15
- 
Fix crashes linting code using PEP 695 (Python 3.12) generic type syntax.
Closes pylint-dev/pylint#9098
 
v3.0.0
============================= Release date: 2023-09-26
- 
Add support for Python 3.12, including PEP 695 type parameter syntax.
Closes #2201
 - 
Remove support for Python 3.7.
Refs #2137
 - 
Use the global inference cache when inferring, even without an explicit
InferenceContext. This is a significant performance improvement given how often methods default toNonefor the context argument. (Lintingastroiditself now takes ~5% less time on Python 3.12; other projects requiring more complex inference calculations will see greater speedups.)Refs #529
 - 
Following a deprecation period starting in astroid 2.7.0, the
astroid.node_classesandastroid.scoped_nodesmodules have been removed in favor ofastroid.nodes.node_classesandastroid.nodes.scoped_nodes.Closes #1072
 - 
Following a deprecation period starting in astroid 2.12.0, the
astroid.mixinsmodule has been removed in favor ofastroid.nodes._base_nodes(private).Refs #1633
 - 
Return all existing arguments when calling
Arguments.arguments(). This also meansfind_argnamewill now use the whole list of arguments for its search.Closes #2213
 - 
Exclude class attributes from the
__members__container of anEnumclass when they arenodes.AnnAssignnodes with no assigned value. - 
Remove
@cachedand@cachedpropertydecorator (just use@cached_propertyfrom the stdlib). - 
Remove the
inferencemodule. Node inference methods are now in the module defining the node, rather than being associated to the node afterward.Closes #679
 - 
Move
LookupMixIntoastroid.nodes._base_nodesand make it private. - 
Remove the shims for
OperationError,BinaryOperationError, andUnaryOperationErrorinexceptions. They were moved toutilin astroid 1.5.0. - 
Move
safe_infer()fromhelperstoutil. This avoids some circular imports. - 
Reduce file system access in
ast_from_file(). - 
Reduce time to
import astroidby delayingastroid_bootstrapping()until the first instantiation ofAstroidBuilder.Closes #2161
 - 
Make
igetattr()idempotent. This addresses some reports of varying results when running pylint with--jobs.Closes pylint-dev/pylint#4356 Refs #7
 - 
Fix incorrect cache keys for inference results, thereby correctly inferring types for calls instantiating types dynamically.
Closes #1828 Closes pylint-dev/pylint#7464 Closes pylint-dev/pylint#8074
 - 
Fix interrupted
InferenceContextcall chains, thereby addressing performance problems when lintingsqlalchemy.Closes pylint-dev/pylint#8150
 - 
nodes.FunctionDefno longer inherits fromnodes.Lambda. This is a breaking change but considered a bug fix as the nodes did not share the same API and were not interchangeable.We have tried to minimize the amount of breaking changes caused by this change but some are unavoidable.
 - 
infer_call_resultnow shares the same interface across all implementations. Namely:def infer_call_result( self, caller: SuccessfulInferenceResult | None, context: InferenceContext | None = None, ) -> Iterator[InferenceResult]:This is a breaking change for
nodes.FunctionDefwhere previouslycallerhad a default ofNone. PassingNoneagain will not create a behaviour change. The breaking change allows us to better type and re-use the method withinastroid. - 
Improved signature of the
__init__and__postinit__methods of most nodes. This includes makinglineno,col_offset,end_lineno,end_col_offsetandparentrequired arguments fornodes.NodeNGand its subclasses. For most other nodes, arguments of their__postinit__methods have been made required to better represent how they would normally be constructed by the standard libraryastmodule. The following nodes were changed or updated:nodes.AnnAssignnodes.Argumentsnodes.Assignnodes.AssignAttrnodes.AssignNamenodes.Attributenodes.AugAssignnodes.Awaitnodes.BaseContainernodes.BinOpnodes.Callnodes.ClassDefnodes.Comparenodes.Comprehensionnodes.Decoratorsnodes.Deletenodes.DelAttrnodes.DelNamenodes.Dictnodes.DictCompnodes.ExceptHandlernodes.Exprnodes.Fornodes.FunctionDefnodes.GeneratorExpnodes.Ifnodes.IfExpnodes.Keywordnodes.Lambdanodes.ListCompnodes.Modulenodes.Namenodes.NodeNGnodes.Raisenodes.Returnnodes.SetCompnodes.Slicenodes.Starredobjects.Super, we also added thecallparameter to its__init__method.nodes.Subscriptnodes.UnaryOpnodes.Whilenodes.Yield
These changes involve breaking changes to their API but should be considered bug fixes. We now make arguments required when they are instead of always providing defaults.
 - 
nodes.If.self.is_orelsehas been removed as it was never set correctly and therefore provided a false value. - 
Remove dependency on
wrapt. - 
Remove dependency on
lazy_object_proxy. This includes the removal of the associatedlazy_import,lazy_descriptorandproxy_aliasutility functions. - 
CallSite._unpack_argsandCallSite._unpack_keywordsnow usesafe_infer()for better inference and fewer false positives.Closes pylint-dev/pylint#8544
 - 
Add
attr.Factoryto the recognized class attributes for classes decorated withattrs.Closes pylint-dev/pylint#4341
 - 
infer_property()now observes the same property-specific workaround asinfer_functiondef.Refs #1490
 - 
Remove unused and / or deprecated constants:
astroid.bases.BOOL_SPECIAL_METHODastroid.bases.BUILTINSastroid.const.BUILTINSastroid.const.PY38_PLUSastroid.const.Loadastroid.const.Storeastroid.const.Del
Refs #2141
 - 
frame()raisesParentMissingErrorandstatement()raisesStatementMissingfor missing parents regardless of the value of thefutureargument (which gave this behavior already).The
futureargument to each method is deprecated and will be removed in astroid 4.0.Refs #1217
 - 
Remove deprecated
Ellipsis,ExtSlice,Indexnodes.Refs #2152
 - 
Remove deprecated
is_sys_guardandis_typing_guardmethods.Refs #2153
 - 
Remove deprecated
docattribute forModule,ClassDef, andFunctionDef. Use thedoc_nodeattribute instead.Refs #2154
 - 
Add new
nodes.Tryto better match Python AST. Replaces theTryExceptandTryFinallynodes which have been removed. - 
Publicize
NodeNG.repr_name()to facilitate finding a node's nice name. - 
Fix false positives for
no-memberandinvalid-namewhen using the_name_,_value_and_ignore_sunders in Enums.Closes pylint-dev/pylint#9015
 
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
 
This PR was generated by Mend Renovate. View the repository job log.
⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
 - the branch becomes conflicted, or
 - you click the rebase/retry checkbox if found above, or
 - you rename this PR's title to start with "rebase!" to trigger it manually
 
The artifact failure details are included below:
File name: poetry.lock
Updating dependencies
Resolving dependencies...
Creating virtualenv sourcery-analytics-v0RmcMNv-py3.12 in /home/ubuntu/.cache/pypoetry/virtualenvs
Because no versions of pylint match >2.14.3,<2.14.4 || >2.14.4,<2.14.5 || >2.14.5,<2.15.0 || >2.15.0,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0
 and pylint (2.14.3) depends on astroid (>=2.11.6,<=2.12.0-dev0), pylint (>=2.14.3,<2.14.4 || >2.14.4,<2.14.5 || >2.14.5,<2.15.0 || >2.15.0,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0).
And because pylint (2.14.4) depends on astroid (>=2.11.6,<=2.12.0-dev0), pylint (>=2.14.3,<2.14.5 || >2.14.5,<2.15.0 || >2.15.0,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0).
And because pylint (2.14.5) depends on astroid (>=2.11.6,<=2.12.0-dev0)
 and pylint (2.15.0) depends on astroid (>=2.12.4,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.2) depends on astroid (>=2.12.9,<=2.14.0-dev0)
 and pylint (2.15.3) depends on astroid (>=2.12.10,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.4) depends on astroid (>=2.12.11,<=2.14.0-dev0)
 and pylint (2.15.5) depends on astroid (>=2.12.12,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.6) depends on astroid (>=2.12.12,<=2.14.0-dev0)
 and pylint (2.15.7) depends on astroid (>=2.12.13,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.8) depends on astroid (>=2.12.13,<=2.14.0-dev0)
 and pylint (2.15.9) depends on astroid (>=2.12.13,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.10) depends on astroid (>=2.12.13,<=2.14.0-dev0)
 and pylint (2.16.0) depends on astroid (>=2.14.1,<=2.16.0-dev0), pylint (>=2.14.3,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.16.0-dev0).
And because pylint (2.16.1) depends on astroid (>=2.14.1,<=2.16.0-dev0)
 and pylint (2.16.2) depends on astroid (>=2.14.2,<=2.16.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.16.0-dev0).
And because pylint (2.16.4) depends on astroid (>=2.14.2,<=2.16.0-dev0)
 and pylint (2.17.0) depends on astroid (>=2.15.0,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.1) depends on astroid (>=2.15.0,<=2.17.0-dev0)
 and pylint (2.17.2) depends on astroid (>=2.15.2,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.3) depends on astroid (>=2.15.4,<=2.17.0-dev0)
 and pylint (2.17.4) depends on astroid (>=2.15.4,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.5) depends on astroid (>=2.15.6,<=2.17.0-dev0)
 and pylint (2.17.6) depends on astroid (>=2.15.7,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.7) depends on astroid (>=2.15.8,<=2.17.0-dev0)
 and pylint (2.16.3) depends on astroid (>=2.14.2,<=2.16.0-dev0), pylint (>=2.14.3,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
So, because sourcery-analytics depends on both astroid (3.2.0) and pylint (^2.14.3), version solving failed.
                                    
                                    
                                    
                                
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
 - the branch becomes conflicted, or
 - you click the rebase/retry checkbox if found above, or
 - you rename this PR's title to start with "rebase!" to trigger it manually
 
The artifact failure details are included below:
File name: poetry.lock
Updating dependencies
Resolving dependencies...
Creating virtualenv sourcery-analytics-v0RmcMNv-py3.12 in /home/ubuntu/.cache/pypoetry/virtualenvs
Because no versions of pylint match >2.14.3,<2.14.4 || >2.14.4,<2.14.5 || >2.14.5,<2.15.0 || >2.15.0,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0
 and pylint (2.14.3) depends on astroid (>=2.11.6,<=2.12.0-dev0), pylint (>=2.14.3,<2.14.4 || >2.14.4,<2.14.5 || >2.14.5,<2.15.0 || >2.15.0,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0).
And because pylint (2.14.4) depends on astroid (>=2.11.6,<=2.12.0-dev0), pylint (>=2.14.3,<2.14.5 || >2.14.5,<2.15.0 || >2.15.0,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0).
And because pylint (2.14.5) depends on astroid (>=2.11.6,<=2.12.0-dev0)
 and pylint (2.15.0) depends on astroid (>=2.12.4,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.2 || >2.15.2,<2.15.3 || >2.15.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.2) depends on astroid (>=2.12.9,<=2.14.0-dev0)
 and pylint (2.15.3) depends on astroid (>=2.12.10,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.4 || >2.15.4,<2.15.5 || >2.15.5,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.4) depends on astroid (>=2.12.11,<=2.14.0-dev0)
 and pylint (2.15.5) depends on astroid (>=2.12.12,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.6 || >2.15.6,<2.15.7 || >2.15.7,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.6) depends on astroid (>=2.12.12,<=2.14.0-dev0)
 and pylint (2.15.7) depends on astroid (>=2.12.13,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.8 || >2.15.8,<2.15.9 || >2.15.9,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.8) depends on astroid (>=2.12.13,<=2.14.0-dev0)
 and pylint (2.15.9) depends on astroid (>=2.12.13,<=2.14.0-dev0), pylint (>=2.14.3,<2.15.10 || >2.15.10,<2.16.0 || >2.16.0,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0).
And because pylint (2.15.10) depends on astroid (>=2.12.13,<=2.14.0-dev0)
 and pylint (2.16.0) depends on astroid (>=2.14.1,<=2.16.0-dev0), pylint (>=2.14.3,<2.16.1 || >2.16.1,<2.16.2 || >2.16.2,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.16.0-dev0).
And because pylint (2.16.1) depends on astroid (>=2.14.1,<=2.16.0-dev0)
 and pylint (2.16.2) depends on astroid (>=2.14.2,<=2.16.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.16.4 || >2.16.4,<2.17.0 || >2.17.0,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.16.0-dev0).
And because pylint (2.16.4) depends on astroid (>=2.14.2,<=2.16.0-dev0)
 and pylint (2.17.0) depends on astroid (>=2.15.0,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.1 || >2.17.1,<2.17.2 || >2.17.2,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.1) depends on astroid (>=2.15.0,<=2.17.0-dev0)
 and pylint (2.17.2) depends on astroid (>=2.15.2,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.3 || >2.17.3,<2.17.4 || >2.17.4,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.3) depends on astroid (>=2.15.4,<=2.17.0-dev0)
 and pylint (2.17.4) depends on astroid (>=2.15.4,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.5 || >2.17.5,<2.17.6 || >2.17.6,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.5) depends on astroid (>=2.15.6,<=2.17.0-dev0)
 and pylint (2.17.6) depends on astroid (>=2.15.7,<=2.17.0-dev0), pylint (>=2.14.3,<2.16.3 || >2.16.3,<2.17.7 || >2.17.7,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
And because pylint (2.17.7) depends on astroid (>=2.15.8,<=2.17.0-dev0)
 and pylint (2.16.3) depends on astroid (>=2.14.2,<=2.16.0-dev0), pylint (>=2.14.3,<3.0.0) requires astroid (>=2.11.6,<=2.12.0-dev0 || >=2.12.4,<=2.14.0-dev0 || >=2.14.1,<=2.17.0-dev0).
So, because sourcery-analytics depends on both astroid (3.3.4) and pylint (^2.14.3), version solving failed.