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 <[email protected]>
+
+- 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