From 54c4809931178d9913cebdf25284d4c7fbcdd4e5 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Mon, 22 Jun 2026 09:59:43 +0200 Subject: [PATCH 1/4] ci: Remove executing from requirements-testing.txt --- requirements-testing.txt | 1 - scripts/populate_tox/config.py | 4 ++++ scripts/populate_tox/tox.jinja | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index a6041972cd..f5df912552 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -7,7 +7,6 @@ pytest-localserver pytest-timeout pytest-watch jsonschema -executing asttokens responses pysocks diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index 317afa53ca..6753c02f4d 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -108,6 +108,7 @@ "djangorestframework", "pytest-django", "Werkzeug", + "executing", ], ">=2.0": ["channels[daphne]"], ">=2.2,<3.1": ["six"], @@ -331,6 +332,9 @@ }, "pure_eval": { "package": "pure_eval", + "deps": { + "*": ["executing"], + }, "num_versions": 2, }, "pydantic_ai": { diff --git a/scripts/populate_tox/tox.jinja b/scripts/populate_tox/tox.jinja index 40426d30fb..887f310289 100644 --- a/scripts/populate_tox/tox.jinja +++ b/scripts/populate_tox/tox.jinja @@ -79,6 +79,7 @@ deps = # === Common === py3.8-common: hypothesis + common: executing common: pytest-asyncio common: httpcore[asyncio] # See https://github.com/pytest-dev/pytest/issues/9621 From f2ef8fdf1632b584bcbec1909953d205570d0c71 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Mon, 22 Jun 2026 10:25:00 +0200 Subject: [PATCH 2/4] . --- tox.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tox.ini b/tox.ini index e91115d32e..950e487283 100644 --- a/tox.ini +++ b/tox.ini @@ -402,6 +402,7 @@ deps = # === Common === py3.8-common: hypothesis + common: executing common: pytest-asyncio common: httpcore[asyncio] # See https://github.com/pytest-dev/pytest/issues/9621 @@ -12198,6 +12199,7 @@ deps = django: djangorestframework django: pytest-django django: Werkzeug + django: executing django-v2.2.28: channels[daphne] django-v3.2.25: channels[daphne] django-v4.2.30: channels[daphne] @@ -13859,6 +13861,7 @@ deps = pure_eval-latest: pure_eval==0.2.3 + pure_eval: executing trytond-v4.6.22: trytond==4.6.22 From bc728ef3e7dec09195ebdda55729076ff2c977bf Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Mon, 22 Jun 2026 10:44:11 +0200 Subject: [PATCH 3/4] . --- scripts/populate_tox/tox.jinja | 1 + tox.ini | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/populate_tox/tox.jinja b/scripts/populate_tox/tox.jinja index 887f310289..f11a903266 100644 --- a/scripts/populate_tox/tox.jinja +++ b/scripts/populate_tox/tox.jinja @@ -98,6 +98,7 @@ deps = # for justification of the upper bound on pytest {py3.6,py3.7}-gevent: pytest<7.0.0 {py3.8,py3.9,py3.10,py3.11,py3.12}-gevent: pytest + gevent: executing gevent: pytest-asyncio gevent: setuptools<82 {py3.10,py3.11}-gevent: zope.event<5.0.0 diff --git a/tox.ini b/tox.ini index 950e487283..5c72f2399a 100644 --- a/tox.ini +++ b/tox.ini @@ -421,6 +421,7 @@ deps = # for justification of the upper bound on pytest {py3.6,py3.7}-gevent: pytest<7.0.0 {py3.8,py3.9,py3.10,py3.11,py3.12}-gevent: pytest + gevent: executing gevent: pytest-asyncio gevent: setuptools<82 {py3.10,py3.11}-gevent: zope.event<5.0.0 From 9f19f372b7d9c93a2fe6b71b86307d1a19c79102 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Mon, 22 Jun 2026 10:51:57 +0200 Subject: [PATCH 4/4] . --- sentry_sdk/integrations/executing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sentry_sdk/integrations/executing.py b/sentry_sdk/integrations/executing.py index cd31fcff96..4473fcc435 100644 --- a/sentry_sdk/integrations/executing.py +++ b/sentry_sdk/integrations/executing.py @@ -11,7 +11,7 @@ from sentry_sdk._types import Event, Hint try: - import executing + from executing import Source except ImportError: raise DidNotEnable("executing is not installed") @@ -60,7 +60,7 @@ def add_executing_info( for sentry_frame, tb in zip(sentry_frames, tbs): frame = tb.tb_frame - source = executing.Source.for_frame(frame) + source = Source.for_frame(frame) sentry_frame["function"] = source.code_qualname(frame.f_code) return event