Skip to content

chore: apply fixes for UP ruff rule#5133

Merged
lzchen merged 19 commits into
open-telemetry:mainfrom
emdneto:up-ruff-rule
May 7, 2026
Merged

chore: apply fixes for UP ruff rule#5133
lzchen merged 19 commits into
open-telemetry:mainfrom
emdneto:up-ruff-rule

Conversation

@emdneto
Copy link
Copy Markdown
Member

@emdneto emdneto commented Apr 21, 2026

Description


opentelemetry._logs._internal.LogRecord:1:more than one target located for cross-referencing 'Context': opentelemetry.context.Context, opentelemetry.context.context.Context

99% of the changes were made by ruff with ruff check --fix. The agent removed the unused imports and fixed minor issues.

Fixes #4227

This is important to make our codebase updated with the most recent supported syntax.

Assisted-by: Copilot

@emdneto emdneto requested a review from a team as a code owner April 21, 2026 22:42
@DylanRussell
Copy link
Copy Markdown
Contributor

nice. couple failed CI checks but otherwise LGTM

@github-project-automation github-project-automation Bot moved this to Approved PRs in Python PR digest Apr 22, 2026
@emdneto emdneto moved this from Approved PRs to Ready for review in Python PR digest Apr 22, 2026
Copy link
Copy Markdown
Member Author

@emdneto emdneto left a comment

Choose a reason for hiding this comment

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

Note for manual changes i've done in 6051e44 and 874317d to make CI pass

@emdneto emdneto added the Approve Public API check This label shows that the public symbols added or changed in a PR are strictly necessary label Apr 22, 2026
Copy link
Copy Markdown
Member

@MikeGoldsmith MikeGoldsmith left a comment

Choose a reason for hiding this comment

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

Looks good. Some linter checks failed that will need to be cleaned up.

Comment thread CHANGELOG.md Outdated
@MikeGoldsmith MikeGoldsmith moved this from Ready for review to Approved PRs in Python PR digest Apr 27, 2026
@DylanRussell
Copy link
Copy Markdown
Contributor

If you have time I think we could do the same thing in the contrib repo: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/pyproject.toml#L162

@emdneto
Copy link
Copy Markdown
Member Author

emdneto commented Apr 27, 2026

If you have time I think we could do the same thing in the contrib repo: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/pyproject.toml#L162

That's the plan after getting this merged

@emdneto emdneto changed the title Apply fixes for UP ruff rule chore: apply fixes for UP ruff rule May 6, 2026
@xrmx xrmx moved this from Approved PRs to Ready for merge in Python PR digest May 7, 2026
@emdneto
Copy link
Copy Markdown
Member Author

emdneto commented May 7, 2026

Answering the question from today's SIG: is it safe for downstream typecheckers? E.g. Typing -> collections.abc

I wrote this PoC:

//lib_sdk.py

from collections.abc import Callable


def parse_value(v: str | int) -> str: return str(v)
def run_callback(cb: Callable[[str], int]) -> int: return cb("hi")

//downstream.py

from typing import Callable, Union

from lib_sdk import parse_value, run_callback

value: Union[str, int] = parse_value("abc")

def cb(s: str) -> int: return len(s)
old_cb: Callable[[str], int] = cb
run_callback(old_cb)

And later:

pyright --pythonversion 3.10 downstream.py
0 errors, 0 warnings, 0 informations

cc @xrmx

@lzchen lzchen enabled auto-merge (squash) May 7, 2026 17:54
@lzchen lzchen merged commit 57fe0c1 into open-telemetry:main May 7, 2026
465 checks passed
@github-project-automation github-project-automation Bot moved this from Ready for merge to Done in Python PR digest May 7, 2026
raajheshkannaa added a commit to raajheshkannaa/opentelemetry-python that referenced this pull request May 8, 2026
Submodule .rst files were removed in open-telemetry#5133. This was missed during the
prior merge.

Reviewed-by: Leighton Chen
raajheshkannaa added a commit to raajheshkannaa/opentelemetry-python that referenced this pull request May 17, 2026
Submodule .rst files were removed in open-telemetry#5133. This was missed during the
prior merge.

Reviewed-by: Leighton Chen
herin049 pushed a commit to herin049/opentelemetry-python that referenced this pull request May 20, 2026
…ry#5017)

* docs: add missing modules to sphinx documentation build

Add RST files and toctree entries for modules that were not included
in the sphinx doc build:

API:
- opentelemetry._events (Events API)
- opentelemetry.attributes (Attributes utilities)
- opentelemetry.trace.propagation (Trace context propagation)

SDK:
- opentelemetry.sdk._events (Events SDK implementation)
- opentelemetry.sdk._logs.export (Log export processors and exporters)

Closes open-telemetry#2573

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>

* fix: add Event class to nitpick_ignore for sphinx docs build

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>

* fix: add changelog entry and nitpick_ignore for get_finished_logs

Add CHANGELOG entry for the docs PR and suppress the Sphinx
cross-reference warning for get_finished_logs (referenced as :func:
in a docstring we did not modify).

* fix: add Token class to nitpick_ignore for sphinx docs build

* address review: remove events API, fix get_finished_logs xref, move changelog

- Remove docs/api/_events.rst and docs/sdk/_events.rst (events API is
  deprecated per MikeGoldsmith, avoid exposing it in docs).
- Remove _events entries from api/index.rst and sdk/index.rst toctrees.
- Drop Event class nitpick_ignore entry (no longer needed).
- Fix docstring cross-reference on InMemoryLogRecordExporter from :func:
  to :meth: since get_finished_logs is a method, and drop its
  nitpick_ignore entry.
- Move changelog entry from 1.41.0/0.62b0 to Unreleased.

* docs: remove trace.propagation.rst per maintainer review

Submodule .rst files were removed in open-telemetry#5133. This was missed during the
prior merge.

Reviewed-by: Leighton Chen

* docs: re-export AnyValue from attributes module for sphinx forward-ref resolution

sphinx_autodoc_typehints calls get_type_hints on BoundedAttributes,
which uses _ExtendedAttributes (Mapping[str, 'AnyValue']) from util.types.
The forward ref to 'AnyValue' resolves in BoundedAttributes' __globals__
(the attributes module), not in util.types where it is defined.
Re-export AnyValue into the attributes module namespace so the
forward ref resolves and the docs build succeeds.

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>

* docs: use explicit re-export for AnyValue (fix ruff)

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>

* docs: use __all__ for AnyValue re-export to satisfy both pylint and ruff

* docs: inject AnyValue into attributes namespace via conf.py instead of re-exporting

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>

* docs: migrate changelog entry to towncrier fragment

Address @emdneto's feedback: replace direct CHANGELOG.md edit with a
.changelog/5017.fixed fragment per the new towncrier workflow added in

* docs: drop dead trace toctree (no trace.{status,span,propagation}.rst exist)

The Submodules toctree referenced files that were never added in this PR and trace.propagation.rst was removed earlier per review. Sphinx -W treats the missing toctree target as a warning-as-error, breaking the docs build.

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>

---------

Signed-off-by: Raajhesh Kannaa Chidambaram <[email protected]>
Co-authored-by: Raajhesh Kannaa Chidambaram <[email protected]>
Co-authored-by: Leighton Chen <[email protected]>
Co-authored-by: Emídio Neto <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approve Public API check This label shows that the public symbols added or changed in a PR are strictly necessary

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add more rules to ruff linter

5 participants