pyproject.toml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  1. [tool.black]
  2. # File filtering is taken care of in pre-commit.
  3. line-length = 100
  4. target-version = ['py312']
  5. [tool.isort]
  6. profile = "black"
  7. line_length = 100
  8. lines_between_sections = 1
  9. known_first_party = "sentry"
  10. skip = "migrations"
  11. [tool.pytest.ini_options]
  12. python_files = "test_*.py sentry/testutils/*"
  13. # note: When updating the traceback format, make sure to update .github/pytest.json
  14. # We don't use the celery pytest plugin.
  15. addopts = "--tb=short -p no:celery --nomigrations"
  16. # TODO: --import-mode=importlib will become the default soon,
  17. # currently we have a few relative imports that don't work with that.
  18. markers = [
  19. "snuba: test requires access to snuba",
  20. "snuba_ci: test is run in snuba ci",
  21. "sentry_metrics: test requires access to sentry metrics",
  22. "symbolicator: test requires access to symbolicator",
  23. "querybuilder: smoke tests for QueryBuilders",
  24. ]
  25. filterwarnings = [
  26. # Consider all warnings to be errors other than the ignored ones.
  27. "error",
  28. # phabricator uses `pkg_resources` apis
  29. "ignore:pkg_resources is deprecated as an API",
  30. # this warning in protobuf causes a segfault in 3.12+ protocolbuffers/protobuf#15077
  31. "ignore:Type google\\._upb.*",
  32. # TODO: we should fix these, but for now there's a lot
  33. "ignore:datetime.datetime.utcfromtimestamp\\(\\) is deprecated.*",
  34. "ignore:datetime.datetime.utcnow\\(\\) is deprecated.*",
  35. # The following warning filters are for pytest only.
  36. "ignore:.*sentry.digests.backends.dummy.DummyBackend.*:sentry.utils.warnings.UnsupportedBackend",
  37. # pytest has not yet implemented the replacement for this yet
  38. "ignore:The --looponfail command line argument.*",
  39. ]
  40. looponfailroots = ["src", "tests"]
  41. [tool.mypy]
  42. python_version = "3.12"
  43. mypy_path = ["fixtures/stubs-for-mypy"]
  44. plugins = [
  45. "pydantic.mypy",
  46. "mypy_django_plugin.main",
  47. "tools.mypy_helpers.plugin",
  48. ]
  49. files = ["."]
  50. exclude = ["^.venv/", "^venv/", "^self-hosted/"]
  51. # minimal strictness settings
  52. check_untyped_defs = true
  53. no_implicit_reexport = true
  54. warn_unreachable = true
  55. warn_unused_configs = true
  56. warn_unused_ignores = true
  57. warn_redundant_casts = true
  58. enable_error_code = ["ignore-without-code", "redundant-self"]
  59. [tool.django-stubs]
  60. django_settings_module = "sentry.conf.server_mypy"
  61. # these have py.typed but incorrect types
  62. [[tool.mypy.overrides]]
  63. module = [
  64. # TODO: these cause type errors when followed
  65. "snuba_sdk.*",
  66. ]
  67. follow_imports = "skip"
  68. # python3 -m tools.mypy_helpers.make_stub_ignores
  69. # begin: missing 3rd party stubs
  70. # - add .pyi files to fixtures/stubs-for-mypy
  71. # - or find a 3rd party stub
  72. [[tool.mypy.overrides]]
  73. module = [
  74. "boto3.*",
  75. "botocore.client.*",
  76. "botocore.exceptions.*",
  77. "celery.*",
  78. "confluent_kafka.*",
  79. "cssselect.*",
  80. "django_zero_downtime_migrations.backends.postgres.schema.*",
  81. "docker.*",
  82. "fido2.*",
  83. "google.auth.*",
  84. "google.cloud.*",
  85. "google.resumable_media.common.*",
  86. "google.rpc.status_pb2.*",
  87. "kombu.*",
  88. "mistune.*",
  89. "onelogin.saml2.auth.*",
  90. "onelogin.saml2.constants.*",
  91. "onelogin.saml2.idp_metadata_parser.*",
  92. "phabricator.*",
  93. "rb.*",
  94. "requests_oauthlib.*",
  95. "sqlparse.*",
  96. "statsd.*",
  97. "u2flib_server.model.*",
  98. "unidiff.*",
  99. ]
  100. ignore_missing_imports = true
  101. # end: missing 3rd party stubs
  102. # python3 -m tools.mypy_helpers.make_module_ignores
  103. # begin: sentry modules with typing issues
  104. # - remove the module from the list and fix the issues!
  105. # - python3 -m tools.mypy_helpers.find_easiest_modules
  106. [[tool.mypy.overrides]]
  107. module = [
  108. "sentry.api.base",
  109. "sentry.api.bases.organization_events",
  110. "sentry.api.bases.organizationmember",
  111. "sentry.api.bases.project",
  112. "sentry.api.bases.team",
  113. "sentry.api.endpoints.accept_organization_invite",
  114. "sentry.api.endpoints.auth_config",
  115. "sentry.api.endpoints.codeowners",
  116. "sentry.api.endpoints.codeowners.index",
  117. "sentry.api.endpoints.event_attachments",
  118. "sentry.api.endpoints.group_integration_details",
  119. "sentry.api.endpoints.group_integrations",
  120. "sentry.api.endpoints.index",
  121. "sentry.api.endpoints.internal.mail",
  122. "sentry.api.endpoints.organization_details",
  123. "sentry.api.endpoints.organization_events",
  124. "sentry.api.endpoints.organization_events_facets_performance",
  125. "sentry.api.endpoints.organization_events_meta",
  126. "sentry.api.endpoints.organization_events_spans_performance",
  127. "sentry.api.endpoints.organization_index",
  128. "sentry.api.endpoints.organization_issues_count",
  129. "sentry.api.endpoints.organization_member.details",
  130. "sentry.api.endpoints.organization_member.index",
  131. "sentry.api.endpoints.organization_member.requests.invite.details",
  132. "sentry.api.endpoints.organization_onboarding_continuation_email",
  133. "sentry.api.endpoints.organization_projects",
  134. "sentry.api.endpoints.organization_releases",
  135. "sentry.api.endpoints.organization_request_project_creation",
  136. "sentry.api.endpoints.organization_search_details",
  137. "sentry.api.endpoints.organization_sessions",
  138. "sentry.api.endpoints.organization_stats",
  139. "sentry.api.endpoints.project_index",
  140. "sentry.api.endpoints.project_ownership",
  141. "sentry.api.endpoints.project_release_files",
  142. "sentry.api.endpoints.project_repo_path_parsing",
  143. "sentry.api.endpoints.project_rule_preview",
  144. "sentry.api.endpoints.project_rules_configuration",
  145. "sentry.api.endpoints.project_servicehook_stats",
  146. "sentry.api.endpoints.project_transaction_names",
  147. "sentry.api.endpoints.rule_snooze",
  148. "sentry.api.endpoints.team_details",
  149. "sentry.api.endpoints.team_release_count",
  150. "sentry.api.endpoints.user_subscriptions",
  151. "sentry.api.event_search",
  152. "sentry.api.helpers.group_index.index",
  153. "sentry.api.helpers.group_index.update",
  154. "sentry.api.invite_helper",
  155. "sentry.api.issue_search",
  156. "sentry.api.paginator",
  157. "sentry.api.permissions",
  158. "sentry.api.serializers.models.auth_provider",
  159. "sentry.api.serializers.models.dashboard",
  160. "sentry.api.serializers.models.environment",
  161. "sentry.api.serializers.models.event",
  162. "sentry.api.serializers.models.group",
  163. "sentry.api.serializers.models.group_stream",
  164. "sentry.api.serializers.models.organization",
  165. "sentry.api.serializers.models.plugin",
  166. "sentry.api.serializers.models.project",
  167. "sentry.api.serializers.models.role",
  168. "sentry.api.serializers.models.rule",
  169. "sentry.api.serializers.models.team",
  170. "sentry.api.serializers.rest_framework.mentions",
  171. "sentry.api.serializers.rest_framework.notification_action",
  172. "sentry.api.serializers.rest_framework.rule",
  173. "sentry.auth.helper",
  174. "sentry.auth.provider",
  175. "sentry.auth.system",
  176. "sentry.db.mixin",
  177. "sentry.db.postgres.base",
  178. "sentry.discover.endpoints.discover_key_transactions",
  179. "sentry.eventstore.models",
  180. "sentry.grouping.strategies.legacy",
  181. "sentry.identity.bitbucket.provider",
  182. "sentry.identity.github_enterprise.provider",
  183. "sentry.identity.gitlab.provider",
  184. "sentry.identity.oauth2",
  185. "sentry.identity.pipeline",
  186. "sentry.identity.providers.dummy",
  187. "sentry.identity.slack.provider",
  188. "sentry.incidents.endpoints.bases",
  189. "sentry.incidents.endpoints.organization_alert_rule_details",
  190. "sentry.incidents.endpoints.organization_alert_rule_index",
  191. "sentry.incidents.endpoints.organization_incident_comment_details",
  192. "sentry.incidents.endpoints.organization_incident_index",
  193. "sentry.incidents.subscription_processor",
  194. "sentry.incidents.tasks",
  195. "sentry.integrations.api.bases.integration",
  196. "sentry.integrations.aws_lambda.integration",
  197. "sentry.integrations.bitbucket.client",
  198. "sentry.integrations.bitbucket.installed",
  199. "sentry.integrations.bitbucket.integration",
  200. "sentry.integrations.bitbucket.issues",
  201. "sentry.integrations.bitbucket.uninstalled",
  202. "sentry.integrations.bitbucket_server.client",
  203. "sentry.integrations.bitbucket_server.integration",
  204. "sentry.integrations.example.integration",
  205. "sentry.integrations.example.repository",
  206. "sentry.integrations.github.client",
  207. "sentry.integrations.github.integration",
  208. "sentry.integrations.github.issues",
  209. "sentry.integrations.github_enterprise.integration",
  210. "sentry.integrations.gitlab.client",
  211. "sentry.integrations.gitlab.integration",
  212. "sentry.integrations.gitlab.issues",
  213. "sentry.integrations.jira.actions.form",
  214. "sentry.integrations.jira.client",
  215. "sentry.integrations.jira.integration",
  216. "sentry.integrations.jira.views.base",
  217. "sentry.integrations.jira.webhooks.base",
  218. "sentry.integrations.jira.webhooks.issue_updated",
  219. "sentry.integrations.jira_server.client",
  220. "sentry.integrations.jira_server.integration",
  221. "sentry.integrations.metric_alerts",
  222. "sentry.integrations.msteams.actions.form",
  223. "sentry.integrations.msteams.client",
  224. "sentry.integrations.msteams.integration",
  225. "sentry.integrations.msteams.notifications",
  226. "sentry.integrations.notifications",
  227. "sentry.integrations.pagerduty.actions.form",
  228. "sentry.integrations.pagerduty.client",
  229. "sentry.integrations.pagerduty.integration",
  230. "sentry.integrations.pipeline",
  231. "sentry.integrations.slack.actions.form",
  232. "sentry.integrations.slack.integration",
  233. "sentry.integrations.slack.message_builder.notifications.issues",
  234. "sentry.integrations.slack.notifications",
  235. "sentry.integrations.slack.unfurl.discover",
  236. "sentry.integrations.slack.utils.channel",
  237. "sentry.integrations.slack.utils.users",
  238. "sentry.integrations.slack.webhooks.command",
  239. "sentry.integrations.slack.webhooks.event",
  240. "sentry.integrations.utils.commit_context",
  241. "sentry.integrations.utils.sync",
  242. "sentry.integrations.vercel.client",
  243. "sentry.integrations.vercel.integration",
  244. "sentry.integrations.vercel.webhook",
  245. "sentry.integrations.vsts.client",
  246. "sentry.integrations.vsts.integration",
  247. "sentry.integrations.vsts.issues",
  248. "sentry.integrations.vsts.repository",
  249. "sentry.integrations.vsts_extension.integration",
  250. "sentry.issues.search",
  251. "sentry.middleware.auth",
  252. "sentry.middleware.ratelimit",
  253. "sentry.middleware.superuser",
  254. "sentry.models.organizationaccessrequest",
  255. "sentry.monitors.consumers.monitor_consumer",
  256. "sentry.monitors.endpoints.base",
  257. "sentry.monitors.endpoints.monitor_ingest_checkin_attachment",
  258. "sentry.monitors.endpoints.organization_monitor_index",
  259. "sentry.net.http",
  260. "sentry.net.socket",
  261. "sentry.notifications.notifications.activity.base",
  262. "sentry.notifications.notifications.activity.release",
  263. "sentry.notifications.notifications.integration_nudge",
  264. "sentry.pipeline.base",
  265. "sentry.pipeline.views.base",
  266. "sentry.pipeline.views.nested",
  267. "sentry.plugins.bases.data_forwarding",
  268. "sentry.plugins.bases.issue",
  269. "sentry.plugins.bases.issue2",
  270. "sentry.plugins.bases.notify",
  271. "sentry.plugins.config",
  272. "sentry.plugins.endpoints",
  273. "sentry.receivers.releases",
  274. "sentry.release_health.metrics_sessions_v2",
  275. "sentry.replays.endpoints.project_replay_clicks_index",
  276. "sentry.replays.lib.query",
  277. "sentry.rules.actions.integrations.base",
  278. "sentry.rules.actions.integrations.create_ticket.form",
  279. "sentry.rules.actions.integrations.create_ticket.utils",
  280. "sentry.rules.filters.assigned_to",
  281. "sentry.rules.history.preview",
  282. "sentry.scim.endpoints.members",
  283. "sentry.scim.endpoints.teams",
  284. "sentry.scim.endpoints.utils",
  285. "sentry.search.events.builder.errors",
  286. "sentry.search.events.builder.metrics",
  287. "sentry.search.events.datasets.discover",
  288. "sentry.search.events.datasets.filter_aliases",
  289. "sentry.search.events.datasets.function_aliases",
  290. "sentry.search.events.datasets.metrics",
  291. "sentry.search.events.datasets.metrics_layer",
  292. "sentry.search.events.fields",
  293. "sentry.search.events.filter",
  294. "sentry.search.snuba.executors",
  295. "sentry.search.utils",
  296. "sentry.sentry_apps.installations",
  297. "sentry.sentry_metrics.indexer.postgres.postgres_v2",
  298. "sentry.shared_integrations.client.proxy",
  299. "sentry.snuba.errors",
  300. "sentry.snuba.issue_platform",
  301. "sentry.snuba.metrics.datasource",
  302. "sentry.snuba.metrics.fields.base",
  303. "sentry.snuba.metrics.query_builder",
  304. "sentry.snuba.sessions_v2",
  305. "sentry.snuba.spans_indexed",
  306. "sentry.snuba.spans_metrics",
  307. "sentry.tagstore.snuba.backend",
  308. "sentry.tagstore.types",
  309. "sentry.tasks.auth",
  310. "sentry.tasks.base",
  311. "sentry.testutils.cases",
  312. "sentry.testutils.fixtures",
  313. "sentry.testutils.helpers.notifications",
  314. "sentry.utils.auth",
  315. "sentry.utils.committers",
  316. "sentry.utils.services",
  317. "sentry.web.forms.accounts",
  318. "sentry.web.frontend.auth_login",
  319. "sentry.web.frontend.auth_organization_login",
  320. "sentry.web.frontend.base",
  321. "sentry.web.frontend.oauth_authorize",
  322. "sentry.web.frontend.oauth_token",
  323. "sentry.web.frontend.react_page",
  324. "sentry.web.frontend.setup_wizard",
  325. "sentry.web.frontend.shared_group_details",
  326. "sentry.web.frontend.twofactor",
  327. "sentry_plugins.bitbucket.client",
  328. "sentry_plugins.bitbucket.mixins",
  329. "sentry_plugins.github.plugin",
  330. "sentry_plugins.jira.plugin",
  331. "tests.sentry.api.bases.test_organization",
  332. "tests.sentry.api.bases.test_project",
  333. "tests.sentry.api.bases.test_team",
  334. "tests.sentry.api.endpoints.notifications.test_notification_actions_details",
  335. "tests.sentry.api.endpoints.notifications.test_notification_actions_index",
  336. "tests.sentry.api.endpoints.test_event_attachment_details",
  337. "tests.sentry.api.helpers.test_group_index",
  338. "tests.sentry.api.test_authentication",
  339. "tests.sentry.api.test_base",
  340. "tests.sentry.api.test_event_search",
  341. "tests.sentry.eventstore.test_base",
  342. "tests.sentry.issues.test_utils",
  343. ]
  344. disable_error_code = [
  345. "arg-type",
  346. "assignment",
  347. "attr-defined",
  348. "call-arg",
  349. "call-overload",
  350. "dict-item",
  351. "index",
  352. "misc",
  353. "operator",
  354. "override",
  355. "return-value",
  356. "typeddict-item",
  357. "typeddict-unknown-key",
  358. "union-attr",
  359. "unreachable",
  360. "var-annotated",
  361. ]
  362. # end: sentry modules with typing issues
  363. # begin: stronger typing
  364. [[tool.mypy.overrides]]
  365. module = [
  366. "sentry.api.endpoints.project_backfill_similar_issues_embeddings_records",
  367. "sentry.api.helpers.deprecation",
  368. "sentry.api.helpers.source_map_helper",
  369. "sentry.auth.services.*",
  370. "sentry.auth.view",
  371. "sentry.buffer.*",
  372. "sentry.build.*",
  373. "sentry.db.models.fields.citext",
  374. "sentry.db.models.fields.foreignkey",
  375. "sentry.db.models.fields.hybrid_cloud_foreign_key",
  376. "sentry.db.models.fields.types",
  377. "sentry.db.models.manager.*",
  378. "sentry.db.models.paranoia",
  379. "sentry.db.models.utils",
  380. "sentry.deletions.*",
  381. "sentry.digests.notifications",
  382. "sentry.eventstore.reprocessing.redis",
  383. "sentry.eventtypes.error",
  384. "sentry.grouping.component",
  385. "sentry.grouping.fingerprinting",
  386. "sentry.grouping.ingest.*",
  387. "sentry.grouping.parameterization",
  388. "sentry.hybridcloud.*",
  389. "sentry.ingest.slicing",
  390. "sentry.integrations.models.integration_feature",
  391. "sentry.issues",
  392. "sentry.issues.analytics",
  393. "sentry.issues.apps",
  394. "sentry.issues.constants",
  395. "sentry.issues.endpoints",
  396. "sentry.issues.endpoints.group_activities",
  397. "sentry.issues.endpoints.group_event_details",
  398. "sentry.issues.endpoints.group_events",
  399. "sentry.issues.endpoints.group_participants",
  400. "sentry.issues.endpoints.organization_group_index_stats",
  401. "sentry.issues.endpoints.organization_group_search_views",
  402. "sentry.issues.endpoints.organization_release_previous_commits",
  403. "sentry.issues.endpoints.organization_searches",
  404. "sentry.issues.endpoints.project_events",
  405. "sentry.issues.endpoints.project_stacktrace_link",
  406. "sentry.issues.endpoints.related_issues",
  407. "sentry.issues.endpoints.shared_group_details",
  408. "sentry.issues.endpoints.team_groups_old",
  409. "sentry.issues.escalating_group_forecast",
  410. "sentry.issues.escalating_issues_alg",
  411. "sentry.issues.forecasts",
  412. "sentry.issues.ignored",
  413. "sentry.issues.ingest",
  414. "sentry.issues.issue_occurrence",
  415. "sentry.issues.json_schemas",
  416. "sentry.issues.merge",
  417. "sentry.issues.occurrence_consumer",
  418. "sentry.issues.ongoing",
  419. "sentry.issues.priority",
  420. "sentry.issues.producer",
  421. "sentry.issues.query",
  422. "sentry.issues.receivers",
  423. "sentry.issues.related.*",
  424. "sentry.issues.run",
  425. "sentry.issues.status_change",
  426. "sentry.issues.status_change_consumer",
  427. "sentry.issues.status_change_message",
  428. "sentry.issues.update_inbox",
  429. "sentry.lang.java.processing",
  430. "sentry.llm.*",
  431. "sentry.migrations.*",
  432. "sentry.models.event",
  433. "sentry.models.eventattachment",
  434. "sentry.models.groupsubscription",
  435. "sentry.monkey",
  436. "sentry.nodestore.base",
  437. "sentry.nodestore.bigtable.backend",
  438. "sentry.nodestore.django.backend",
  439. "sentry.nodestore.django.models",
  440. "sentry.nodestore.filesystem.backend",
  441. "sentry.nodestore.models",
  442. "sentry.organizations.*",
  443. "sentry.ownership.*",
  444. "sentry.plugins.base.response",
  445. "sentry.plugins.base.view",
  446. "sentry.profiles.*",
  447. "sentry.projects.services.*",
  448. "sentry.ratelimits.leaky_bucket",
  449. "sentry.relay.config.metric_extraction",
  450. "sentry.reprocessing2",
  451. "sentry.runner.*",
  452. "sentry.search.snuba.backend",
  453. "sentry.sentry_metrics.consumers.indexer.slicing_router",
  454. "sentry.snuba.metrics.extraction",
  455. "sentry.stacktraces.platform",
  456. "sentry.tasks.beacon",
  457. "sentry.tasks.commit_context",
  458. "sentry.tasks.on_demand_metrics",
  459. "sentry.tasks.reprocessing2",
  460. "sentry.tasks.store",
  461. "sentry.taskworker.*",
  462. "sentry.testutils.helpers.task_runner",
  463. "sentry.types.actor",
  464. "sentry.types.region",
  465. "sentry.users.*",
  466. "sentry.utils.arroyo",
  467. "sentry.utils.assets",
  468. "sentry.utils.audit",
  469. "sentry.utils.celery",
  470. "sentry.utils.codeowners",
  471. "sentry.utils.colors",
  472. "sentry.utils.email.*",
  473. "sentry.utils.env",
  474. "sentry.utils.event",
  475. "sentry.utils.files",
  476. "sentry.utils.function_cache",
  477. "sentry.utils.geo",
  478. "sentry.utils.imports",
  479. "sentry.utils.iterators",
  480. "sentry.utils.javascript",
  481. "sentry.utils.lazy_service_wrapper",
  482. "sentry.utils.locking.*",
  483. "sentry.utils.migrations",
  484. "sentry.utils.numbers",
  485. "sentry.utils.otp",
  486. "sentry.utils.performance_issues.detectors.*",
  487. "sentry.utils.performance_issues.performance_detection",
  488. "sentry.utils.pubsub",
  489. "sentry.utils.redis",
  490. "sentry.utils.redis_metrics",
  491. "sentry.utils.sentry_apps.*",
  492. "sentry.utils.sms",
  493. "sentry.utils.snowflake",
  494. "sentry.utils.urls",
  495. "sentry.utils.uwsgi",
  496. "sentry.utils.zip",
  497. "sentry.web.frontend.auth_provider_login",
  498. "sentry.web.frontend.cli",
  499. "sentry.web.frontend.csv",
  500. "sentry_plugins.base",
  501. "tests.sentry.deletions.test_group",
  502. "tests.sentry.event_manager.test_event_manager",
  503. "tests.sentry.grouping.ingest.test_seer",
  504. "tests.sentry.grouping.test_fingerprinting",
  505. "tests.sentry.hybridcloud.*",
  506. "tests.sentry.issues",
  507. "tests.sentry.issues.endpoints",
  508. "tests.sentry.issues.endpoints.test_actionable_items",
  509. "tests.sentry.issues.endpoints.test_organization_group_search_views",
  510. "tests.sentry.issues.endpoints.test_organization_searches",
  511. "tests.sentry.issues.endpoints.test_project_stacktrace_link",
  512. "tests.sentry.issues.endpoints.test_related_issues",
  513. "tests.sentry.issues.endpoints.test_source_map_debug",
  514. "tests.sentry.issues.test_attributes",
  515. "tests.sentry.issues.test_escalating",
  516. "tests.sentry.issues.test_escalating_issues_alg",
  517. "tests.sentry.issues.test_group_attributes_dataset",
  518. "tests.sentry.issues.test_grouptype",
  519. "tests.sentry.issues.test_ignored",
  520. "tests.sentry.issues.test_ingest",
  521. "tests.sentry.issues.test_issue_occurrence",
  522. "tests.sentry.issues.test_issue_velocity",
  523. "tests.sentry.issues.test_json_schemas",
  524. "tests.sentry.issues.test_merge",
  525. "tests.sentry.issues.test_occurrence_consumer",
  526. "tests.sentry.issues.test_ongoing",
  527. "tests.sentry.issues.test_priority",
  528. "tests.sentry.issues.test_producer",
  529. "tests.sentry.issues.test_run",
  530. "tests.sentry.issues.test_search_issues_dataset",
  531. "tests.sentry.issues.test_status_change",
  532. "tests.sentry.issues.test_status_change_consumer",
  533. "tests.sentry.issues.test_update_inbox",
  534. "tests.sentry.ownership.*",
  535. "tests.sentry.ratelimits.test_leaky_bucket",
  536. "tests.sentry.relay.config.test_metric_extraction",
  537. "tests.sentry.tasks.test_on_demand_metrics",
  538. "tests.sentry.types.test_actor",
  539. "tests.sentry.types.test_region",
  540. "tests.sentry.web.frontend.test_cli",
  541. "tools.*",
  542. ]
  543. disallow_any_generics = true
  544. disallow_untyped_defs = true
  545. # end: stronger typing