python-astroid/python-astroid.spec

88 lines
3.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-astroid
#
- 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). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=68
2022-01-15 17:45:59 +01:00
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: python-astroid
Version: 2.12.13
Release: 0
Summary: Representation of Python source as an AST for pylint
License: LGPL-2.1-or-later
URL: https://github.com/pycqa/astroid
Accepting request 891337 from home:bnavigator:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/891337 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=60
2021-05-07 17:25:28 +02:00
Source: https://github.com/PyCQA/astroid/archive/refs/tags/v%{version}.tar.gz#/astroid-%{version}-gh.tar.gz
BuildRequires: %{python_module base >= 3.7.2}
BuildRequires: %{python_module lazy-object-proxy >= 1.4}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
Accepting request 880419 from home:bnavigator:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/880419 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=58
2021-03-22 23:15:02 +01:00
BuildRequires: %{python_module typed-ast >= 1.4 if %python-base < 3.8}
# typing-extensions for python310 required for tests only: gh#PyCQA/astroid#1585
BuildRequires: %{python_module typing-extensions >= 3.10}
BuildRequires: %{python_module wheel}
BuildRequires: %{python_module wrapt >= 1.11 if %python-base < 3.11}
BuildRequires: %{python_module wrapt >= 1.14 if %python-base >= 3.11}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-lazy-object-proxy >= 1.4
BuildArch: noarch
Accepting request 880419 from home:bnavigator:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/880419 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=58
2021-03-22 23:15:02 +01:00
%if 0%{?python_version_nodots} < 38
Requires: python-typed-ast >= 1.4
Accepting request 922892 from home:bnavigator:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/922892 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=64
2021-10-04 09:07:59 +02:00
%endif
%if 0%{?python_version_nodots} < 310
Requires: python-typing-extensions >= 3.10
%endif
%if 0%{?python_version_nodots} < 311
Requires: python-wrapt >= 1.11
%else
Requires: python-wrapt >= 1.14
%endif
%python_subpackages
%description
This module provides a common base representation of Python source code for
projects such as pychecker, pyreverse, pylint. The development of this library
is governed by pylint's needs.
It provides a compatible representation which comes from the _ast
module. It rebuilds the tree generated by the builtin _ast module by
recursively walking down the AST and building an extended ast. The new
node classes have additional methods and attributes for different
usages. They include some support for static inference and local name
scopes. Furthermore, astroid builds partial trees by inspecting living
objects.
%prep
%setup -q -n astroid-%{version}
%autopatch -p1
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest
%files %{python_files}
Accepting request 891337 from home:bnavigator:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/891337 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=60
2021-05-07 17:25:28 +02:00
%license LICENSE
%doc ChangeLog README.rst
%{python_sitelib}/astroid/
Accepting request 880419 from home:bnavigator:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/880419 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=58
2021-03-22 23:15:02 +01:00
%{python_sitelib}/astroid-%{version}*-info
%changelog