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