forked from pool/python-sentry-sdk
- Update to 2.39.0
* Fix incompatibility with new Strawberry version * Add failed_request_status_codes to Litestar * The enable_tracing option is now deprecated. Please use traces_sample_rate instead * Add Statsig integration * Fix(asyncio): Improve asyncio integration error handling * Fix memory leak by not piling up breadcrumbs forever in Spark workers * New Beta Feature Enable Sentry logs in logging Integration * Change CODEOWNERS back to Python SDK owners * Deprecate set_measurement() API * Allow configuring keep_alive via environment variable * Sentry logs for Loguru * Fix CI, adapt to new redis-py release * Add support for openai-agents * Add top-level start- and end session methods * Use span.data instead of measurements for token usage * Considerably raise DEFAULT_MAX_VALUE_LENGTH * The OpenAIIntegration now supports OpenAI Responses API * The data captured will also show up in the new AI Agents Dashboard * Langchain and Anthropic Integration now support the Sentry AI dashboard * Add the unraisable exception integration * Add support for langgraph * Many more fixes and improvements, see upstream changelog * Note: This is my last release. So long, and thanks for all the fish! by @antonpirker - Add upstream release.patch to fix failing test OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sentry-sdk?expand=0&rev=91
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.osc
|
||||||
1439
python-sentry-sdk.changes
Normal file
1439
python-sentry-sdk.changes
Normal file
File diff suppressed because it is too large
Load Diff
175
python-sentry-sdk.spec
Normal file
175
python-sentry-sdk.spec
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
#
|
||||||
|
# spec file for package python-sentry-sdk
|
||||||
|
#
|
||||||
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# nothing provides python2-venusian >= 1.0 needed by python2-pyramid
|
||||||
|
%{?sle15_python_module_pythons}
|
||||||
|
Name: python-sentry-sdk
|
||||||
|
Version: 2.39.0
|
||||||
|
Release: 0
|
||||||
|
Summary: Python SDK for Sentry.io
|
||||||
|
License: BSD-2-Clause
|
||||||
|
URL: https://github.com/getsentry/sentry-python
|
||||||
|
Source0: https://github.com/getsentry/sentry-python/archive/%{version}/sentry-python-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM https://github.com/getsentry/sentry-python/pull/4879 fix(tests): Don't assume release is set
|
||||||
|
Patch: release.patch
|
||||||
|
BuildRequires: %{python_module Django >= 2.0}
|
||||||
|
BuildRequires: %{python_module Flask >= 1.0}
|
||||||
|
BuildRequires: %{python_module MarkupSafe}
|
||||||
|
BuildRequires: %{python_module SQLAlchemy >= 1.2}
|
||||||
|
BuildRequires: %{python_module aiohttp >= 3.5}
|
||||||
|
BuildRequires: %{python_module asttokens}
|
||||||
|
BuildRequires: %{python_module asyncpg >= 0.23}
|
||||||
|
BuildRequires: %{python_module base >= 3.6}
|
||||||
|
BuildRequires: %{python_module blinker >= 1.1}
|
||||||
|
BuildRequires: %{python_module bottle >= 0.12.13}
|
||||||
|
BuildRequires: %{python_module celery >= 4}
|
||||||
|
BuildRequires: %{python_module certifi}
|
||||||
|
BuildRequires: %{python_module executing}
|
||||||
|
BuildRequires: %{python_module falcon >= 1.4}
|
||||||
|
BuildRequires: %{python_module grpcio >= 1.39}
|
||||||
|
BuildRequires: %{python_module httpx >= 0.16.0}
|
||||||
|
BuildRequires: %{python_module loguru >= 0.5}
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module pymongo >= 3.1}
|
||||||
|
BuildRequires: %{python_module rq >= 0.6}
|
||||||
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module starlette >= 0.19.1}
|
||||||
|
BuildRequires: %{python_module tornado >= 6}
|
||||||
|
BuildRequires: %{python_module urllib3 >= 1.26.11}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
# SECTION test requirements
|
||||||
|
BuildRequires: %{python_module Brotli}
|
||||||
|
BuildRequires: %{python_module PySocks}
|
||||||
|
BuildRequires: %{python_module Werkzeug}
|
||||||
|
BuildRequires: %{python_module eventlet}
|
||||||
|
BuildRequires: %{python_module fastapi >= 0.79.0}
|
||||||
|
BuildRequires: %{python_module gevent}
|
||||||
|
BuildRequires: %{python_module greenlet}
|
||||||
|
BuildRequires: %{python_module h2}
|
||||||
|
BuildRequires: %{python_module hypothesis}
|
||||||
|
BuildRequires: %{python_module jsonschema >= 3.2.0}
|
||||||
|
BuildRequires: %{python_module pyramid}
|
||||||
|
BuildRequires: %{python_module pyrsistent >= 0.16.0}
|
||||||
|
BuildRequires: %{python_module pytest-asyncio}
|
||||||
|
BuildRequires: %{python_module pytest-cov >= 2.8.1}
|
||||||
|
BuildRequires: %{python_module pytest-forked >= 1.4.0}
|
||||||
|
BuildRequires: %{python_module pytest-localserver >= 0.5.1}
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
|
BuildRequires: %{python_module responses}
|
||||||
|
# /SECTION
|
||||||
|
# SECTION test requirements - which rise up buildtime error or missing in openSUSE
|
||||||
|
#BuildRequires: %%{python_module pytest-watch >= 4.2.0}
|
||||||
|
# /SECTION
|
||||||
|
# SECTION extra requirements - which rise up buildtime error or missing in openSUSE
|
||||||
|
#BuildRequires: %%{python_module arq >= 0.23}
|
||||||
|
#BuildRequires: %%{python_module pyspark >= 2.4.4}
|
||||||
|
#BuildRequires: %%{python_module apache-beam >= 2.12}
|
||||||
|
#BuildRequires: %%{python_module huey >= 2}
|
||||||
|
#BuildRequires: %%{python_module pure_eval}
|
||||||
|
#BuildRequires: %%{python_module chalice >= 1.16.0}
|
||||||
|
#BuildRequires: %%{python_module starlite >= 1.48}
|
||||||
|
#BuildRequires: %%{python_module quart >= 0.16.1}
|
||||||
|
#BuildRequires: %%{python_module sanic >= 0.8}
|
||||||
|
#BuildRequires: %%{python_module opentelemetry-distro >= 0.40b0}
|
||||||
|
#BuildRequires: %%{python_module beam >= 2.12}
|
||||||
|
#BuildRequires: %%{python_module chalice >= 1.16.0}
|
||||||
|
#BuildRequires: %%{python_module clickhouse-driver >= 0.2.0}
|
||||||
|
# /SECTION
|
||||||
|
# Install requirements
|
||||||
|
Requires: python-certifi
|
||||||
|
Requires: python-urllib3 >= 1.26.11
|
||||||
|
# Extra requirements
|
||||||
|
Suggests: python-Django >= 2.0
|
||||||
|
Suggests: python-Flask >= 1.0
|
||||||
|
Suggests: python-MarkupSafe
|
||||||
|
Suggests: python-SQLAlchemy >= 1.2
|
||||||
|
Suggests: python-aiohttp >= 3.5
|
||||||
|
Suggests: python-asttokens
|
||||||
|
Suggests: python-asyncpg >= 0.23
|
||||||
|
Suggests: python-blinker >= 1.1
|
||||||
|
Suggests: python-bottle >= 0.12.13
|
||||||
|
Suggests: python-celery >= 4
|
||||||
|
Suggests: python-executing
|
||||||
|
Suggests: python-falcon >= 1.4
|
||||||
|
Suggests: python-fastapi >= 0.79.0
|
||||||
|
Suggests: python-grpcio >= 1.39
|
||||||
|
Suggests: python-httpx >= 0.16.0
|
||||||
|
Suggests: python-jsonschema
|
||||||
|
Suggests: python-loguru >= 0.5
|
||||||
|
Suggests: python-pymongo >= 3.1
|
||||||
|
Suggests: python-rq >= 0.6
|
||||||
|
Suggests: python-starlette >= 0.19.1
|
||||||
|
Suggests: python-tornado >= 6
|
||||||
|
Suggests: python-h2
|
||||||
|
# SECTION extra requirements - which rise up buildtime error or missing in openSUSE
|
||||||
|
#Requires: python-sanic >= 0.8
|
||||||
|
#Requires: python-apache-beam >= 2.12
|
||||||
|
#Requires: python-huey >= 2
|
||||||
|
#Requires: python-arq >= 0.23
|
||||||
|
#Requires: python-pyspark >= 2.4.4
|
||||||
|
#Requires: python-pure_eval
|
||||||
|
#Requires: python-chalice >= 1.16.0
|
||||||
|
#Requires: python-starlite >= 1.48
|
||||||
|
#Requires: python-quart >= 0.16.1
|
||||||
|
#Requires: python-sanic >= 0.8
|
||||||
|
#Requires: python-opentelemetry-distro >= 0.40b0
|
||||||
|
#Requires: python- beam >= 2.12}
|
||||||
|
#Requires: python-chalice >= 1.16.0}
|
||||||
|
#Requires: python-clickhouse-driver >= 0.2.0}
|
||||||
|
#Requires: python-fastapi >= 0.79.0}
|
||||||
|
# /SECTION
|
||||||
|
BuildArch: noarch
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
A Python SDK for Sentry.io.
|
||||||
|
https://sentry.io/for/python/
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n sentry-python-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
# Fix python-bytecode-inconsistent-mtime
|
||||||
|
pushd %{buildroot}%{python_sitelib}
|
||||||
|
find . -name '*.pyc' -exec rm -f '{}' ';'
|
||||||
|
python%python_bin_suffix -m compileall *.py ';'
|
||||||
|
popd
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
|
%check
|
||||||
|
export PYTEST_ADDOPTS="-W ignore::DeprecationWarning"
|
||||||
|
export DJANGO_SETTINGS_MODULE=tests.conftest
|
||||||
|
# do not test integration (many package are missing at SUSE):
|
||||||
|
rm -r tests/integrations
|
||||||
|
IGNORED_CHECKS="(test_default_release and test_utils)"
|
||||||
|
IGNORED_CHECKS="${IGNORED_CHECKS} or test_socks_proxy or test_datetime_from_isoformat"
|
||||||
|
%pytest -rs -k "not (${IGNORED_CHECKS})"
|
||||||
|
|
||||||
|
%files %{python_files}
|
||||||
|
%doc README.md CHANGELOG.md CONTRIBUTING.md
|
||||||
|
%license LICENSE
|
||||||
|
%{python_sitelib}/sentry_sdk
|
||||||
|
%{python_sitelib}/sentry_sdk-%{version}.dist-info
|
||||||
|
|
||||||
|
%changelog
|
||||||
48
release.patch
Normal file
48
release.patch
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
From f3e8a5ccd0a341cf139f474856163f0e5335741c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ivana Kellyer <ivana.kellyer@sentry.io>
|
||||||
|
Date: Fri, 3 Oct 2025 08:40:35 +0200
|
||||||
|
Subject: [PATCH] fix(tests): Don't assume release is set (#4879)
|
||||||
|
|
||||||
|
### Description
|
||||||
|
Even though we try to figure out the current release automatically if
|
||||||
|
it's not provided, it can still end up being `None`. If that's the case,
|
||||||
|
it won't be attached to logs. The `test_logs_attributes` test assumes
|
||||||
|
there always is a release, which is incorrect.
|
||||||
|
|
||||||
|
I opted for conditionally checking for `sentry.release` in the test
|
||||||
|
instead of removing the check altogether, even though the test itself is
|
||||||
|
supposed to test custom user provided attributes. The reason is that
|
||||||
|
there is no other generic logs test testing `sentry.release`.
|
||||||
|
|
||||||
|
#### Issues
|
||||||
|
Closes https://github.com/getsentry/sentry-python/issues/4878
|
||||||
|
|
||||||
|
#### Reminders
|
||||||
|
- Please add tests to validate your changes, and lint your code using
|
||||||
|
`tox -e linters`.
|
||||||
|
- Add GH Issue ID _&_ Linear ID (if applicable)
|
||||||
|
- PR title should use [conventional
|
||||||
|
commit](https://develop.sentry.dev/engineering-practices/commit-messages/#type)
|
||||||
|
style (`feat:`, `fix:`, `ref:`, `meta:`)
|
||||||
|
- For external contributors:
|
||||||
|
[CONTRIBUTING.md](https://github.com/getsentry/sentry-python/blob/master/CONTRIBUTING.md),
|
||||||
|
[Sentry SDK development docs](https://develop.sentry.dev/sdk/), [Discord
|
||||||
|
community](https://discord.gg/Ww9hbqr)
|
||||||
|
---
|
||||||
|
tests/test_logs.py | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test_logs.py b/tests/test_logs.py
|
||||||
|
index 596a31922e..1e252c5bfb 100644
|
||||||
|
--- a/tests/test_logs.py
|
||||||
|
+++ b/tests/test_logs.py
|
||||||
|
@@ -230,7 +230,8 @@ def test_logs_attributes(sentry_init, capture_envelopes):
|
||||||
|
for k, v in attrs.items():
|
||||||
|
assert logs[0]["attributes"][k] == v
|
||||||
|
assert logs[0]["attributes"]["sentry.environment"] == "production"
|
||||||
|
- assert "sentry.release" in logs[0]["attributes"]
|
||||||
|
+ if sentry_sdk.get_client().options.get("release") is not None:
|
||||||
|
+ assert "sentry.release" in logs[0]["attributes"]
|
||||||
|
assert logs[0]["attributes"]["sentry.message.parameter.my_var"] == "some value"
|
||||||
|
assert logs[0]["attributes"][SPANDATA.SERVER_ADDRESS] == "test-server"
|
||||||
|
assert logs[0]["attributes"]["sentry.sdk.name"].startswith("sentry.python")
|
||||||
3
sentry-python-2.20.0.tar.gz
Normal file
3
sentry-python-2.20.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fdd3ca2d0db684d315ad07e5e5f023fb9565df0407ab6770a2ee05ceb2e840fb
|
||||||
|
size 597011
|
||||||
3
sentry-python-2.39.0.tar.gz
Normal file
3
sentry-python-2.39.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c21d07e1d1f1dbba3887678f3711e43987bfc30c12e5e42a4c1db443bd8fbc50
|
||||||
|
size 746737
|
||||||
Reference in New Issue
Block a user