commit python-pure-eval for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pure-eval for openSUSE:Factory checked in at 2024-07-28 17:18:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pure-eval (Old) and /work/SRC/openSUSE:Factory/.python-pure-eval.new.1882 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-pure-eval" Sun Jul 28 17:18:57 2024 rev:4 rq:1189789 version:0.2.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pure-eval/python-pure-eval.changes 2023-04-22 22:00:14.445137642 +0200 +++ /work/SRC/openSUSE:Factory/.python-pure-eval.new.1882/python-pure-eval.changes 2024-07-28 17:19:06.931006458 +0200 @@ -1,0 +2,21 @@ +Thu Jul 25 14:21:50 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> + +- Update to version 0.2.3 + * fix warning in test_cannot_subscript + * add __version__ to __all__ + * test 3.13 + * Specify exports in `__all__` to prevent `pyright` errors + * Explicitly remove the ctx attribute in copy_ast_without_context + * Fix compatibility of check_copy_ast_without_context with Py 3.13b1 + * Check for __delete__ to detect data descriptors, + as in https://github.com/python/cpython/pull/104517/files + * fix job name + * fix main branch in GHA + * Update Python classifiers + * Update release script + * manual coveralls + * GHAs v4 + * test 3.12 + * 3.11 + +------------------------------------------------------------------- Old: ---- pure_eval-0.2.2.tar.gz New: ---- pure_eval-0.2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pure-eval.spec ++++++ --- /var/tmp/diff_new_pack.GItbY3/_old 2024-07-28 17:19:09.071091999 +0200 +++ /var/tmp/diff_new_pack.GItbY3/_new 2024-07-28 17:19:09.071091999 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-pure-eval # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %{?sle15_python_module_pythons} Name: python-pure-eval -Version: 0.2.2 +Version: 0.2.3 Release: 0 Summary: Safely evaluate AST nodes without side effects License: MIT ++++++ pure_eval-0.2.2.tar.gz -> pure_eval-0.2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/.github/workflows/pytest.yml new/pure_eval-0.2.3/.github/workflows/pytest.yml --- old/pure_eval-0.2.2/.github/workflows/pytest.yml 2022-01-22 16:40:30.000000000 +0100 +++ new/pure_eval-0.2.3/.github/workflows/pytest.yml 2024-07-21 14:29:19.000000000 +0200 @@ -1,36 +1,48 @@ name: Tests -on: [push, pull_request] + +on: + push: + branches: + - master + pull_request: + workflow_dispatch: + jobs: - build: + test: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.7, 3.8, 3.9, 3.10-dev] + python-version: [3.7, 3.8, 3.9, '3.10', 3.11, 3.12, 3.13-dev] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: run tests + - name: Install dependencies + run: | + pip install --upgrade pip + pip install --upgrade coveralls .[tests] + - name: Test env: PURE_EVAL_SLOW_TESTS: 1 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_FLAG_NAME: "test-${{ matrix.python-version }}-${{ matrix.os }}" + COVERALLS_PARALLEL: true run: | - pip install -U pip - pip install --upgrade coveralls setuptools setuptools_scm pep517 - pip install .[tests] coverage run --source pure_eval -m pytest coverage report -m - - name: Coveralls Python - uses: AndreMiras/coveralls-python-action@v20201129 - with: - parallel: true - flag-name: test-${{ matrix.python-version }} - coveralls_finish: - needs: build + coveralls --service=github + + coveralls: + name: Coveralls Finished + needs: test runs-on: ubuntu-latest + container: python:3-slim steps: - - name: Coveralls Finished - uses: AndreMiras/coveralls-python-action@v20201129 - with: - parallel-finished: true + - name: Finished + run: | + pip3 install --upgrade coveralls + coveralls --service=github --finish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/PKG-INFO new/pure_eval-0.2.3/PKG-INFO --- old/pure_eval-0.2.2/PKG-INFO 2022-01-22 16:41:17.320512300 +0100 +++ new/pure_eval-0.2.3/PKG-INFO 2024-07-21 14:58:16.386960300 +0200 @@ -1,28 +1,29 @@ Metadata-Version: 2.1 Name: pure_eval -Version: 0.2.2 +Version: 0.2.3 Summary: Safely evaluate AST nodes without side effects Home-page: http://github.com/alexmojaki/pure_eval Author: Alex Hall Author-email: alex.mojaki@gmail.com License: MIT -Platform: UNKNOWN Classifier: Intended Audience :: Developers -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Description-Content-Type: text/markdown -Provides-Extra: tests License-File: LICENSE.txt +Provides-Extra: tests +Requires-Dist: pytest; extra == "tests" # `pure_eval` -[![Build Status](https://travis-ci.org/alexmojaki/pure_eval.svg?branch=master)](https://travis-ci.org/alexmojaki/pure_eval) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/pure_eval/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/pure_eval?branch=master) [![Supports Python versions 3.5+](https://img.shields.io/pypi/pyversions/pure_eval.svg)](https://pypi.python.org/pypi/pure_eval) +[![Build Status](https://travis-ci.org/alexmojaki/pure_eval.svg?branch=master)](https://travis-ci.org/alexmojaki/pure_eval) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/pure_eval/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/pure_eval?branch=master) [![Supports Python versions 3.7+](https://img.shields.io/pypi/pyversions/pure_eval.svg)](https://pypi.python.org/pypi/pure_eval) This is a Python package that lets you safely evaluate certain AST nodes without triggering arbitrary code that may have unwanted side effects. @@ -224,5 +225,3 @@ y = 2 d[x] = 2 ``` - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/README.md new/pure_eval-0.2.3/README.md --- old/pure_eval-0.2.2/README.md 2020-10-13 21:27:57.000000000 +0200 +++ new/pure_eval-0.2.3/README.md 2024-07-21 14:20:27.000000000 +0200 @@ -1,6 +1,6 @@ # `pure_eval` -[![Build Status](https://travis-ci.org/alexmojaki/pure_eval.svg?branch=master)](https://travis-ci.org/alexmojaki/pure_eval) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/pure_eval/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/pure_eval?branch=master) [![Supports Python versions 3.5+](https://img.shields.io/pypi/pyversions/pure_eval.svg)](https://pypi.python.org/pypi/pure_eval) +[![Build Status](https://travis-ci.org/alexmojaki/pure_eval.svg?branch=master)](https://travis-ci.org/alexmojaki/pure_eval) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/pure_eval/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/pure_eval?branch=master) [![Supports Python versions 3.7+](https://img.shields.io/pypi/pyversions/pure_eval.svg)](https://pypi.python.org/pypi/pure_eval) This is a Python package that lets you safely evaluate certain AST nodes without triggering arbitrary code that may have unwanted side effects. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/make_release.sh new/pure_eval-0.2.3/make_release.sh --- old/pure_eval-0.2.2/make_release.sh 2022-01-22 16:40:30.000000000 +0100 +++ new/pure_eval-0.2.3/make_release.sh 2024-07-21 14:20:27.000000000 +0200 @@ -1,30 +1,28 @@ #!/usr/bin/env bash -set -eux -# Ensure that there are no uncommitted changes -# which would mess up using the git tag as a version -[ -z "$(git status --porcelain)" ] +set -eux -o pipefail -if [ -z "${1+x}" ] -then +if [ ! -z "$(git status --porcelain)" ]; then + set +x + echo You have uncommitted changes which would mess up the git tag + exit 1 +fi + +if [ -z "${1+x}" ]; then set +x echo Provide a version argument echo "${0} <major>.<minor>.<patch>" exit 1 -else - if [[ ${1} =~ ^([0-9]+)(\.[0-9]+)?(\.[0-9]+)?$ ]]; then - : - else - echo "Not a valid release tag." - exit 1 - fi fi -tox -p auto +if [[ ! ${1} =~ ^([0-9]+)(\.[0-9]+)?(\.[0-9]+)?$ ]]; then + echo "Not a valid release tag." + exit 1 +fi export TAG="v${1}" -git tag "${TAG}" -git push origin master "${TAG}" +git tag -f "${TAG}" +git push origin HEAD "${TAG}" rm -rf ./build ./dist python -m build --sdist --wheel . twine upload ./dist/*.whl dist/*.tar.gz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/pure_eval/__init__.py new/pure_eval-0.2.3/pure_eval/__init__.py --- old/pure_eval-0.2.2/pure_eval/__init__.py 2020-10-13 21:27:57.000000000 +0200 +++ new/pure_eval-0.2.3/pure_eval/__init__.py 2024-07-21 14:47:48.000000000 +0200 @@ -6,3 +6,12 @@ except ImportError: # version.py is auto-generated with the git tag when building __version__ = "???" + +__all__ = [ + "Evaluator", + "CannotEval", + "group_expressions", + "is_expression_interesting", + "getattr_static", + "__version__", +] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/pure_eval/my_getattr_static.py new/pure_eval-0.2.3/pure_eval/my_getattr_static.py --- old/pure_eval-0.2.2/pure_eval/my_getattr_static.py 2020-10-13 21:27:57.000000000 +0200 +++ new/pure_eval-0.2.3/pure_eval/my_getattr_static.py 2024-07-21 14:20:27.000000000 +0200 @@ -79,8 +79,10 @@ klass_result = _check_class(klass, attr) if instance_result is not _sentinel and klass_result is not _sentinel: - if (_check_class(type(klass_result), '__get__') is not _sentinel and - _check_class(type(klass_result), '__set__') is not _sentinel): + if _check_class(type(klass_result), "__get__") is not _sentinel and ( + _check_class(type(klass_result), "__set__") is not _sentinel + or _check_class(type(klass_result), "__delete__") is not _sentinel + ): return _resolve_descriptor(klass_result, obj, klass) if instance_result is not _sentinel: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/pure_eval/utils.py new/pure_eval-0.2.3/pure_eval/utils.py --- old/pure_eval-0.2.2/pure_eval/utils.py 2022-01-22 16:40:30.000000000 +0100 +++ new/pure_eval-0.2.3/pure_eval/utils.py 2024-07-21 14:28:09.000000000 +0200 @@ -184,7 +184,12 @@ if field != 'ctx' if hasattr(x, field) } - return type(x)(**kwargs) + a = type(x)(**kwargs) + if hasattr(a, 'ctx'): + # Python 3.13.0b2+ defaults to Load when we don't pass ctx + # https://github.com/python/cpython/pull/118871 + del a.ctx + return a elif isinstance(x, list): return list(map(copy_ast_without_context, x)) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/pure_eval/version.py new/pure_eval-0.2.3/pure_eval/version.py --- old/pure_eval-0.2.2/pure_eval/version.py 2022-01-22 16:41:17.000000000 +0100 +++ new/pure_eval-0.2.3/pure_eval/version.py 2024-07-21 14:58:16.000000000 +0200 @@ -1 +1 @@ -__version__ = '0.2.2' \ No newline at end of file +__version__ = '0.2.3' \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/pure_eval.egg-info/PKG-INFO new/pure_eval-0.2.3/pure_eval.egg-info/PKG-INFO --- old/pure_eval-0.2.2/pure_eval.egg-info/PKG-INFO 2022-01-22 16:41:17.000000000 +0100 +++ new/pure_eval-0.2.3/pure_eval.egg-info/PKG-INFO 2024-07-21 14:58:16.000000000 +0200 @@ -1,28 +1,29 @@ Metadata-Version: 2.1 -Name: pure-eval -Version: 0.2.2 +Name: pure_eval +Version: 0.2.3 Summary: Safely evaluate AST nodes without side effects Home-page: http://github.com/alexmojaki/pure_eval Author: Alex Hall Author-email: alex.mojaki@gmail.com License: MIT -Platform: UNKNOWN Classifier: Intended Audience :: Developers -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Description-Content-Type: text/markdown -Provides-Extra: tests License-File: LICENSE.txt +Provides-Extra: tests +Requires-Dist: pytest; extra == "tests" # `pure_eval` -[![Build Status](https://travis-ci.org/alexmojaki/pure_eval.svg?branch=master)](https://travis-ci.org/alexmojaki/pure_eval) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/pure_eval/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/pure_eval?branch=master) [![Supports Python versions 3.5+](https://img.shields.io/pypi/pyversions/pure_eval.svg)](https://pypi.python.org/pypi/pure_eval) +[![Build Status](https://travis-ci.org/alexmojaki/pure_eval.svg?branch=master)](https://travis-ci.org/alexmojaki/pure_eval) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/pure_eval/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/pure_eval?branch=master) [![Supports Python versions 3.7+](https://img.shields.io/pypi/pyversions/pure_eval.svg)](https://pypi.python.org/pypi/pure_eval) This is a Python package that lets you safely evaluate certain AST nodes without triggering arbitrary code that may have unwanted side effects. @@ -224,5 +225,3 @@ y = 2 d[x] = 2 ``` - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/setup.cfg new/pure_eval-0.2.3/setup.cfg --- old/pure_eval-0.2.2/setup.cfg 2022-01-22 16:41:17.320512300 +0100 +++ new/pure_eval-0.2.3/setup.cfg 2024-07-21 14:58:16.387265400 +0200 @@ -9,12 +9,13 @@ long_description_content_type = text/markdown classifiers = Intended Audience :: Developers - Programming Language :: Python :: 3.5 - Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 License :: OSI Approved :: MIT License Operating System :: OS Independent diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/tests/test_core.py new/pure_eval-0.2.3/tests/test_core.py --- old/pure_eval-0.2.2/tests/test_core.py 2021-04-11 20:42:47.000000000 +0200 +++ new/pure_eval-0.2.3/tests/test_core.py 2024-07-21 14:55:03.000000000 +0200 @@ -458,12 +458,12 @@ str(evaluator["foo"]) -@pytest.mark.parametrize("expr", ["[1][:,:]", "[1][9]"]) +@pytest.mark.parametrize("expr", ["lst[:,:]", "lst[9]"]) def test_cannot_subscript(expr): with pytest.raises(Exception): eval(expr) - evaluator = Evaluator({}) + evaluator = Evaluator({'lst': [1]}) tree = ast.parse(expr) node = tree.body[0].value assert isinstance(node, ast.Subscript) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/tests/test_getattr_static.py new/pure_eval-0.2.3/tests/test_getattr_static.py --- old/pure_eval-0.2.2/tests/test_getattr_static.py 2020-10-13 21:27:57.000000000 +0200 +++ new/pure_eval-0.2.3/tests/test_getattr_static.py 2024-07-21 14:20:27.000000000 +0200 @@ -187,6 +187,10 @@ descriptor.__set__ = lambda s, i, v: None self.assert_cannot_getattr(foo, 'd') + del descriptor.__set__ + descriptor.__delete__ = lambda s, i, o: None + self.assert_cannot_getattr(foo, 'd') + def test_metaclass_with_descriptor(self): class descriptor(object): def __get__(self, instance, owner): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/tests/test_utils.py new/pure_eval-0.2.3/tests/test_utils.py --- old/pure_eval-0.2.2/tests/test_utils.py 2022-01-22 16:40:30.000000000 +0100 +++ new/pure_eval-0.2.3/tests/test_utils.py 2024-07-21 14:20:27.000000000 +0200 @@ -58,7 +58,16 @@ dump1 = ast.dump(tree) dump2 = ast.dump(tree2) normalised_dump1 = re.sub( - r", ctx=(Load|Store|Del)\(\)", + # Two possible matches: + # - first one like ", ctx=…" where ", " should be removed + # - second one like "(ctx=…" where "(" should be kept + ( + r"(" + r", ctx=(Load|Store|Del)\(\)" + r"|" + r"(?<=\()ctx=(Load|Store|Del)\(\)" + r")" + ), "", dump1 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pure_eval-0.2.2/tox.ini new/pure_eval-0.2.3/tox.ini --- old/pure_eval-0.2.2/tox.ini 2022-01-22 16:40:30.000000000 +0100 +++ new/pure_eval-0.2.3/tox.ini 2024-07-21 14:28:13.000000000 +0200 @@ -1,5 +1,5 @@ [tox] -envlist = py{35,36,37,38,39,310} +envlist = py{37,38,39,310,311,312,313} [testenv] commands = pytest
participants (1)
-
Source-Sync