Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-executing for 
openSUSE:Factory checked in at 2022-03-29 18:14:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-executing (Old)
 and      /work/SRC/openSUSE:Factory/.python-executing.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-executing"

Tue Mar 29 18:14:04 2022 rev:4 rq:965181 version:0.8.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-executing/python-executing.changes        
2021-12-02 22:31:30.242387634 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-executing.new.1900/python-executing.changes  
    2022-03-29 18:14:15.191063800 +0200
@@ -1,0 +2,7 @@
+Sun Mar 27 10:48:50 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 0.8.3:
+  * handle new iphython cell code names 
+  * link to futurecoder
+
+-------------------------------------------------------------------

Old:
----
  executing-0.8.2.tar.gz

New:
----
  executing-0.8.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-executing.spec ++++++
--- /var/tmp/diff_new_pack.pC8b4W/_old  2022-03-29 18:14:16.367064881 +0200
+++ /var/tmp/diff_new_pack.pC8b4W/_new  2022-03-29 18:14:16.371064885 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-executing
 #
-# Copyright (c) 2021 SUSE LLC
+# 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
@@ -20,7 +20,7 @@
 %define skip_python2 1
 %define skip_python36 1
 Name:           python-executing
-Version:        0.8.2
+Version:        0.8.3
 Release:        0
 License:        MIT
 Summary:        Get the currently executing AST node of a frame, and other 
information
@@ -30,6 +30,7 @@
 Source:         
https://files.pythonhosted.org/packages/source/e/executing/executing-%{version}.tar.gz
 BuildRequires:  %{python_module asttokens}
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module littleutils}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools_scm >= 4.0.0}
 BuildRequires:  %{python_module setuptools}

++++++ executing-0.8.2.tar.gz -> executing-0.8.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/.github/workflows/test.yml 
new/executing-0.8.3/.github/workflows/test.yml
--- old/executing-0.8.2/.github/workflows/test.yml      2021-09-12 
22:50:36.000000000 +0200
+++ new/executing-0.8.3/.github/workflows/test.yml      2022-02-27 
23:43:45.000000000 +0100
@@ -19,7 +19,7 @@
       run: |
         python --version
         pip install -U pip
-        pip install --upgrade coveralls asttokens pytest setuptools 
setuptools_scm pep517
+        pip install --upgrade coveralls asttokens pytest littleutils 
setuptools setuptools_scm pep517
         pip install .
     - name: Test
       env:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/PKG-INFO new/executing-0.8.3/PKG-INFO
--- old/executing-0.8.2/PKG-INFO        2021-10-02 20:23:22.708351400 +0200
+++ new/executing-0.8.3/PKG-INFO        2022-02-27 23:45:13.267087500 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: executing
-Version: 0.8.2
+Version: 0.8.3
 Summary: Get the currently executing AST node of a frame, and other information
 Home-page: https://github.com/alexmojaki/executing
 Author: Alex Hall
@@ -144,21 +144,23 @@
 
 The plan is to extend to more operations in the future.
 
-## Libraries that use this
+## Projects that use this
 
