Skip to content

feat(api): Add top-level set_attributes API - #6897

Merged
sentrivana merged 4 commits into
masterfrom
ivana/add-set-attributes-top-level-api
Jul 28, 2026
Merged

feat(api): Add top-level set_attributes API#6897
sentrivana merged 4 commits into
masterfrom
ivana/add-set-attributes-top-level-api

Conversation

@sentrivana

@sentrivana sentrivana commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Description

Streamed spans have both a set_attribute as well as a set_attributes API.

On the top level, for setting attributes on the scope, we only have set_attribute. This is a bit confusing.

Align the two APIs by adding the missing top-level set_attributes.

See also dev docs.

Issues

Reminders

Comment thread sentry_sdk/api.py
Comment thread sentry_sdk/api.py
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Codecov Results 📊

98741 passed | ⏭️ 6806 skipped | Total: 105547 | Pass Rate: 93.55% | Execution Time: 351m 23s

📊 Comparison with Base Branch

Metric Change
Total Tests
Passed Tests
Failed Tests
Skipped Tests

✨ No test changes detected

All tests are passing successfully.

✅ Patch coverage is 100.00%. Project has 2561 uncovered lines.
✅ Project coverage is 89.56%. Comparing base (base) to head (head).

Coverage diff
@@            Coverage Diff             @@
##          main       #PR       +/-##
==========================================
+ Coverage    89.55%    89.56%    +0.01%
==========================================
  Files          193       193         —
  Lines        24514     24520        +6
  Branches      8674      8676        +2
==========================================
+ Hits         21952     21959        +7
- Misses        2562      2561        -1
- Partials      1402      1401        -1

Generated by Codecov Action

@sentrivana
sentrivana marked this pull request as ready for review July 28, 2026 08:25
@sentrivana
sentrivana requested a review from a team as a code owner July 28, 2026 08:25
Comment thread sentry_sdk/api.py


@scopemethod
def set_attributes(attributes: "dict[str, Any]") -> None:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The type on set_attribute() is broader then Scope.set_attribute() as well

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yup just mirrored set_attribute here

@sentrivana
sentrivana merged commit 8cc03fd into master Jul 28, 2026
271 of 273 checks passed
@sentrivana
sentrivana deleted the ivana/add-set-attributes-top-level-api branch July 28, 2026 08:54
mgaligniana pushed a commit to mgaligniana/sentry-python that referenced this pull request Aug 9, 2026
### Description
Streamed spans have both a `set_attribute` as well as a `set_attributes`
API.

On the top level, for setting attributes on the scope, we only have
`set_attribute`. This is a bit confusing.

Align the two APIs by adding the missing top-level `set_attributes`.

See also [dev
docs](https://develop.sentry.dev/sdk/foundations/state-management/scopes/attributes/#python).

#### Issues
<!--
* resolves: getsentry#1234
* resolves: LIN-1234
-->

#### Reminders
- Please add tests to validate your changes, and lint your code using
`uv run ruff`.
- 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants