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.glaub...@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.moj...@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.moj...@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

Reply via email to