-### My libraries
+### My Projects
 
 - **[`stack_data`](https://github.com/alexmojaki/stack_data)**: Extracts data 
from stack frames and tracebacks, particularly to display more useful 
tracebacks than the default. Also uses another related library of mine: 
**[`pure_eval`](https://github.com/alexmojaki/pure_eval)**.
+- **[`futurecoder`](https://futurecoder.io/)**: Highlights the executing node 
in tracebacks using `executing` via `stack_data`, and provides debugging with 
`snoop`.
 - **[`snoop`](https://github.com/alexmojaki/snoop)**: A feature-rich and 
convenient debugging library. Uses `executing` to show the operation which 
caused an exception and to allow the `pp` function to display the source of its 
arguments.
 - **[`heartrate`](https://github.com/alexmojaki/heartrate)**: A simple real 
time visualisation of the execution of a Python program. Uses `executing` to 
highlight currently executing operations, particularly in each frame of the 
stack trace.
 - **[`sorcery`](https://github.com/alexmojaki/sorcery)**: Dark magic delights 
in Python. Uses `executing` to let special callables called spells know where 
they're being called from.
 
-### Libraries I've contributed to
+### Projects I've contributed to
 
 - **[`IPython`](https://github.com/ipython/ipython/pull/12150)**: Highlights 
the executing node in tracebacks using `executing` via 
[`stack_data`](https://github.com/alexmojaki/stack_data).
 - **[`icecream`](https://github.com/gruns/icecream)**: ???? Sweet and creamy 
print debugging. Uses `executing` to identify where `ic` is called and print 
its arguments.
+- 
**[`friendly_traceback`](https://github.com/friendly-traceback/friendly-traceback)**:
 Uses `stack_data` and `executing` to pinpoint the cause of errors and provide 
helpful explanations.
 - **[`python-devtools`](https://github.com/samuelcolvin/python-devtools)**: 
Uses `executing` for print debugging similar to `icecream`.
-- **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the 
integration `sentry_sdk.integrations.executingExecutingIntegration()` to show 
the function `__qualname__` in each frame in sentry events. Highlighting the 
executing node is hopefully [coming 
soon](https://github.com/getsentry/sentry/pull/19924).
+- **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the 
integration `sentry_sdk.integrations.executingExecutingIntegration()` to show 
the function `__qualname__` in each frame in sentry events.
 - **[`varname`](https://github.com/pwwang/python-varname)**: Dark magics about 
variable names in python. Uses `executing` to find where its various magical 
functions like `varname` and `nameof` are called from.
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/README.md 
new/executing-0.8.3/README.md
--- old/executing-0.8.2/README.md       2021-09-12 22:56:11.000000000 +0200
+++ new/executing-0.8.3/README.md       2022-02-26 12:24:53.000000000 +0100
@@ -121,19 +121,21 @@
 
 The plan is to extend to more operations in the future.
 
-## Libraries that use this
+## Projects that use this
 
-### My libraries
+### My Projects
 
 - **[`stack_data`](https://github.com/alexmojaki/stack_data)**: Extracts data 
from stack frames and tracebacks, particularly to display more useful 
tracebacks than the default. Also uses another related library of mine: 
**[`pure_eval`](https://github.com/alexmojaki/pure_eval)**.
+- **[`futurecoder`](https://futurecoder.io/)**: Highlights the executing node 
in tracebacks using `executing` via `stack_data`, and provides debugging with 
`snoop`.
 - **[`snoop`](https://github.com/alexmojaki/snoop)**: A feature-rich and 
convenient debugging library. Uses `executing` to show the operation which 
caused an exception and to allow the `pp` function to display the source of its 
arguments.
 - **[`heartrate`](https://github.com/alexmojaki/heartrate)**: A simple real 
time visualisation of the execution of a Python program. Uses `executing` to 
highlight currently executing operations, particularly in each frame of the 
stack trace.
 - **[`sorcery`](https://github.com/alexmojaki/sorcery)**: Dark magic delights 
in Python. Uses `executing` to let special callables called spells know where 
they're being called from.
 
-### Libraries I've contributed to
+### Projects I've contributed to
 
 - **[`IPython`](https://github.com/ipython/ipython/pull/12150)**: Highlights 
the executing node in tracebacks using `executing` via 
[`stack_data`](https://github.com/alexmojaki/stack_data).
 - **[`icecream`](https://github.com/gruns/icecream)**: ???? Sweet and creamy 
print debugging. Uses `executing` to identify where `ic` is called and print 
its arguments.
+- 
**[`friendly_traceback`](https://github.com/friendly-traceback/friendly-traceback)**:
 Uses `stack_data` and `executing` to pinpoint the cause of errors and provide 
helpful explanations.
 - **[`python-devtools`](https://github.com/samuelcolvin/python-devtools)**: 
Uses `executing` for print debugging similar to `icecream`.
-- **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the 
integration `sentry_sdk.integrations.executingExecutingIntegration()` to show 
the function `__qualname__` in each frame in sentry events. Highlighting the 
executing node is hopefully [coming 
soon](https://github.com/getsentry/sentry/pull/19924).
+- **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the 
integration `sentry_sdk.integrations.executingExecutingIntegration()` to show 
the function `__qualname__` in each frame in sentry events.
 - **[`varname`](https://github.com/pwwang/python-varname)**: Dark magics about 
variable names in python. Uses `executing` to find where its various magical 
functions like `varname` and `nameof` are called from.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/executing/executing.py 
new/executing-0.8.3/executing/executing.py
--- old/executing-0.8.2/executing/executing.py  2021-10-02 20:21:58.000000000 
+0200
+++ new/executing-0.8.3/executing/executing.py  2022-02-27 23:43:45.000000000 
+0100
@@ -323,10 +323,7 @@
                     try:
                         stmts = source.statements_at_line(lineno)
                         if stmts:
-                            if code.co_name == "<module>" and re.search(
-                                r"<ipython-input-|[/\\]ipykernel_\d+[/\\]",
-                                code.co_filename,
-                            ):
+                            if is_ipython_cell_code(code):
                                 for stmt in stmts:
                                     tree = _extract_ipython_statement(stmt)
                                     try:
@@ -789,9 +786,9 @@
     def find_codes(self, root_code):
         checks = [
             attrgetter('co_firstlineno'),
-            attrgetter('co_name'),
             attrgetter('co_freevars'),
             attrgetter('co_cellvars'),
+            lambda c: is_ipython_cell_code_name(c.co_name) or c.co_name,
         ]
         if not self.is_pytest:
             checks += [
@@ -1074,3 +1071,18 @@
     tree.body = [stmt]
     ast.copy_location(tree, stmt)
     return tree
+
+
+def is_ipython_cell_code_name(code_name):
+    return bool(re.match(r"(<module>|<cell line: \d+>)$", code_name))
+
+
+def is_ipython_cell_filename(filename):
+    return re.search(r"<ipython-input-|[/\\]ipykernel_\d+[/\\]", filename)
+
+
+def is_ipython_cell_code(code_obj):
+    return (
+        is_ipython_cell_filename(code_obj.co_filename) and
+        is_ipython_cell_code_name(code_obj.co_name)
+    )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/executing/version.py 
new/executing-0.8.3/executing/version.py
--- old/executing-0.8.2/executing/version.py    2021-10-02 20:23:22.000000000 
+0200
+++ new/executing-0.8.3/executing/version.py    2022-02-27 23:45:12.000000000 
+0100
@@ -1 +1 @@
-__version__ = '0.8.2'
\ No newline at end of file
+__version__ = '0.8.3'
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/executing.egg-info/PKG-INFO 
new/executing-0.8.3/executing.egg-info/PKG-INFO
--- old/executing-0.8.2/executing.egg-info/PKG-INFO     2021-10-02 
20:23:22.000000000 +0200
+++ new/executing-0.8.3/executing.egg-info/PKG-INFO     2022-02-27 
23:45:12.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: executing
-Version: 0.8.2
+Version: 0.8.3
 Summary: Get the currently executing AST node of a frame, and other information
 Home-page: https://github.com/alexmojaki/executing
 Author: Alex Hall
@@ -144,21 +144,23 @@
 
 The plan is to extend to more operations in the future.
 
-## Libraries that use this
+## Projects that use this
 
-### My libraries
+### My Projects
 
 - **[`stack_data`](https://github.com/alexmojaki/stack_data)**: Extracts data 
from stack frames and tracebacks, particularly to display more useful 
tracebacks than the default. Also uses another related library of mine: 
**[`pure_eval`](https://github.com/alexmojaki/pure_eval)**.
+- **[`futurecoder`](https://futurecoder.io/)**: Highlights the executing node 
in tracebacks using `executing` via `stack_data`, and provides debugging with 
`snoop`.
 - **[`snoop`](https://github.com/alexmojaki/snoop)**: A feature-rich and 
convenient debugging library. Uses `executing` to show the operation which 
caused an exception and to allow the `pp` function to display the source of its 
arguments.
 - **[`heartrate`](https://github.com/alexmojaki/heartrate)**: A simple real 
time visualisation of the execution of a Python program. Uses `executing` to 
highlight currently executing operations, particularly in each frame of the 
stack trace.
 - **[`sorcery`](https://github.com/alexmojaki/sorcery)**: Dark magic delights 
in Python. Uses `executing` to let special callables called spells know where 
they're being called from.
 
-### Libraries I've contributed to
+### Projects I've contributed to
 
 - **[`IPython`](https://github.com/ipython/ipython/pull/12150)**: Highlights 
the executing node in tracebacks using `executing` via 
[`stack_data`](https://github.com/alexmojaki/stack_data).
 - **[`icecream`](https://github.com/gruns/icecream)**: ???? Sweet and creamy 
print debugging. Uses `executing` to identify where `ic` is called and print 
its arguments.
+- 
**[`friendly_traceback`](https://github.com/friendly-traceback/friendly-traceback)**:
 Uses `stack_data` and `executing` to pinpoint the cause of errors and provide 
helpful explanations.
 - **[`python-devtools`](https://github.com/samuelcolvin/python-devtools)**: 
Uses `executing` for print debugging similar to `icecream`.
-- **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the 
integration `sentry_sdk.integrations.executingExecutingIntegration()` to show 
the function `__qualname__` in each frame in sentry events. Highlighting the 
executing node is hopefully [coming 
soon](https://github.com/getsentry/sentry/pull/19924).
+- **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the 
integration `sentry_sdk.integrations.executingExecutingIntegration()` to show 
the function `__qualname__` in each frame in sentry events.
 - **[`varname`](https://github.com/pwwang/python-varname)**: Dark magics about 
variable names in python. Uses `executing` to find where its various magical 
functions like `varname` and `nameof` are called from.
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/tests/test_pytest.py 
new/executing-0.8.3/tests/test_pytest.py
--- old/executing-0.8.2/tests/test_pytest.py    2020-08-14 21:28:33.000000000 
+0200
+++ new/executing-0.8.3/tests/test_pytest.py    2022-02-27 23:43:45.000000000 
+0100
@@ -1,6 +1,10 @@
 import os
 import sys
 
+from littleutils import SimpleNamespace
+
+from executing.executing import is_ipython_cell_code
+
 sys.path.append(os.path.dirname(os.path.dirname(__file__)))
 
 
@@ -17,3 +21,26 @@
     ), 'message'
     x = tester.x
     assert x is tester
+
+
+def test_ipython_cell_code():
+    assert is_ipython_cell_code(
+        SimpleNamespace(
+            co_name="<cell line: 1>",
+            co_filename="tmp/ipykernel_3/foo",
+        )
+    )
+
+    assert not is_ipython_cell_code(
+        SimpleNamespace(
+            co_name="<cell line: 1",
+            co_filename="tmp/ipykernel_3/foo",
+        )
+    )
+
+    assert not is_ipython_cell_code(
+        SimpleNamespace(
+            co_name="<cell line: 1>",
+            co_filename="tmp/ipykernel_3",
+        )
+    )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/executing-0.8.2/tox.ini new/executing-0.8.3/tox.ini
--- old/executing-0.8.2/tox.ini 2021-08-01 00:02:53.000000000 +0200
+++ new/executing-0.8.3/tox.ini 2022-02-27 23:43:45.000000000 +0100
@@ -8,6 +8,7 @@
 deps =
     asttokens
     pytest
+    littleutils
 passenv = 
     FIX_EXECUTING_TESTS
     EXECUTING_SLOW_TESTS

Reply via email to