Skip to content

typing: remove metrics query_builder from untyped module list - #119296

Draft
cursor[bot] wants to merge 1 commit into
masterfrom
cursor/untyped-module-cleanup-44ff
Draft

typing: remove metrics query_builder from untyped module list#119296
cursor[bot] wants to merge 1 commit into
masterfrom
cursor/untyped-module-cleanup-44ff

Conversation

@cursor

@cursor cursor Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • remove sentry.snuba.metrics.query_builder from the tool.mypy.overrides "sentry modules with typing issues" list in pyproject.toml
  • fix all strict typing issues in src/sentry/snuba/metrics/query_builder.py so it type-checks without the override
  • add targeted type-narrowing/casting for MetricOperationType, MetricOperationParams, action-by field handling, and derived metric key typing

Testing

  • PATH="/workspace/.venv/bin:$PATH" .venv/bin/python -m tools.mypy_helpers.mypy_without_ignores src/sentry/snuba/metrics/query_builder.py
  • .venv/bin/mypy src/sentry/snuba/metrics/query_builder.py
  • .venv/bin/prek run mypy --files src/sentry/snuba/metrics/query_builder.py --stage pre-push
  • .venv/bin/prek run ruff-check --files src/sentry/snuba/metrics/query_builder.py
  • make test-selective (fails in this environment: gcloud is not installed)
  • SENTRY_SKIP_SERVICE_VALIDATION=1 .venv/bin/pytest -n3 -svv --reuse-db tests/sentry/snuba/metrics/test_query_builder.py (fails in this environment: Redis/Docker services unavailable, connection refused to localhost:6379)

@armenzg could you please review this draft PR?

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

Open in Web View Automation 

Co-authored-by: Armen Zambrano G. <armenzg@users.noreply.github.com>
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant