1431 lines
66 KiB
Plaintext
1431 lines
66 KiB
Plaintext
-------------------------------------------------------------------
|
|
Sun Jul 16 11:40:36 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.15.6:
|
|
* Harden ``get_module_part()`` against ``"."``.
|
|
* Avoid expensive list/tuple multiplication operations that
|
|
would result in ``MemoryError``.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon May 15 16:15:33 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.15.5:
|
|
* Handle ``objects.Super`` in ``helpers.object_type()``.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Apr 28 07:12:30 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
|
|
|
- Correct Requires for typing_extensions.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Apr 25 22:00:42 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.15.4:
|
|
* Add visitor function for ``TryStar`` to ``AsStringVisitor``
|
|
and add ``TryStar`` to ``astroid.nodes.ALL_NODE_CLASSES``.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Apr 21 12:22:11 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- add sle15_python_module_pythons (jsc#PED-68)
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Apr 17 19:07:36 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.15.3:
|
|
* Fix ``infer_call_result()`` crash on methods called
|
|
``with_metaclass()``
|
|
* Suppress ``UserWarning`` when finding module specs.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Apr 16 09:20:21 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.15.2:
|
|
* Support more possible usages of ``attrs`` decorators.
|
|
* Restore behavior of setting a Call as a base for classes
|
|
created using ``six.with_metaclass()``,
|
|
and harden support for using enums as metaclasses in this
|
|
case.
|
|
* astroid now supports ``TryStar`` nodes from python 3.11 and
|
|
should be fully compatible with python 3.11.
|
|
* ``Formattedvalue.postinit`` is now keyword only. This is to
|
|
allow correct typing of the ``Formattedvalue`` class.
|
|
* ``Astroid`` now supports custom import hooks.
|
|
* ``astroid`` now infers return values from match cases.
|
|
* ``AstroidManager.clear_cache`` now also clears the inference
|
|
context cache.
|
|
* ``Astroid`` now retrieves the default values of keyword only
|
|
arguments and sets them on ``Arguments.kw_defaults``.
|
|
* ``Uninferable`` now has the type ``UninferableBase``. This is
|
|
to facilitate correctly type annotating code that uses this
|
|
singleton.
|
|
* Deprecate ``modutils.is_standard_module()``. It will be
|
|
removed in the next minor release.
|
|
* Fix ``are_exclusive`` function when a walrus operator is used
|
|
inside ``IfExp.test`` field.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 13 22:40:04 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Make calling of %{sle15modernpython} optional.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jan 7 08:50:36 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to v2.12.14:
|
|
* Handle the effect of properties on the __init__ of a dataclass
|
|
correctly.
|
|
* Handle the effect of kw_only=True in dataclass fields correctly.
|
|
* Handle the effect of init=False in dataclass fields correctly.
|
|
* Fix crash if numpy module doesn't have version attribute.
|
|
* Handle AttributeError during str.format template inference tip
|
|
evaluation
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Dec 3 03:46:28 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
|
|
|
- Update to 2.12.13:
|
|
* Prevent returning an empty list for ``ClassDef.slots()`` when the mro list contains one class & it is not ``object``.
|
|
Refs PyCQA/pylint#5099
|
|
|
|
* Prevent a crash when inferring calls to ``str.format`` with inferred arguments
|
|
that would be invalid.
|
|
Closes #1856
|
|
|
|
* Infer the `length` argument of the ``random.sample`` function.
|
|
Refs PyCQA/pylint#7706
|
|
|
|
* Catch ``ValueError`` when indexing some builtin containers and sequences during inference.
|
|
Closes #1843
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Oct 27 21:41:48 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
|
|
|
- Update to 2.12.12:
|
|
* Add the ``length`` parameter to ``hash.digest`` & ``hash.hexdigest`` in the ``hashlib`` brain.
|
|
Refs PyCQA/pylint#4039
|
|
* Prevent a crash when a module's ``__path__`` attribute is unexpectedly missing.
|
|
Refs PyCQA/pylint#7592
|
|
* Fix inferring attributes with empty annotation assignments if parent
|
|
class contains valid assignment.
|
|
Refs PyCQA/pylint#7631
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Oct 13 19:31:55 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.12.11:
|
|
* Improve detection of namespace packages for the modules with ``__spec__``
|
|
set to None.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 23 20:40:39 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to v2.12.10
|
|
* Fixed a crash when introspecting modules compiled by cffi.
|
|
* decorators.cached now gets its cache cleared by calling
|
|
AstroidManager.clear_cache.
|
|
- Release v2.12.9
|
|
* Fixed creation of the __init__ of dataclassess with multiple
|
|
inheritance.
|
|
* Fixed a crash on namedtuples that use typename to specify
|
|
their name.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Sep 22 22:50:11 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
|
|
|
- Update to Version 2.12.8
|
|
* Fixed a crash in the ``dataclass`` brain for ``InitVars`` without subscript typing.
|
|
Closes PyCQA/pylint#7422
|
|
* Fixed parsing of default values in ``dataclass`` attributes.
|
|
Closes PyCQA/pylint#7425
|
|
|
|
- Update to Version 2.12.7
|
|
* Fixed a crash in the ``dataclass`` brain for uninferable bases.
|
|
Closes PyCQA/pylint#7418
|
|
|
|
- Update to Version 2.12.6
|
|
* Fix a crash involving ``Uninferable`` arguments to ``namedtuple()``.
|
|
Closes PyCQA/pylint#7375
|
|
* The ``dataclass`` brain now understands the ``kw_only`` keyword in dataclass decorators.
|
|
Closes PyCQA/pylint#7290
|
|
|
|
- Update to Version 2.12.5
|
|
* Prevent first-party imports from being resolved to `site-packages`.
|
|
Refs PyCQA/pylint#7365
|
|
* Fix ``astroid.interpreter._import.util.is_namespace()`` incorrectly
|
|
returning ``True`` for frozen stdlib modules on PyPy.
|
|
Closes #1755
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 27 10:10:36 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to 2.12.4
|
|
* Fixed a crash involving non-standard type comments such as
|
|
`# type: # any comment`.
|
|
- Big changelog since 2.9.3, see file Changelog
|
|
* mostly crash fixes
|
|
* Python >= 3.7 is required
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jan 15 16:43:55 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.9.3:
|
|
* Fixed regression where packages without a ``__init__.py`` file were
|
|
not recognized or imported correctly.
|
|
* Fixed regression in ``astroid.scoped_nodes`` where ``_is_metaclass``
|
|
was not accessible anymore.
|
|
* ``NodeNG.frame()`` and ``NodeNG.statement()`` will start raising ``ParentMissingError``
|
|
instead of ``AttributeError`` in astroid 3.0. This behaviour can already be triggered
|
|
by passing ``future=True`` to a ``frame()`` or ``statement()`` call.
|
|
* Prefer the module loader get_source() method in AstroidBuilder's
|
|
module_build() when possible to avoid assumptions about source
|
|
code being available on a filesystem. Otherwise the source cannot
|
|
be found and application behavior changes when running within an
|
|
embedded hermetic interpreter environment (pyoxidizer, etc.).
|
|
* Require Python 3.6.2 to use astroid.
|
|
* Removed custom ``distutils`` handling for resolving paths to submodules.
|
|
* Fix ``deque.insert()`` signature in ``collections`` brain.
|
|
* Fix ``Module`` nodes not having a ``col_offset``, ``end_lineno``, and ``end_col_offset``
|
|
attributes.
|
|
* Fix typing and update explanation for ``Arguments.args`` being ``None``.
|
|
* Fix crash if a variable named ``type`` is subscripted in a generator expression.
|
|
* Enable inference of dataclass import from marshmallow_dataclass.
|
|
This allows the dataclasses brain to recognize dataclasses annotated by marshmallow_dataclass.
|
|
* Resolve symlinks in the import path
|
|
Fixes inference error when the import path includes symlinks (e.g. Python
|
|
installed on macOS via Homebrew).
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 9 12:30:06 UTC 2021 - pgajdos@suse.com
|
|
|
|
- version update to 2.9.0
|
|
* Add ``end_lineno`` and ``end_col_offset`` attributes to astroid nodes.
|
|
* Always treat ``__class_getitem__`` as a classmethod.
|
|
* Add missing ``as_string`` visitor method for ``Unknown`` node.
|
|
* Fix crash on inference of subclasses created from ``Class().__subclasses__``
|
|
* Fix bug with Python 3.7.0 / 3.7.1 and ``typing.NoReturn``.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Nov 13 20:22:06 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 2.8.5:
|
|
* Use more permissive versions for the ``typed-ast`` dependencie
|
|
(<2.0 instead of <1.5)
|
|
* Fix crash on inference of ``__len__``.
|
|
* Added missing ``kind`` (for ``Const``) and ``conversion``
|
|
(for ``FormattedValue``) fields to repr.
|
|
* Fix crash with assignment expressions, nested if expressions
|
|
and filtering of statements
|
|
* Fix incorrect filtering of assignment expressions statements
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Oct 27 13:31:47 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to 2.8.4
|
|
* Fix the ``scope()`` and ``frame()`` methods of ``NamedExpr``
|
|
nodes. When these nodes occur in ``Arguments``, ``Keyword`` or
|
|
``Comprehension`` nodes these methods now correctly point to
|
|
the outer-scope of the ``FunctionDef``, ``ClassDef``, or
|
|
``Comprehension``.
|
|
* Fix the ``set_local`` function for ``NamedExpr`` nodes. When
|
|
these nodes occur in ``Arguments``, ``Keyword``, or
|
|
``Comprehension`` nodes these nodes are now correctly added to
|
|
the locals of the ``FunctionDef``, ``ClassDef``, or
|
|
``Comprehension``.
|
|
- Release 2.8.3?
|
|
* Add support for wrapt 1.13
|
|
* Fixes handling of nested partial functions
|
|
* Fix regression with the import resolver
|
|
* Fix crash with invalid dataclass field call
|
|
- Release 2.8.1
|
|
* Adds support of type hints inside numpy's brains.
|
|
* Enable inference of dataclass import from pydantic.dataclasses.
|
|
This allows the dataclasses brain to recognize pydantic
|
|
dataclasses.
|
|
* Fix regression on ClassDef inference
|
|
* Fix regression on Compare node inference
|
|
* Extended attrs brain to support the provisional APIs
|
|
* Astroid does not trigger it's own deprecation warning anymore.
|
|
* Improve brain for ``typing.Callable`` and ``typing.Type``.
|
|
* Fix bug with importing namespace packages with relative imports
|
|
* The ``is_typing_guard`` and ``is_sys_guard`` functions are
|
|
deprecated and will be removed in 3.0.0. They are complex
|
|
meta-inference functions that are better suited for pylint.
|
|
Import them from ``pylint.checkers.utils`` instead (requires
|
|
pylint ``2.12``).
|
|
* Suppress the conditional between applied brains and dynamic
|
|
import authorized modules. (Revert the "The transforms related
|
|
to a module are applied only if this module has not been
|
|
explicitly authorized to be imported" of version 2.7.3)
|
|
* Adds a brain to infer the ``numpy.ma.masked_where`` function.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Oct 3 17:17:52 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to 2.8.0
|
|
* Add additional deprecation warnings in preparation for astroid
|
|
3.0
|
|
* Require attributes for some node classes with ``__init__``
|
|
call.
|
|
* ``name`` (``str``) for ``Name``, ``AssignName``,
|
|
``DelName``
|
|
* ``attrname`` (``str``) for ``Attribute``, ``AssignAttr``,
|
|
``DelAttr``
|
|
* ``op`` (``str``) for ``AugAssign``, ``BinOp``, ``BoolOp``,
|
|
``UnaryOp``
|
|
* ``names`` (``list[tuple[str, str | None]]``) for ``Import``
|
|
* Support pyz imports
|
|
* Add ``node_ancestors`` method to ``NodeNG`` for obtaining the
|
|
ancestors of nodes.
|
|
* It's now possible to infer the value of comparison nodes
|
|
* Fixed bug in inference of dataclass field calls.
|
|
- Release 2.7.3
|
|
* The transforms related to a module are applied only if this
|
|
module has not been explicitly authorized to be imported
|
|
(i.e is not in AstroidManager.extension_package_whitelist).
|
|
Solves the following issues if numpy is authorized to be
|
|
imported through the `extension-pkg-allow-list` option.
|
|
* Fixed bug in attribute inference from inside method calls.
|
|
* Fixed bug in inference for superclass instance methods called
|
|
from the class rather than an instance.
|
|
* Fixed bug in inference of chained attributes where a subclass
|
|
had an attribute that was an instance of its superclass.
|
|
* Adds a brain for the ctypes module.
|
|
* When processing dataclass attributes, exclude the same type
|
|
hints from abc.collections as from typing.
|
|
* Apply dataclass inference to pydantic's dataclasses.
|
|
- Release 2.7.2
|
|
* ``BaseContainer`` is now public, and will replace
|
|
``_BaseContainer`` completely in astroid 3.0.
|
|
* The call cache used by inference functions produced by
|
|
``inference_tip`` can now be cleared via
|
|
``clear_inference_tip_cache``.
|
|
* ``astroid.const.BUILTINS`` and ``astroid.bases.BUILTINS`` are
|
|
not used internally anymore and will be removed in astroid 3.0.
|
|
Simply replace this by the string 'builtins' for better
|
|
performances and clarity.
|
|
* Add inference for dataclass initializer method.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 20 19:16:19 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Add typing_extensions as requirement for python36
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 19 13:13:43 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
|
|
|
- Update to 2.7.1
|
|
* When processing dataclass attributes, only do typing inference on collection types.
|
|
Support for instantiating other typing types is left for the future, if desired.
|
|
Closes #1129
|
|
* Fixed LookupMixIn missing from ``astroid.node_classes``.
|
|
- from version 2.7.0
|
|
* Import from ``astroid.node_classes`` and ``astroid.scoped_nodes`` has been deprecated in favor of
|
|
``astroid.nodes``. Only the imports from ``astroid.nodes`` will work in astroid 3.0.0.
|
|
* Add support for arbitrary Enum subclass hierachies
|
|
Closes PyCQA/pylint#533
|
|
Closes PyCQA/pylint#2224
|
|
Closes PyCQA/pylint#2626
|
|
* Add inference tips for dataclass attributes, including dataclasses.field calls.
|
|
Also add support for InitVar.
|
|
Closes PyCQA/pylint#2600
|
|
Closes PyCQA/pylint#2698
|
|
Closes PyCQA/pylint#3405
|
|
Closes PyCQA/pylint#3794
|
|
* Adds a brain that deals with dynamic import of `IsolatedAsyncioTestCase` class of the `unittest` module.
|
|
Closes PyCQA/pylint#4060
|
|
- from version 2.6.6
|
|
* Added support to infer return type of ``typing.cast()``
|
|
* Fix variable lookup's handling of exclusive statements
|
|
Closes PyCQA/pylint#3711
|
|
* Fix variable lookup's handling of function parameters
|
|
Closes PyCQA/astroid#180
|
|
* Fix variable lookup's handling of except clause variables
|
|
* Fix handling of classes with duplicated bases with the same name
|
|
Closes PyCQA/astroid#1088
|
|
- from version 2.6.5
|
|
* Fix a crash when there would be a 'TypeError object does not support
|
|
item assignment' in the code we parse.
|
|
Closes PyCQA/pylint#4439
|
|
* Fix a crash when a AttributeInferenceError was raised when
|
|
failing to find the real name in infer_import_from.
|
|
Closes PyCQA/pylint#4692
|
|
- from version 2.6.4
|
|
* Fix a crash when a StopIteration was raised when inferring
|
|
a faulty function in a context manager.
|
|
Closes PyCQA/pylint#4723
|
|
- from version 2.6.3
|
|
* Added ``If.is_sys_guard`` and ``If.is_typing_guard`` helper methods
|
|
* Fix a bad inferenece type for yield values inside of a derived class.
|
|
Closes PyCQA/astroid#1090
|
|
* Fix a crash when the node is a 'Module' in the brain builtin inference
|
|
Closes PyCQA/pylint#4671
|
|
* Fix issues when inferring match variables
|
|
Closes PyCQA/pylint#4685
|
|
* Fix lookup for nested non-function scopes
|
|
* Fix issue that ``TypedDict`` instance wasn't callable.
|
|
Closes PyCQA/pylint#4715
|
|
* Add dependency on setuptools and a guard to prevent related exceptions.
|
|
- from version 2.6.2
|
|
* Fix a crash when the inference of the length of a node failed
|
|
Closes PyCQA/pylint#4633
|
|
* Fix unhandled StopIteration during inference, following the implementation
|
|
of PEP479 in python 3.7+
|
|
Closes PyCQA/pylint#4631
|
|
Closes #1080
|
|
- from version 2.6.1
|
|
* Fix issue with ``TypedDict`` for Python 3.9+
|
|
Closes PyCQA/pylint#4610
|
|
- from version 2.6.0
|
|
* Appveyor and travis are no longer used in the continuous integration
|
|
* ``setuptools_scm`` has been removed and replaced by ``tbump`` in order to not
|
|
have hidden runtime dependencies to setuptools
|
|
* ``NodeNg``, the base node class, is now accessible from ``astroid`` or
|
|
``astroid.nodes`` as it can be used for typing.
|
|
* Update enum brain to improve inference of .name and .value dynamic class
|
|
attributes
|
|
Closes PyCQA/pylint#1932
|
|
Closes PyCQA/pylint#2062
|
|
Closes PyCQA/pylint#2306
|
|
* Removed ``Repr``, ``Exec``, and ``Print`` nodes as the ``ast`` nodes
|
|
they represented have been removed with the change to Python 3
|
|
* Deprecate ``Ellipsis`` node. It will be removed with the next minor release.
|
|
Checkers that already support Python 3.8+ work without issues. It's only
|
|
necessary to remove all references to the ``astroid.Ellipsis`` node.
|
|
This changes will make development of checkers easier as the resulting tree for Ellipsis
|
|
will no longer depend on the python version. **Background**: With Python 3.8 the
|
|
``ast.Ellipsis`` node, along with ``ast.Str``, ``ast.Bytes``, ``ast.Num``,
|
|
and ``ast.NamedConstant`` were merged into ``ast.Constant``.
|
|
* Deprecated ``Index`` and ``ExtSlice`` nodes. They will be removed with the
|
|
next minor release. Both are now part of the ``Subscript`` node.
|
|
Checkers that already support Python 3.9+ work without issues.
|
|
It's only necessary to remove all references to the ``astroid.Index`` and
|
|
``astroid.ExtSlice`` nodes. This change will make development of checkers
|
|
easier as the resulting tree for ``ast.Subscript`` nodes will no longer
|
|
depend on the python version. **Background**: With Python 3.9 ``ast.Index``
|
|
and ``ast.ExtSlice`` were merged into the ``ast.Subscript`` node.
|
|
* Updated all Match nodes to be internally consistent.
|
|
* Add ``Pattern`` base class.
|
|
- from version 2.5.8
|
|
* Improve support for Pattern Matching
|
|
* Add lineno and col_offset for ``Keyword`` nodes and Python 3.9+
|
|
* Add global inference cache to speed up inference of long statement blocks
|
|
* Add a limit to the total number of nodes inferred indirectly as a result
|
|
of inferring some node
|
|
- from version 2.5.7
|
|
* Fix six.with_metaclass transformation so it doesn't break user defined transformations.
|
|
* Fix detection of relative imports.
|
|
Closes #930
|
|
Closes PyCQA/pylint#4186
|
|
* Fix inference of instance attributes defined in base classes
|
|
Closes #932
|
|
* Update `infer_named_tuple` brain to reject namedtuple definitions
|
|
that would raise ValueError
|
|
Closes #920
|
|
* Do not set instance attributes on builtin object()
|
|
Closes #945
|
|
Closes PyCQA/pylint#4232
|
|
Closes PyCQA/pylint#4221
|
|
Closes PyCQA/pylint#3970
|
|
Closes PyCQA/pylint#3595
|
|
* Fix some spurious cycles detected in ``context.path`` leading to more cases
|
|
that can now be inferred
|
|
Closes #926
|
|
* Add ``kind`` field to ``Const`` nodes, matching the structure of the built-in ast Const.
|
|
The kind field is "u" if the literal is a u-prefixed string, and ``None`` otherwise.
|
|
Closes #898
|
|
* Fix property inference in class contexts for properties defined on the metaclass
|
|
Closes #940
|
|
* Update enum brain to fix definition of __members__ for subclass-defined Enums
|
|
Closes PyCQA/pylint#3535
|
|
Closes PyCQA/pylint#4358
|
|
* Update random brain to fix a crash with inference of some sequence elements
|
|
Closes #922
|
|
* Fix inference of attributes defined in a base class that is an inner class
|
|
Closes #904
|
|
* Allow inferring a return value of None for non-abstract empty functions and
|
|
functions with no return statements (implicitly returning None)
|
|
Closes #485
|
|
* scm_setuptools has been added to the packaging.
|
|
* Astroid's tags are now the standard form ``vX.Y.Z`` and not ``astroid-X.Y.Z`` anymore.
|
|
* Add initial support for Pattern Matching in Python 3.10
|
|
|
|
-------------------------------------------------------------------
|
|
Fri May 7 14:36:07 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to 2.5.6
|
|
* Fix retro-compatibility issues with old version of pylint
|
|
Closes PyCQA/pylint#4402
|
|
* Fixes the discord link in the project urls of the package.
|
|
Closes PyCQA/pylint#4393
|
|
* The packaging is now done via setuptools exclusively.
|
|
doc, tests, and Changelog are not packaged anymore - reducing
|
|
the size of the package greatly.
|
|
* __pkginfo__ now only contain __version__ (also accessible with
|
|
astroid.__version__), other meta-information are still
|
|
accessible with import importlib;metadata.metadata('astroid').
|
|
* Added inference tip for typing.Tuple alias
|
|
* Fix crash when evaluating typing.NamedTuple
|
|
Closes PyCQA/pylint#4383
|
|
* COPYING was removed in favor of COPYING.LESSER and the latter
|
|
was renamed to LICENSE to make more apparent that the code is
|
|
licensed under LGPLv2 or later.
|
|
* Takes into account the fact that subscript inferring for a
|
|
ClassDef may involve class_getitem method
|
|
* Reworks the collections and typing brain so that pylint`s
|
|
acceptance tests are fine.
|
|
Closes PyCQA/pylint#4206
|
|
* Use inference_tip for typing.TypedDict brain.
|
|
* Fix mro for classes that inherit from typing.Generic
|
|
* Add inference tip for typing.Generic and typing.Annotated with
|
|
__class_getitem__
|
|
Closes PyCQA/pylint#2822
|
|
* Detects import numpy as a valid numpy import.
|
|
Closes PyCQA/pylint#3974
|
|
* Iterate over Keywords when using ClassDef.get_children
|
|
Closes PyCQA/pylint#3202
|
|
- Use github archive for tests
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Mar 21 23:20:02 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to 2.5.1
|
|
* The context.path is reverted to a set because otherwise it
|
|
leads to false positives for non `numpy` functions.
|
|
* Don't transform dataclass ClassVars
|
|
* Improve typing.TypedDict inference
|
|
* Fix the `Duplicates found in MROs` false positive.
|
|
- Release 2.5.0
|
|
* Adds `attr_fset` in the `PropertyModel` class.
|
|
* Remove support for Python 3.5.
|
|
* Remove the runtime dependency on six. The six brain
|
|
remains in astroid.
|
|
* Enrich the brain_collection module so that __class_getitem__
|
|
method is added to `deque` for
|
|
python version above 3.9.
|
|
* The context.path is now a dict and the context.push method
|
|
returns True if the node has been visited a certain amount of
|
|
times.
|
|
* Adds a brain for type object so that it is possible to write
|
|
`type[int]` in annotation.
|
|
* Add __class_getitem__ method to subprocess.Popen brain under
|
|
Python 3.9 so that it is seen as subscriptable by pylint.
|
|
* Adds `degrees`, `radians`, which are `numpy ufunc` functions,
|
|
in the `numpy` brain. Adds `random` function in the `numpy.
|
|
random` brain.
|
|
* Fix deprecated importlib methods
|
|
* Fix a crash in inference caused by `Uninferable` container
|
|
elements
|
|
* Add `python 3.9` support.
|
|
* The flat attribute of numpy.ndarray is now inferred as an
|
|
numpy.ndarray itself. It should be a numpy.flatiter instance,
|
|
but this class is not yet available in the numpy brain.
|
|
* Fix a bug for dunder methods inference of function objects
|
|
* Fixes a bug in the signature of the ndarray.__or__ method,
|
|
in the brain_numpy_ndarray.py module.
|
|
* Fixes a to-list cast bug in starred_assigned_stmts method,
|
|
in the protocols.py` module.
|
|
* Added a brain for hypothesis.strategies.composite
|
|
* The transpose of a numpy.ndarray is also a numpy.ndarray
|
|
* Added a brain for sqlalchemy.orm.session
|
|
* Separate string and bytes classes patching
|
|
* Prevent recursion error for self referential length calls
|
|
* Added missing methods to the brain for mechanize, to fix
|
|
pylint false positives
|
|
* Added more supported parameters to subprocess.check_output
|
|
* Fix recursion errors with pandas
|
|
* Added exception inference for `UnicodeDecodeError`
|
|
* `FunctionDef.is_generator` properly handles `yield` nodes in
|
|
`If` tests
|
|
* Fixed exception-chaining error messages.
|
|
* Fix failure to infer base class type with multiple inheritance
|
|
and qualified names
|
|
* Fix interpretation of six.with_metaclass class definitions.
|
|
* Reduce memory usage of astroid's module cache.
|
|
* Remove dependency on `imp`.
|
|
* Do not crash when encountering starred assignments in enums.
|
|
* Fix a crash in functools.partial inference when the arguments
|
|
cannot be determined
|
|
* Fix a crash caused by a lookup of a monkey-patched method
|
|
* is_generator correctly considers `Yield` nodes in `AugAssign`
|
|
nodes
|
|
This fixes a false positive with the
|
|
`assignment-from-no-return` pylint check.
|
|
* Corrected the parent of function type comment nodes.
|
|
These nodes used to be parented to their original ast.
|
|
FunctionDef parent but are now correctly parented to their
|
|
astroid.FunctionDef parent.
|
|
- Drop part_rm_dep_imp.patch fixed upstream
|
|
- Drop unpin-deps.patch unpinned upstream
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Dec 5 22:49:26 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
|
|
|
- Fix python_sitelib usage for possibly multiple python3 flavors
|
|
gh#openSUSE/python-rpm-macros#66
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 23 16:52:52 UTC 2020 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Add part_rm_dep_imp.patch to replace missing `imp` package
|
|
(gh#PyCQA/astroid#686).
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 16 02:59:27 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
|
|
|
|
- Update to 2.4.2:
|
|
* `FunctionDef.is_generator` properly handles `yield` nodes in `While` tests
|
|
* Properly construct the arguments of infered property descriptors
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 7 04:36:24 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
|
|
|
|
- Update to 2.4.1:
|
|
* Handle the case where the raw builder fails to retrieve the ``__all__`` attribute
|
|
* Restructure the AST parsing heuristic to always pick the same module
|
|
* Changed setup.py to work with [distlib](https://pypi.org/project/distlib)
|
|
* Do not crash with SyntaxError when parsing namedtuples with invalid label
|
|
* Protect against ``infer_call_result`` failing with `InferenceError` in `Super.getattr()`
|
|
* Expose a ast_from_string method in AstroidManager, which will accept
|
|
* ``BoundMethod.implicit_parameters`` returns a proper value for ``__new__``
|
|
* Allow slots added dynamically to a class to still be inferred
|
|
* Allow `FunctionDef.getattr` to look into both instance attrs and special attributes
|
|
* Infer qualified ``classmethod`` as a classmethod.
|
|
* Prevent a recursion error to happen when inferring the declared metaclass of a class
|
|
* Raise ``AttributeInferenceError`` when ``getattr()`` receives an empty name
|
|
* Prevent a recursion error for self reference variables and `type()` calls.
|
|
* Do not infer the first argument of a staticmethod in a metaclass as the class itself
|
|
* ``NodeNG.bool_value()`` gained an optional ``context`` parameter
|
|
* Pass a context argument to ``astroid.Arguments`` to prevent recursion errors
|
|
* Better inference of class and static methods decorated with custom methods
|
|
* Reverse the order of decorators for `infer_subscript`
|
|
* Prevent a recursion error when inferring self-referential variables without definition
|
|
* Numpy `datetime64.astype` return value is inferred as a `ndarray`.
|
|
* Skip non ``Assign`` and ``AnnAssign`` nodes from enum reinterpretation
|
|
* Numpy ``ndarray`` attributes ``imag`` and ``real`` are now inferred as ``ndarray``.
|
|
* Added a call to ``register_transform`` for all functions of the ``brain_numpy_core_multiarray``
|
|
* Use the parent of the node when inferring aug assign nodes instead of the statement
|
|
* Added some functions to the ``brain_numpy_core_umath`` module
|
|
* Added some functions of the ``numpy.core.multiarray`` module
|
|
* All the ``numpy ufunc`` functions derived now from a common class that
|
|
* ``nodes.Const.itered`` returns a list of ``Const`` nodes, not strings
|
|
* The ``shape`` attribute of a ``numpy ndarray`` is now a ``ndarray``
|
|
* Don't ignore special methods when inspecting gi classes
|
|
* Added transform for ``scipy.gaussian``
|
|
* Add suport for inferring properties.
|
|
* Added a brain for ``responses``
|
|
* Allow inferring positional only arguments.
|
|
* Retry parsing a module that has invalid type comments
|
|
* Scope the inference to the current bound node when inferring instances of classes
|
|
* Add support for inferring exception instances in all contexts
|
|
* Add more supported parameters to ``subprocess.check_output``
|
|
* Infer args unpacking of ``self``
|
|
* Clean up setup.py
|
|
* Handle StopIteration error in infer_int.
|
|
* Can access per argument type comments for positional only and keyword only arguments.
|
|
* Relax upper bound on `wrapt`
|
|
* Properly analyze CFFI compiled extensions.
|
|
- Refresh unpin-deps.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 14 11:24:24 CET 2019 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Update to 2.3.3:
|
|
* Update six version to 1.13.
|
|
- Update unpin-deps.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Nov 1 08:34:46 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Update to 2.3.2:
|
|
* All type comments have as parent the corresponding `astroid` node
|
|
* Pass an inference context to `metaclass()` when inferring an object type
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Oct 4 08:24:37 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Add patch to not use pinned dependencies and to work in our distro:
|
|
* unpin-deps.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Oct 3 14:07:26 UTC 2019 - Marketa Calabkova <mcalabkova@suse.com>
|
|
|
|
- Update to 2.3.1
|
|
* A transform for the builtin `dataclasses` module was added.
|
|
* Add a brain tip for ``subprocess.check_output``
|
|
* Remove NodeNG.nearest method because of lack of usage in astroid and pylint.
|
|
* Allow importing wheel files.
|
|
* Dropped support for Python 3.4.
|
|
* Add support for Python 3.8's `NamedExpr` nodes, which is part of assignment expressions.
|
|
* ...and more.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 11 09:46:52 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Update to 2.2.5:
|
|
* The last except handler wins when inferring variables bound in an except handler.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Mar 6 12:27:13 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Update to 2.2.4:
|
|
* Many changes inside, see ChangeLog
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Dec 31 08:59:36 UTC 2018 - Martin Pluskal <mpluskal@suse.com>
|
|
|
|
- Correct conditional for older distros
|
|
- Update filelist to work on SLE-12
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 6 14:39:34 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Version update to 2.1.0:
|
|
* Many changes around, see ChangeLog file
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Sep 18 08:46:02 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Trim future goals and history lesson from description.
|
|
Use noun phrase in summary.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 14 15:01:23 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Version update to 2.0.4:
|
|
* only supports python3.0+
|
|
* Many many changes see ChangeLog fixes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 16 11:53:57 UTC 2018 - tchvatal@suse.com
|
|
|
|
- Version update to 1.6.5:
|
|
* Many various bugfixes making the pylint tests pass
|
|
* For details see ChangeLog
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 24 09:56:25 UTC 2018 - tchvatal@suse.com
|
|
|
|
- Version update to 1.6.1:
|
|
* Various fixes for python3
|
|
* Various pylint issues fixes
|
|
* For detailed log see ChangeLog
|
|
- Disable tests for now as they seem to fail, upstream knows
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Feb 27 14:05:03 UTC 2017 - jmatejek@suse.com
|
|
|
|
- update for singlespec
|
|
- update to 1.4.9
|
|
* classes can now know their definition-time arguments
|
|
* getitem() now accepts node objects
|
|
* explicit namespace package support
|
|
* see more details in ChangeLog
|
|
- update to 2.0-pre-release git version for python 3.6 support
|
|
(boo#1026174)
|
|
- enable test suite for all pythons
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 10 12:58:40 UTC 2016 - michael@stroeder.com
|
|
|
|
- Added missing dependencies on python-lazy_object_proxy
|
|
and python-wrapt
|
|
- Update to version 1.4.4
|
|
* unpack_infer raises InferenceError if it can't operate
|
|
with the given sequences of nodes.
|
|
* Support accessing properties with super().
|
|
* Enforce strong updates per frames.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 13 10:03:16 UTC 2016 - toddrme2178@gmail.com
|
|
|
|
- Update to version 1.4.3
|
|
* pkg_resources brain tips are a bit more specific,
|
|
by specifiying proper returns.
|
|
* Standard library modules are properly detected by is_standard_module.
|
|
This should fix issues such as https://github.com/PyCQA/pylint/issues/725.
|
|
- Update to version 1.4.2
|
|
* The slots() method conflates all the slots from the ancestors
|
|
into a list of current and parent slots.
|
|
We're doing this because this is the right semantics of slots,
|
|
they get inherited, as long as each parent defines a __slots__
|
|
entry.
|
|
* Revert to using printf-style formatting in as_string, in order
|
|
to avoid a potential problem with encodings when using .format.
|
|
Closes issue #273.
|
|
* assigned_stmts methods have the same signature from now on.
|
|
They used to have different signatures and each one made
|
|
assumptions about what could be passed to other implementations,
|
|
leading to various possible crashes when one or more arguments
|
|
weren't given. Closes issue #277.
|
|
- update to version 1.4.1:
|
|
* Add support for handling Uninferable nodes when calling as_string
|
|
|
|
Some object, for instance List or Tuple can have, after inference,
|
|
Uninferable as their elements, happening when their components
|
|
weren't couldn't be inferred properly. This means that as_string
|
|
needs to cope with expecting Uninferable nodes part of the other
|
|
nodes coming for a string transformation. The patch adds a visit
|
|
method in AsString and "accept" on Yes / Uninferable nodes.
|
|
Closes issue #270.
|
|
- update to version 1.4.0:
|
|
* Class.getattr('__mro__') returns the actual MRO. Closes issue #128.
|
|
* The logilab-common dependency is not needed anymore as the needed code
|
|
was integrated into astroid.
|
|
* Add 'assert_equals' method in nose.tools's brain plugin.
|
|
* Generated enum member stubs now support IntEnum and multiple
|
|
base classes.
|
|
* Add brain tips for multiprocessing.Manager and
|
|
multiprocessing.managers.SyncManager.
|
|
* Add brain tips for multiprocessing post Python 3.4+,
|
|
where the module level functions are retrieved with getattr
|
|
from a context object, leading to many no-member errors
|
|
in Pylint.
|
|
* The Generator objects inferred with `infer_call_result`
|
|
from functions have as parent the function from which they
|
|
are returned.
|
|
* Understand partially the 3-argument form of `type`.
|
|
The only change is that astroid understands members
|
|
passed in as dictionaries as the third argument.
|
|
* Improve the inference of Getattr nodes when dealing with
|
|
abstract properties from the abc module.
|
|
|
|
In astroid.bases.Instance._wrap_attr we had a detection
|
|
code for properties, which basically inferred whatever
|
|
a property returned, passing the results up the stack,
|
|
to the igetattr() method. It handled only the builtin property
|
|
but the new patch also handles a couple of other properties,
|
|
such as abc.abstractproperty.
|
|
* UnboundMethod.getattr calls the getattr of its _proxied object
|
|
and doesn't call super(...) anymore.
|
|
|
|
It previously crashed, since the first ancestor in its mro was
|
|
bases.Proxy and bases.Proxy doesn't implement the .getattr method.
|
|
Closes issue #91.
|
|
* Don't hard fail when calling .mro() on a class which has
|
|
combined both newstyle and old style classes. The class
|
|
in question is actually newstyle (and the __mro__ can be
|
|
retrieved using Python).
|
|
|
|
.mro() fallbacks to using .ancestors() in that case.
|
|
* Class.local_attr and Class.local_attr_ancestors uses internally
|
|
a mro lookup, using .mro() method, if they can.
|
|
|
|
That means for newstyle classes, when trying to lookup a member
|
|
using one of these functions, the first one according to the
|
|
mro will be returned. This reflects nicely the reality,
|
|
but it can have as a drawback the fact that it is a behaviour
|
|
change (the previous behaviour was incorrect though). Also,
|
|
having bases which can return multiple values when inferred
|
|
will not work with the new approach, because .mro() only
|
|
retrieves the first value inferred from a base.
|
|
* Expose a implicit_metaclass() method in Class. This will return
|
|
a builtins.type instance for newstyle classes.
|
|
* Add two new exceptions for handling MRO error cases. DuplicateBasesError
|
|
is emitted when duplicate bases are found in a class,
|
|
InconsistentMroError is raised when the method resolution is determined
|
|
to be inconsistent. They share a common class, MroError, which
|
|
is a subclass of ResolveError, meaning that this change is backwards
|
|
compatible.
|
|
* Classes aren't marked as interfaces anymore, in the `type` attribute.
|
|
* Class.has_dynamic_getattr doesn't return True for special methods
|
|
which aren't implemented in pure Python, as it is the case for extension modules.
|
|
|
|
Since most likely the methods were coming from a live object, this implies
|
|
that all of them will have __getattr__ and __getattribute__ present and it
|
|
is wrong to consider that those methods were actually implemented.
|
|
* Add `igetattr` method to scoped_nodes.Function.
|
|
* Add support for Python 3.5's MatMul operation: see PEP 465 for more
|
|
details.
|
|
* NotImplemented is detected properly now as being part of the
|
|
builtins module. Previously trying to infer the Name(NotImplemented)
|
|
returned an YES object.
|
|
* Add proper grammatical names for `infered` and `ass_type` methods,
|
|
namely `inferred` and `assign_type`.
|
|
|
|
The old methods will raise PendingDeprecationWarning, being slated
|
|
for removal in astroid 2.0.
|
|
* Add new AST names in order to be similar to the ones
|
|
from the builtin ast module.
|
|
|
|
With this change, Getattr becomes Attributes, Backquote becomes
|
|
Repr, Class is ClassDef, Function is FunctionDef, Discard is Expr,
|
|
CallFunc is Call, From is ImportFrom, AssName is AssignName
|
|
and AssAttr is AssignAttr. The old names are maintained for backwards
|
|
compatibility and they are interchangeable, in the sense that using
|
|
Discard will use Expr under the hood and the implemented visit_discard
|
|
in checkers will be called with Expr nodes instead. The AST does not
|
|
contain the old nodes, only the interoperability between them hides this
|
|
fact. Recommandations to move to the new nodes are emitted accordingly,
|
|
the old names will be removed in astroid 2.0.
|
|
* Star unpacking in assignments returns properly a list,
|
|
not the individual components. Closes issue #138.
|
|
* Lambdas found at class level, which have a `self` argument, are considered
|
|
* Add annotation support for function.as_string(). Closes issue #37.
|
|
* Add support for indexing bytes on Python 3.
|
|
BoundMethods when accessing them from instances of their class.
|
|
* Add support for inferring subscript on instances, which will
|
|
use __getitem__. Closes issue #124.
|
|
* Understand metaclasses added with six.add_metaclass decorator. Closes issue #129.
|
|
* Add a new convenience API, `astroid.parse`, which can be used to retrieve
|
|
an astroid AST from a source code string, similar to how ast.parse can be
|
|
used to obtain a Python AST from a source string. This is the test_utils.build_module
|
|
promoted to a public API.
|
|
* do_import_module passes the proper relative_only flag if the level is higher
|
|
than 1. This has the side effect that using `from .something import something`
|
|
in a non-package will finally result in an import-error on Pylint's side.
|
|
Until now relative_only was ignored, leading to the import of `something`,
|
|
if it was globally available.
|
|
* There's a new separate step for transforms.
|
|
|
|
Until now, the transforms were applied at the same time the tree was
|
|
being built. This was problematic if the transform functions were
|
|
using inference, since the inference was executed on a partially
|
|
constructed tree, which led to failures when post-building
|
|
information was needed (such as setting the _from_names
|
|
for the From imports).
|
|
Now there's a separate step for transforms, which are applied
|
|
using transform.TransformVisitor.
|
|
There's a couple of other related changes:
|
|
+ astroid.parse and AstroidBuilder gained a new parameter
|
|
`apply_transforms`, which is a boolean flag, which will
|
|
control if the transforms are applied. We do this because
|
|
there are uses when the vanilla tree is wanted, without
|
|
any implicit modification.
|
|
+ the transforms are also applied for builtin modules,
|
|
as a side effect of the fact that transform visiting
|
|
was moved in AstroidBuilder._post_build from
|
|
AstroidBuilder._data_build.
|
|
Closes issue #116.
|
|
* Add a new node, DictUnpack, which is used to represent the unpacking
|
|
of a dictionary into another dictionary, using PEP 448 specific syntax
|
|
({1:2, **{2:3})
|
|
|
|
This is a different approach than what the builtin ast module does,
|
|
since it just uses None to represent this kind of operation,
|
|
which seems conceptually wrong, due to the fact the AST contains
|
|
non-AST nodes. Closes issue #206.
|
|
* Add a new type of node, called *inference objects*. Inference objects are similar with
|
|
AST nodes, but they can be obtained only after inference, so they can't be found
|
|
inside the AST tree. Their purpose is to handle at astroid level
|
|
some operations which can't be handled when using brain transforms.
|
|
For instance, the first object added is FrozenSet, which can be manipulated
|
|
at astroid's level (inferred, itered etc). Code such as this 'frozenset((1,2))'
|
|
will not return an Instance of frozenset, without having access to its
|
|
content, but a new objects.FrozenSet, which can be used just as a nodes.Set.
|
|
* Add a new *inference object* called Super, which also adds support for understanding
|
|
super calls. astroid understands the zero-argument form of super, specific to
|
|
Python 3, where the interpreter fills itself the arguments of the call. Also, we
|
|
are understanding the 2-argument form of super, both for bounded lookups
|
|
(super(X, instance)) as well as for unbounded lookups (super(X, Y)),
|
|
having as well support for validating that the object-or-type is a subtype
|
|
of the first argument. The unbounded form of super (one argument) is not
|
|
understood, since it's useless in practice and should be removed from
|
|
Python's specification. Closes issue #89.
|
|
* astroid.utils.ASTWalker and astroid.utils.LocalsVisitor
|
|
were moved to pylint.pyreverse.utils.
|
|
- update to version 1.3.8:
|
|
* Backport of 40e3176, which fixes issue #84.
|
|
- update to version 1.3.7:
|
|
* Improve the inference of six.moves, especially when using `from
|
|
... import ...` syntax. Also, we added a new fail import hook for
|
|
six.moves, which fixes the import-error false positive from
|
|
pylint. Closes issue #107.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 16 12:20:32 UTC 2015 - mcihar@suse.cz
|
|
|
|
- Update to 1.3.6:
|
|
* Class.slots raises NotImplementedError for old style classes.
|
|
Closes issue #67.
|
|
* Add a new option to AstroidManager, `optimize_ast`, which
|
|
controls if peephole optimizer should be enabled or not.
|
|
This prevents a regression, where the visit_binop method
|
|
wasn't called anymore with astroid 1.3.5, due to the differences
|
|
in the resulting AST. Closes issue #82.
|
|
* Add the ability to optimize small ast subtrees,
|
|
with the first use in the optimization of multiple
|
|
BinOp nodes. This removes recursivity in the rebuilder
|
|
when dealing with a lot of small strings joined by the
|
|
addition operator. Closes issue #59.
|
|
* Obtain the methods for the nose brain tip through an
|
|
unittest.TestCase instance. Closes Pylint issue #457.
|
|
* Fix a crash which occurred when a class was the ancestor
|
|
of itself. Closes issue #78.
|
|
* Improve the scope_lookup method for Classes regarding qualified
|
|
objects, with an attribute name exactly as one provided in the
|
|
class itself.
|
|
For example, a class containing an attribute 'first',
|
|
which was also an import and which had, as a base, a qualified name
|
|
or a Gettattr node, in the form 'module.first', then Pylint would
|
|
have inferred the `first` name as the function from the Class,
|
|
not the import. Closes Pylint issue #466.
|
|
* Implement the assigned_stmts operation for Starred nodes,
|
|
which was omitted when support for Python 3 was added in astroid.
|
|
Closes issue #36.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 18 13:04:51 UTC 2015 - mcihar@suse.cz
|
|
|
|
- Update to 1.3.4:
|
|
* Get the first element from the method list when obtaining
|
|
the functions from nose.tools.trivial. Closes Pylint issue #448.
|
|
* Restore file_stream to a property, but deprecate it in favour of
|
|
the newly added method Module.stream. By using a method instead of a
|
|
property, it will be easier to properly close the file right
|
|
after it is used, which will ensure that no file descriptors are
|
|
leaked. Until now, due to the fact that a module was cached,
|
|
it was not possible to close the file_stream anywhere.
|
|
file_stream will start emitting PendingDeprecationWarnings in
|
|
astroid 1.4, DeprecationWarnings in astroid 1.5 and it will
|
|
be finally removed in astroid 1.6.
|
|
* Add inference tips for 'tuple', 'list', 'dict' and 'set' builtins.
|
|
* Add brain definition for most string and unicode methods
|
|
* Changed the API for Class.slots. It returns None when the class
|
|
doesn't define any slots. Previously, for both the cases where
|
|
the class didn't have slots defined and when it had an empty list
|
|
of slots, Class.slots returned an empty list.
|
|
* Add a new method to Class nodes, 'mro', for obtaining the
|
|
the method resolution order of the class.
|
|
* Add brain tips for six.moves. Closes issue #63.
|
|
* Improve the detection for functions decorated with decorators
|
|
which returns static or class methods.
|
|
* .slots() can contain unicode strings on Python 2.
|
|
* Add inference tips for nose.tools.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Dec 8 12:11:48 UTC 2014 - mcihar@suse.cz
|
|
|
|
- Update to 1.3.2:
|
|
* Fixed a crash with invalid subscript index.
|
|
* Implement proper base class semantics for Python 3, where
|
|
every class derives from object.
|
|
* Allow more fine-grained control over C extension loading
|
|
in the manager.
|
|
* Fixed a crash issue with the pytest brain module.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Nov 21 08:53:09 UTC 2014 - mcihar@suse.cz
|
|
|
|
- Update to 1.3.0:
|
|
* Fix a maximum recursion error occured during the inference,
|
|
where statements with the same name weren't filtered properly.
|
|
Closes pylint issue #295.
|
|
* Check that EmptyNode has an underlying object in
|
|
EmptyNode.has_underlying_object.
|
|
* Simplify the understanding of enum members.
|
|
* Fix an infinite loop with decorator call chain inference,
|
|
where the decorator returns itself. Closes issue #50.
|
|
* Various speed improvements. Patch by Alex Munroe.
|
|
* Add pytest brain plugin. Patch by Robbie Coomber.
|
|
* Support for Python versions < 2.7 has been dropped, and the
|
|
source has been made compatible with Python 2 and 3. Running
|
|
2to3 on installation for Python 3 is not needed anymore.
|
|
* astroid now depends on six.
|
|
* modutils._module_file opens __init__.py in binary mode.
|
|
Closes issues #51 and #13.
|
|
* Only C extensions from trusted sources (the standard library)
|
|
are loaded into the examining Python process to build an AST
|
|
from the live module.
|
|
* Path names on case-insensitive filesystems are now properly
|
|
handled. This fixes the stdlib detection code on Windows.
|
|
* Metaclass-generating functions like six.with_metaclass
|
|
are now supported via some explicit detection code.
|
|
* astroid.register_module_extender has been added to generalize
|
|
the support for module extenders as used by many brain plugins.
|
|
* brain plugins can now register hooks to handle failed imports,
|
|
as done by the gobject-introspection plugin.
|
|
* The modules have been moved to a separate package directory,
|
|
`setup.py develop` now works correctly.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Nov 4 16:24:17 UTC 2014 - mcihar@suse.cz
|
|
|
|
- Update to 1.2.1:
|
|
* Fix a crash occurred when inferring decorator call chain.
|
|
Closes issue #42.
|
|
* Set the parent of vararg and kwarg nodes when inferring them.
|
|
Closes issue #43.
|
|
* namedtuple inference knows about '_fields' attribute.
|
|
* enum members knows about the methods from the enum class.
|
|
* Name inference will lookup in the parent function
|
|
of the current scope, in case searching in the current scope
|
|
fails.
|
|
* Inference of the functional form of the enums takes into
|
|
consideration the various inputs that enums accepts.
|
|
* The inference engine handles binary operations (add, mul etc.)
|
|
between instances.
|
|
* Fix an infinite loop in the inference, by returning a copy
|
|
of instance attributes, when calling 'instance_attr'.
|
|
Closes issue #34 (patch by Emile Anclin).
|
|
* Don't crash when trying to infer unbound object.__new__ call.
|
|
Closes issue #11.
|
|
- Use upstream zip for packaging as .tar.gz is no longer provided
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 12 09:24:19 UTC 2014 - mcihar@suse.com
|
|
|
|
- Update to 1.2.0
|
|
* Function nodes can detect decorator call chain and see if they are
|
|
decorated with builtin descriptors (`classmethod` and `staticmethod`).
|
|
* infer_call_result called on a subtype of the builtin type will now
|
|
return a new `Class` rather than an `Instance`.
|
|
* `Class.metaclass()` now handles module-level __metaclass__ declaration
|
|
on python 2, and no longer looks at the __metaclass__ class attribute on
|
|
python 3.
|
|
* Function nodes can detect if they are decorated with subclasses
|
|
of builtin descriptors when determining their type
|
|
(`classmethod` and `staticmethod`).
|
|
* Add `slots` method to `Class` nodes, for retrieving
|
|
the list of valid slots it defines.
|
|
* Expose function annotation to astroid: `Arguments` node
|
|
exposes 'varargannotation', 'kwargannotation' and 'annotations'
|
|
attributes, while `Function` node has the 'returns' attribute.
|
|
* Backported most of the logilab.common.modutils module there, as
|
|
most things there are for pylint/astroid only and we want to be
|
|
able to fix them without requiring a new logilab.common release
|
|
* Fix names grabed using wildcard import in "absolute import mode"
|
|
(ie with absolute_import activated from the __future__ or with
|
|
python 3). Fix pylint issue #58.
|
|
* Add support in pylint-brain for understanding enum classes.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jul 10 13:12:12 UTC 2014 - toddrme2178@gmail.com
|
|
|
|
- Update to 1.1.1
|
|
* `Class.metaclass()` looks in ancestors when the current class
|
|
does not define explicitly a metaclass.
|
|
* Do not cache modules if a module with the same qname is already
|
|
known, and only return cached modules if both name and filepath
|
|
match. Fixes pylint Bitbucket issue #136.
|
|
- Update to 1.1.0
|
|
* All class nodes are marked as new style classes for Py3k.
|
|
* Add a `metaclass` function to `Class` nodes to
|
|
retrieve their metaclass.
|
|
* Add a new YieldFrom node.
|
|
* Add support for inferring arguments to namedtuple invocations.
|
|
* Make sure that objects returned for namedtuple
|
|
inference have parents.
|
|
* Don't crash when inferring nodes from `with` clauses
|
|
with multiple context managers. Closes #18.
|
|
* Don't crash when a class has some __call__ method that is not
|
|
inferable. Closes #17.
|
|
* Unwrap instances found in `.ancestors()`, by using their _proxied
|
|
class.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 28 14:30:25 UTC 2013 - toddrme2178@gmail.com
|
|
|
|
- Rename to python-astroid to match new upstream name.
|
|
- Initial version 1.0.1
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jun 19 14:26:57 UTC 2013 - speilicke@suse.com
|
|
|
|
- Use upstream URL
|
|
|
|
-------------------------------------------------------------------
|
|
Fri May 31 09:26:07 UTC 2013 - dmueller@suse.com
|
|
|
|
- update to 0.24.3:
|
|
* #124360 [py3.3]: Don't crash on 'yield from' nodes
|
|
* #123062 [pylint-brain]: Use correct names for keywords for urlparse
|
|
* #123056 [pylint-brain]: Add missing methods for hashlib
|
|
* #123068: Fix inference for generator methods to correctly handle yields
|
|
* #123068: Make sure .as_string() returns valid code for yields in
|
|
expressions.
|
|
* #47957: Set literals are now correctly treated as inference leaves.
|
|
* #123074: Add support for inference of subscript operations on dict
|
|
literals.
|
|
* pylint-brain: more subprocess.Popen faking (see #46273)
|
|
* #109562 [jython]: java modules have no __doc__, causing crash
|
|
* #120646 [py3]: fix for python3.3 _ast changes which may cause crash
|
|
* #109988 [py3]: test fixes
|
|
* #106191: fix __future__ absolute import w/ From node
|
|
* #50395: fix function fromlineno when some decorator is splited on
|
|
multiple lines (patch by Mark Gius)
|
|
* #92362: fix pyreverse crash on relative import
|
|
* #104041: fix crash 'module object has no file_encoding attribute'
|
|
* #4294 (pylint-brain): bad inference on mechanize.Browser.open
|
|
* #46273 (pylint-brain): bad inference subprocess.Popen.communicate
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 26 08:36:47 UTC 2012 - toddrme2178@gmail.com
|
|
|
|
- Add python 3 package
|
|
- Change license to LGPL 2.1+
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Feb 18 16:21:22 UTC 2012 - toganm@opensuse.org
|
|
|
|
- update to version 0.23.1
|
|
* #62295: avoid "OSError: Too many open files" by moving
|
|
.file_stream as a Module property opening the file only when
|
|
needed
|
|
* Lambda nodes should have a `name` attribute
|
|
* only call transformers if modname specified
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Oct 6 08:48:58 CEST 2011 - dmueller@suse.de
|
|
|
|
- make it build on old distros
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Sep 25 12:33:28 UTC 2011 - saschpe@gmx.de
|
|
|
|
- Don't remove logilab/__init__.py on SLE, where it is not existing.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 21 10:06:07 UTC 2011 - saschpe@suse.de
|
|
|
|
- Update to version 0.22.0:
|
|
* added column offset information on nodes (patch by fawce)
|
|
* #70497: Crash on AttributeError: 'NoneType' object has no attribute '_infer_name'
|
|
* #70381: IndendationError in import causes crash
|
|
* #70565: absolute imports treated as relative (patch by Jacek Konieczny)
|
|
* #70494: fix file encoding detection with python2.x
|
|
* py3k: __builtin__ module renamed to builtins, we should consider this to properly
|
|
build ast for builtin objects
|
|
- Run testsuite
|
|
- Removed outdated stuff from spec file (%clean section, authors, ...)
|
|
- Set license to GPL-2.0+ (SPDX style)
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Apr 12 16:00:03 CEST 2011 - hpj@urpla.net
|
|
|
|
- update to 0.21.1:
|
|
* python3: handle file encoding; fix a lot of tests
|
|
* fix #52006: "True" and "False" can be assigned as variable in Python2x
|
|
* fix #8847: pylint doesn't understand function attributes at all
|
|
* fix #8774: iterator / generator / next method
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jan 7 12:00:19 CET 2011 - hpj@urpla.net
|
|
|
|
- update to 0.21.0:
|
|
* python3.x: first python3.x release
|
|
* fix #37105: Crash on AttributeError: 'NoneType' object has no attribute '_infer_name'
|
|
* python2.4: drop python < 2.4 support
|
|
|
|
- 0.20.4:
|
|
|
|
* fix #37868 #37665 #33638 #37909: import problems with absolute_import_activated
|
|
* fix #8969: false positive when importing from zip-safe eggs
|
|
* fix #46131: minimal class decorator support
|
|
* minimal python2.7 support (dict and set comprehension)
|
|
* important progress on Py3k compatibility
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 29 10:11:50 CEST 2010 - dmueller@suse.de
|
|
|
|
- update to 0.20.3:
|
|
* fix #45959: AttributeError: 'NoneType' object has no attribute 'frame', due
|
|
to handling of __class__ when importing from living object (because of missing
|
|
source code or C-compiled object)
|
|
* fix astng building bug: we've to set module.package flag at the node
|
|
creation time otherwise we'll miss this information when infering relative
|
|
import during the build process (this should fix for instance some problems
|
|
with numpy)
|
|
* added __subclasses__ to special class attribute
|
|
* fix Class.interfaces so that no InferenceError raised on empty __implements__
|
|
* yield YES on multiplication of tuple/list with non valid operand
|
|
* fix licensing to LGPL
|
|
* add ALL_NODES_CLASSES constant to nodes module
|
|
* nodes redirection cleanup (possible since refactoring)
|
|
* bug fix for python < 2.5: add Delete node on Subscript nodes if we are in a
|
|
del context
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Apr 7 09:48:56 CEST 2010 - dmueller@suse.de
|
|
|
|
- update to 0.20.0 (bnc#555993):
|
|
* fix #20464: raises “TypeError: '_Yes' object is not iterable” on list inference
|
|
* fix #19882: pylint hangs
|
|
* fix #20759: crash on pyreverse UNARY_OP_METHOD KeyError '~'
|
|
* fix #20760: crash on pyreverse : AttributeError: 'Subscript'
|
|
object has no attribute 'infer_lhs'
|
|
* fix #21980: [Python-modules-team] Bug#573229 : Pylint hangs;
|
|
improving the cache yields a speed improvement on big projects
|
|
* major refactoring: rebuild the tree instead of modify / monkey patching
|
|
* fix #19641: "maximum recursion depth exceeded" messages w/ python 2.6
|
|
this was introduced by a refactoring
|
|
* Ned Batchelder patch to properly import eggs with Windows line
|
|
endings. This fixes a problem with pylint not being able to
|
|
import setuptools.
|
|
* Winfried Plapper patches fixing .op attribute value for AugAssign nodes,
|
|
visit_ifexp in nodes_as_string
|
|
* Edward K. Ream / Tom Fleck patch closes #19641 (maximum recursion depth
|
|
exceeded" messages w/ python 2.6), see https://bugs.launchpad.net/pylint/+bug/456870
|
|
* fix #18773: inference bug on class member (due to bad handling of instance
|
|
/ class nodes "bounded" to method calls)
|
|
* fix #9515: strange message for non-class "Class baz has no egg member" (due to
|
|
bad inference of function call)
|
|
* fix #18953: inference fails with augmented assignment (special case for augmented
|
|
assignement in infer_ass method)
|
|
* fix #13944: false positive for class/instance attributes (Instance.getattr
|
|
should return assign nodes on instance classes as well as instance.
|
|
* include spelling fixes provided by Dotan Barak
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 16 22:50:32 CEST 2009 - poeml@suse.de
|
|
|
|
- fix build on SLE10 by not including %{py_sitedir}/*egg-info in
|
|
the filelist there
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 16 22:25:39 CEST 2009 - poeml@suse.de
|
|
|
|
- update to 0.19.1
|
|
2009-08-27 -- 0.19.1
|
|
* fix #8771: crash on yield expression
|
|
* fix #10024: line numbering bug with try/except/finally
|
|
* fix #10020: when building from living object, __name__ may be None
|
|
* fix #9891: help(logilab.astng) throws TypeError
|
|
* fix #9588: false positive E1101 for augmented assignment
|
|
- adjusted sip-c-instance-fix.diff
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 7 09:05:55 CEST 2009 - dmueller@suse.de
|
|
|
|
- build as noarch
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 9 08:51:16 CEST 2009 - coolo@novell.com
|
|
|
|
- use new python macros
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 6 22:59:09 CEST 2009 - hpj@urpla.net
|
|
|
|
- apply fix from Derek Harland to handle python-sip C instance methods
|
|
correctly
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 5 15:34:49 CEST 2009 - hpj@urpla.net
|
|
|
|
- Update to version 0.19.0:
|
|
* fixed python 2.6 issue (tests ok w/ 2.4, 2.5, 2.6. Anyone using 2.2 / 2.3
|
|
to tell us if it works?)
|
|
* some understanding of the __builtin__.property decorator
|
|
* inference: introduce UnboundMethod / rename InstanceMethod to BoundMethod
|
|
|
|
2009-03-19 -- 0.18.0
|
|
* major api / tree structure changes to make it works with compiler *and*
|
|
python >= 2.5 _ast module
|
|
* cleanups and refactoring on the way
|
|
|
|
2008-11-19 -- 0.17.4
|
|
* fix #6015: filter statements bug triggering W0631 false positive in pylint
|
|
* fix #5571: Function.is_method() should return False on module level
|
|
functions decorated by staticmethod/classmethod (avoid some crash in pylint)
|
|
* fix #5010: understand python 2.5 explicit relative imports
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 12 17:58:07 CEST 2008 - garloff@suse.de
|
|
|
|
- Update to version 0.17.3:
|
|
* fix #5889: astng crash on certain pyreverse projects
|
|
* fix bug w/ loop assigment in .lookup
|
|
* apply Maarten patch fixing a crash on TryFinalaly.block_range and fixing
|
|
'else'/'final' block line detection
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 22 18:21:14 CEST 2008 - garloff@suse.de
|
|
|
|
- Update to version 0.17.2:
|
|
* "with" statement support, patch provided by Brian Hawthorne
|
|
* fixed recursion arguments in nodes_of_class method as notified
|
|
by Dave Borowitz
|
|
* new InstanceMethod node introduced to wrap bound method (eg
|
|
Function node), patch provided by Dave Borowitz
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jul 17 01:38:11 CEST 2007 - garloff@suse.de
|
|
|
|
- update to version 0.17.1:
|
|
* fix a few crashes
|
|
* lambda has no pytype
|
|
- changes from 0.16.3 to 0.17.0
|
|
* various bugfixes with inference
|
|
* list vs function mixup
|
|
* handle setattr class modification
|
|
- changes from 0.16.2 to 0.16.3
|
|
* fix simple inference for subscription and loop assignments
|
|
- changes from 0.16.1 to 0.16.2
|
|
* compatibility with python2.3 and logilab-common 0.21
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Sep 26 20:02:09 CEST 2006 - cthiel@suse.de
|
|
|
|
- update to version 0.16.1
|
|
* python 2.5 support, patch provided by Marien Zwart
|
|
* fix [Class|Module].block_range method (this fixes pylint's inline
|
|
disabling of messages on classes/modules)
|
|
* handle class.__bases__ and class.__mro__ (proper metaclass handling
|
|
still needed though)
|
|
* drop python2.2 support: remove code that was working around python2.2
|
|
* fixed generator expression scope bug
|
|
* patch transformer to extract correct line information
|
|
- changes from 0.15.1 to 0.16.0
|
|
* fix living object building to consider classes such as property as a
|
|
class instead of a data descriptor
|
|
* fix multiple assignment inference which was discarding some solutions
|
|
* added some line manipulation methods to handle pylint's block messages
|
|
control feature (Node.last_source_line(), None.block_range(lineno)
|
|
- changes from 0.15.0 to 0.15.1
|
|
* fix avoiding to load everything from living objects...
|
|
* fix a possible NameError in Instance.infer_call_result
|
|
- changes from 0.14.0 to 0.15.0
|
|
* fix possible infinite recursion on global statements and in various
|
|
other cases...
|
|
* fix locals/globals interactions when the global statement is used
|
|
* multiple inference related bug fixes
|
|
* associate List, Tuple and Dict and Const nodes to their respective
|
|
classes
|
|
* new .ass_type method on assignment related node, returning the assigment
|
|
type node (Assign, For, ListCompFor, GenExprFor, TryExcept)
|
|
* more API refactoring... .resolve method has disappeared, now you have
|
|
.ilookup on every nodes and .getattr/.igetattr on node supporting the
|
|
attribute protocol
|
|
* introduced a YES object that may be returned when there is ambiguity on
|
|
an inference path (typically function call when we don't know arguments
|
|
value)
|
|
* builder try to instantiate builtin exceptions subclasses to get their
|
|
instance attribute
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Feb 28 16:46:03 CET 2006 - jmatejek@suse.cz
|
|
|
|
- updated to reflect python changes due to #149809
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jan 28 01:32:55 CET 2006 - garloff@suse.de
|
|
|
|
- Update to version 0.14:
|
|
* refactoring and inference improvements, changed API.
|
|
* Many new features and bugfixes.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 25 21:40:49 CET 2006 - mls@suse.de
|
|
|
|
- converted neededforbuild to BuildRequires
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 22 10:09:45 CET 2005 - garloff@suse.de
|
|
|
|
- Initial creation of package.
|
|
- Version 0.13.1:
|
|
* Fixes: Class.ancesotrs(), self_resolve(), local dicts __path__,
|
|
python2.2 compatibility.
|
|
* .__contains__ .has_key link (speedup)
|
|
* GenExpr and GenExprFor support for python 2.4+
|
|
- Version 0.13:
|
|
* This package has been forked of python-logilab-common 0.12.
|
|
* Fixes: lambda, Compare.as_string, manager.astng_from_module_name
|
|
* .locals and .globals on scoped node handle now a list of
|
|
references to each assigment statements instead of a single
|
|
reference to the first assigment statement.
|
|
|
|
-------------------------------------------------------------------
|