pyproject.toml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. [build-system]
  2. requires = ["setuptools>=40.2.0,<64.0.0", "wheel"]
  3. build-backend = "setuptools.build_meta"
  4. [tool.black]
  5. # File filtering is taken care of in pre-commit.
  6. line-length = 100
  7. target-version = ['py38']
  8. [tool.isort]
  9. profile = "black"
  10. line_length = 100
  11. lines_between_sections = 1
  12. known_first_party = "sentry"
  13. skip = "migrations"
  14. [tool.pytest.ini_options]
  15. python_files = "test_*.py sentry/testutils/*"
  16. # note: When updating the traceback format, make sure to update .github/pytest.json
  17. # We don't use the celery pytest plugin.
  18. addopts = "-ra --tb=short --strict-markers -p no:celery --nomigrations"
  19. # TODO: --import-mode=importlib will become the default soon,
  20. # currently we have a few relative imports that don't work with that.
  21. markers = [
  22. "snuba: test requires access to snuba",
  23. "snuba_ci: test is run in snuba ci",
  24. "sentry_metrics: test requires access to sentry metrics",
  25. "symbolicator: test requires access to symbolicator",
  26. ]
  27. selenium_driver = "chrome"
  28. filterwarnings = [
  29. # Consider all warnings to be errors other than the ignored ones.
  30. "error",
  31. # TODO: after upgrading to django 4.x
  32. "ignore:'index_together' is deprecated. Use 'Meta.indexes' in.*",
  33. "ignore:Passing unsaved model instances to related filters is deprecated.",
  34. "ignore:The django.utils.timezone.utc alias is deprecated.*",
  35. "ignore:django.core.files.storage.get_storage_class is deprecated in favor of using django.core.files.storage.storages.",
  36. # a bunch of google packages use legacy namespace packages
  37. "ignore:pkg_resources is deprecated as an API",
  38. "ignore:Deprecated call to `pkg_resources.declare_namespace\\('google.*'\\)`.",
  39. # The following warning filters are for pytest only.
  40. # This is so we don't have to wrap most datetime objects in testing code
  41. # with django.utils.timezone.
  42. "ignore:DateTimeField.*naive datetime:RuntimeWarning",
  43. "ignore:.*sentry.digests.backends.dummy.DummyBackend.*:sentry.utils.warnings.UnsupportedBackend",
  44. # pytest has not yet implemented the replacement for this yet
  45. "ignore:The --looponfail command line argument.*",
  46. ]
  47. looponfailroots = ["src", "tests"]
  48. [tool.mypy]
  49. python_version = "3.10"
  50. mypy_path = ["fixtures/stubs-for-mypy"]
  51. plugins = ["pydantic.mypy", "mypy_django_plugin.main", "tools.mypy_helpers.plugin"]
  52. files = ["."]
  53. exclude = ["^.venv/", "^self-hosted/"]
  54. # minimal strictness settings
  55. check_untyped_defs = true
  56. no_implicit_reexport = true
  57. warn_unreachable = true
  58. warn_unused_configs = true
  59. warn_unused_ignores = true
  60. warn_redundant_casts = true
  61. [tool.django-stubs]
  62. django_settings_module = "sentry.conf.server_mypy"
  63. # these have py.typed but incorrect types
  64. [[tool.mypy.overrides]]
  65. module = [
  66. # TODO: these cause type errors when followed
  67. "snuba_sdk.*",
  68. ]
  69. follow_imports = "skip"
  70. # python3 -m tools.mypy_helpers.make_stub_ignores
  71. # begin: missing 3rd party stubs
  72. # - add .pyi files to fixtures/stubs-for-mypy
  73. # - or find a 3rd party stub
  74. [[tool.mypy.overrides]]
  75. module = [
  76. "boto3.*",
  77. "botocore.client.*",
  78. "botocore.exceptions.*",
  79. "celery.*",
  80. "confluent_kafka.*",
  81. "cssselect.*",
  82. "django_zero_downtime_migrations.backends.postgres.schema.*",
  83. "docker.*",
  84. "fido2.*",
  85. "google.auth.*",
  86. "google.cloud.pubsub_v1.*",
  87. "google.cloud.storage.blob.*",
  88. "google.cloud.storage.bucket.*",
  89. "google.cloud.storage.client.*",
  90. "google.resumable_media.common.*",
  91. "google.rpc.status_pb2.*",
  92. "google_crc32c.*",
  93. "honcho.manager.*",
  94. "honcho.printer.*",
  95. "kombu.*",
  96. "mistune.*",
  97. "onelogin.saml2.auth.*",
  98. "onelogin.saml2.constants.*",
  99. "onelogin.saml2.idp_metadata_parser.*",
  100. "phabricator.*",
  101. "progressbar.*",
  102. "rb.*",
  103. "requests_oauthlib.*",
  104. "sqlparse.*",
  105. "statsd.*",
  106. "u2flib_server.model.*",
  107. "unidiff.*",
  108. ]
  109. ignore_missing_imports = true
  110. # end: missing 3rd party stubs
  111. # python3 -m tools.mypy_helpers.make_module_ignores
  112. # begin: sentry modules with typing issues
  113. # - remove the module from the list and fix the issues!
  114. # - python3 -m tools.mypy_helpers.find_easiest_modules
  115. [[tool.mypy.overrides]]
  116. module = [
  117. "sentry.api.base",
  118. "sentry.api.bases.external_actor",
  119. "sentry.api.bases.incident",
  120. "sentry.api.bases.integration",
  121. "sentry.api.bases.organization_events",
  122. "sentry.api.bases.organization_request_change",
  123. "sentry.api.bases.organizationmember",
  124. "sentry.api.bases.project",
  125. "sentry.api.bases.project_request_change",
  126. "sentry.api.bases.rule",
  127. "sentry.api.bases.sentryapps",
  128. "sentry.api.bases.team",
  129. "sentry.api.endpoints.accept_organization_invite",
  130. "sentry.api.endpoints.artifact_lookup",
  131. "sentry.api.endpoints.auth_config",
  132. "sentry.api.endpoints.auth_login",
  133. "sentry.api.endpoints.catchall",
  134. "sentry.api.endpoints.chunk",
  135. "sentry.api.endpoints.codeowners",
  136. "sentry.api.endpoints.codeowners.index",
  137. "sentry.api.endpoints.event_attachments",
  138. "sentry.api.endpoints.group_details",
  139. "sentry.api.endpoints.group_event_details",
  140. "sentry.api.endpoints.group_events",
  141. "sentry.api.endpoints.group_external_issues",
  142. "sentry.api.endpoints.group_integration_details",
  143. "sentry.api.endpoints.group_integrations",
  144. "sentry.api.endpoints.group_notes",
  145. "sentry.api.endpoints.index",
  146. "sentry.api.endpoints.integrations.install_request",
  147. "sentry.api.endpoints.integrations.sentry_apps.details",
  148. "sentry.api.endpoints.integrations.sentry_apps.index",
  149. "sentry.api.endpoints.integrations.sentry_apps.installation.index",
  150. "sentry.api.endpoints.integrations.sentry_apps.internal_app_token.index",
  151. "sentry.api.endpoints.integrations.sentry_apps.publish_request",
  152. "sentry.api.endpoints.integrations.sentry_apps.requests",
  153. "sentry.api.endpoints.integrations.sentry_apps.stats.details",
  154. "sentry.api.endpoints.internal.mail",
  155. "sentry.api.endpoints.notifications.notification_actions_details",
  156. "sentry.api.endpoints.organization_code_mapping_codeowners",
  157. "sentry.api.endpoints.organization_code_mapping_details",
  158. "sentry.api.endpoints.organization_code_mappings",
  159. "sentry.api.endpoints.organization_dashboard_details",
  160. "sentry.api.endpoints.organization_details",
  161. "sentry.api.endpoints.organization_events",
  162. "sentry.api.endpoints.organization_events_facets",
  163. "sentry.api.endpoints.organization_events_facets_performance",
  164. "sentry.api.endpoints.organization_events_meta",
  165. "sentry.api.endpoints.organization_events_spans_performance",
  166. "sentry.api.endpoints.organization_events_stats",
  167. "sentry.api.endpoints.organization_events_trace",
  168. "sentry.api.endpoints.organization_events_trends",
  169. "sentry.api.endpoints.organization_group_index",
  170. "sentry.api.endpoints.organization_index",
  171. "sentry.api.endpoints.organization_issues_count",
  172. "sentry.api.endpoints.organization_member.details",
  173. "sentry.api.endpoints.organization_member.index",
  174. "sentry.api.endpoints.organization_member.requests.invite.details",
  175. "sentry.api.endpoints.organization_member_unreleased_commits",
  176. "sentry.api.endpoints.organization_metrics",
  177. "sentry.api.endpoints.organization_metrics_meta",
  178. "sentry.api.endpoints.organization_onboarding_continuation_email",
  179. "sentry.api.endpoints.organization_projects",
  180. "sentry.api.endpoints.organization_projects_experiment",
  181. "sentry.api.endpoints.organization_releases",
  182. "sentry.api.endpoints.organization_repositories",
  183. "sentry.api.endpoints.organization_request_project_creation",
  184. "sentry.api.endpoints.organization_search_details",
  185. "sentry.api.endpoints.organization_sessions",
  186. "sentry.api.endpoints.organization_stats",
  187. "sentry.api.endpoints.organization_teams",
  188. "sentry.api.endpoints.project_artifact_bundle_file_details",
  189. "sentry.api.endpoints.project_event_details",
  190. "sentry.api.endpoints.project_group_index",
  191. "sentry.api.endpoints.project_index",
  192. "sentry.api.endpoints.project_ownership",
  193. "sentry.api.endpoints.project_release_files",
  194. "sentry.api.endpoints.project_repo_path_parsing",
  195. "sentry.api.endpoints.project_rule_preview",
  196. "sentry.api.endpoints.project_rules_configuration",
  197. "sentry.api.endpoints.project_servicehook_stats",
  198. "sentry.api.endpoints.project_stacktrace_links",
  199. "sentry.api.endpoints.project_transaction_names",
  200. "sentry.api.endpoints.rule_snooze",
  201. "sentry.api.endpoints.source_map_debug",
  202. "sentry.api.endpoints.team_details",
  203. "sentry.api.endpoints.team_release_count",
  204. "sentry.api.endpoints.team_time_to_resolution",
  205. "sentry.api.endpoints.user_details",
  206. "sentry.api.endpoints.user_subscriptions",
  207. "sentry.api.event_search",
  208. "sentry.api.helpers.deprecation",
  209. "sentry.api.helpers.group_index.index",
  210. "sentry.api.helpers.group_index.update",
  211. "sentry.api.helpers.group_index.validators.status_details",
  212. "sentry.api.invite_helper",
  213. "sentry.api.issue_search",
  214. "sentry.api.paginator",
  215. "sentry.api.permissions",
  216. "sentry.api.serializers.models.auth_provider",
  217. "sentry.api.serializers.models.dashboard",
  218. "sentry.api.serializers.models.doc_integration",
  219. "sentry.api.serializers.models.environment",
  220. "sentry.api.serializers.models.event",
  221. "sentry.api.serializers.models.external_actor",
  222. "sentry.api.serializers.models.group",
  223. "sentry.api.serializers.models.group_stream",
  224. "sentry.api.serializers.models.incident",
  225. "sentry.api.serializers.models.integration",
  226. "sentry.api.serializers.models.integration_feature",
  227. "sentry.api.serializers.models.notification_action",
  228. "sentry.api.serializers.models.organization",
  229. "sentry.api.serializers.models.organization_member.base",
  230. "sentry.api.serializers.models.plugin",
  231. "sentry.api.serializers.models.project",
  232. "sentry.api.serializers.models.projectcodeowners",
  233. "sentry.api.serializers.models.role",
  234. "sentry.api.serializers.models.rule",
  235. "sentry.api.serializers.models.sentry_app",
  236. "sentry.api.serializers.models.team",
  237. "sentry.api.serializers.models.user",
  238. "sentry.api.serializers.models.user_identity_config",
  239. "sentry.api.serializers.rest_framework.doc_integration",
  240. "sentry.api.serializers.rest_framework.mentions",
  241. "sentry.api.serializers.rest_framework.notification_action",
  242. "sentry.api.serializers.rest_framework.rule",
  243. "sentry.api.serializers.rest_framework.sentry_app_request",
  244. "sentry.api.serializers.snuba",
  245. "sentry.api.validators.email",
  246. "sentry.auth.helper",
  247. "sentry.auth.provider",
  248. "sentry.auth.providers.dummy",
  249. "sentry.auth.providers.github.views",
  250. "sentry.auth.providers.google.views",
  251. "sentry.auth.providers.oauth2",
  252. "sentry.auth.providers.saml2.generic.views",
  253. "sentry.auth.providers.saml2.provider",
  254. "sentry.auth.providers.saml2.rippling.provider",
  255. "sentry.auth.providers.saml2.views",
  256. "sentry.auth.system",
  257. "sentry.auth.view",
  258. "sentry.db.mixin",
  259. "sentry.db.models.manager.base",
  260. "sentry.db.models.paranoia",
  261. "sentry.db.models.query",
  262. "sentry.db.models.utils",
  263. "sentry.db.postgres.base",
  264. "sentry.db.postgres.creation",
  265. "sentry.db.router",
  266. "sentry.digests.notifications",
  267. "sentry.discover.endpoints.discover_key_transactions",
  268. "sentry.eventstore.models",
  269. "sentry.features.handler",
  270. "sentry.features.manager",
  271. "sentry.grouping.fingerprinting",
  272. "sentry.grouping.strategies.base",
  273. "sentry.grouping.strategies.configurations",
  274. "sentry.grouping.strategies.hierarchical",
  275. "sentry.grouping.strategies.legacy",
  276. "sentry.grouping.strategies.newstyle",
  277. "sentry.identity.bitbucket.provider",
  278. "sentry.identity.github_enterprise.provider",
  279. "sentry.identity.gitlab.provider",
  280. "sentry.identity.oauth2",
  281. "sentry.identity.pipeline",
  282. "sentry.identity.providers.dummy",
  283. "sentry.identity.slack.provider",
  284. "sentry.incidents.endpoints.bases",
  285. "sentry.incidents.endpoints.organization_alert_rule_details",
  286. "sentry.incidents.endpoints.organization_alert_rule_index",
  287. "sentry.incidents.endpoints.organization_incident_comment_details",
  288. "sentry.incidents.endpoints.organization_incident_index",
  289. "sentry.incidents.logic",
  290. "sentry.incidents.models",
  291. "sentry.incidents.subscription_processor",
  292. "sentry.incidents.tasks",
  293. "sentry.integrations.aws_lambda.integration",
  294. "sentry.integrations.base",
  295. "sentry.integrations.bitbucket.client",
  296. "sentry.integrations.bitbucket.installed",
  297. "sentry.integrations.bitbucket.integration",
  298. "sentry.integrations.bitbucket.issues",
  299. "sentry.integrations.bitbucket.uninstalled",
  300. "sentry.integrations.bitbucket.webhook",
  301. "sentry.integrations.bitbucket_server.client",
  302. "sentry.integrations.bitbucket_server.integration",
  303. "sentry.integrations.bitbucket_server.webhook",
  304. "sentry.integrations.example.integration",
  305. "sentry.integrations.example.repository",
  306. "sentry.integrations.github.client",
  307. "sentry.integrations.github.integration",
  308. "sentry.integrations.github.issues",
  309. "sentry.integrations.github.repository",
  310. "sentry.integrations.github.webhook",
  311. "sentry.integrations.github_enterprise.integration",
  312. "sentry.integrations.github_enterprise.webhook",
  313. "sentry.integrations.gitlab.client",
  314. "sentry.integrations.gitlab.integration",
  315. "sentry.integrations.gitlab.issues",
  316. "sentry.integrations.gitlab.webhooks",
  317. "sentry.integrations.jira.actions.form",
  318. "sentry.integrations.jira.client",
  319. "sentry.integrations.jira.integration",
  320. "sentry.integrations.jira.views.base",
  321. "sentry.integrations.jira.views.sentry_issue_details",
  322. "sentry.integrations.jira.webhooks.base",
  323. "sentry.integrations.jira.webhooks.issue_updated",
  324. "sentry.integrations.jira_server.client",
  325. "sentry.integrations.jira_server.integration",
  326. "sentry.integrations.jira_server.webhooks",
  327. "sentry.integrations.manager",
  328. "sentry.integrations.message_builder",
  329. "sentry.integrations.metric_alerts",
  330. "sentry.integrations.mixins.issues",
  331. "sentry.integrations.mixins.notifications",
  332. "sentry.integrations.mixins.repositories",
  333. "sentry.integrations.msteams.actions.form",
  334. "sentry.integrations.msteams.client",
  335. "sentry.integrations.msteams.integration",
  336. "sentry.integrations.msteams.link_identity",
  337. "sentry.integrations.msteams.notifications",
  338. "sentry.integrations.msteams.webhook",
  339. "sentry.integrations.notifications",
  340. "sentry.integrations.pagerduty.actions.form",
  341. "sentry.integrations.pagerduty.client",
  342. "sentry.integrations.pagerduty.integration",
  343. "sentry.integrations.pipeline",
  344. "sentry.integrations.slack.actions.form",
  345. "sentry.integrations.slack.client",
  346. "sentry.integrations.slack.integration",
  347. "sentry.integrations.slack.message_builder.issues",
  348. "sentry.integrations.slack.message_builder.notifications.digest",
  349. "sentry.integrations.slack.message_builder.notifications.issues",
  350. "sentry.integrations.slack.notifications",
  351. "sentry.integrations.slack.unfurl.discover",
  352. "sentry.integrations.slack.utils.channel",
  353. "sentry.integrations.slack.utils.users",
  354. "sentry.integrations.slack.views.link_identity",
  355. "sentry.integrations.slack.views.link_team",
  356. "sentry.integrations.slack.views.unlink_team",
  357. "sentry.integrations.slack.webhooks.action",
  358. "sentry.integrations.slack.webhooks.base",
  359. "sentry.integrations.slack.webhooks.command",
  360. "sentry.integrations.slack.webhooks.event",
  361. "sentry.integrations.utils.commit_context",
  362. "sentry.integrations.utils.sync",
  363. "sentry.integrations.vercel.client",
  364. "sentry.integrations.vercel.integration",
  365. "sentry.integrations.vercel.webhook",
  366. "sentry.integrations.vsts.client",
  367. "sentry.integrations.vsts.integration",
  368. "sentry.integrations.vsts.issues",
  369. "sentry.integrations.vsts.repository",
  370. "sentry.integrations.vsts_extension.integration",
  371. "sentry.issues.escalating_group_forecast",
  372. "sentry.issues.ingest",
  373. "sentry.issues.issue_occurrence",
  374. "sentry.issues.occurrence_consumer",
  375. "sentry.issues.search",
  376. "sentry.issues.status_change",
  377. "sentry.middleware.access_log",
  378. "sentry.middleware.auth",
  379. "sentry.middleware.ratelimit",
  380. "sentry.middleware.subdomain",
  381. "sentry.middleware.superuser",
  382. "sentry.models.auditlogentry",
  383. "sentry.models.integrations.external_issue",
  384. "sentry.models.integrations.sentry_app_installation",
  385. "sentry.models.organizationaccessrequest",
  386. "sentry.monitors.consumers.monitor_consumer",
  387. "sentry.monitors.endpoints.base",
  388. "sentry.monitors.endpoints.monitor_ingest_checkin_attachment",
  389. "sentry.monitors.endpoints.monitor_ingest_checkin_details",
  390. "sentry.monitors.endpoints.organization_monitor_index",
  391. "sentry.monitors.utils",
  392. "sentry.monkey.pickle",
  393. "sentry.net.http",
  394. "sentry.net.socket",
  395. "sentry.notifications.additional_attachment_manager",
  396. "sentry.notifications.notifications.activity.base",
  397. "sentry.notifications.notifications.activity.release",
  398. "sentry.notifications.notifications.integration_nudge",
  399. "sentry.notifications.notifications.rules",
  400. "sentry.ownership.grammar",
  401. "sentry.pipeline.base",
  402. "sentry.pipeline.views.base",
  403. "sentry.pipeline.views.nested",
  404. "sentry.plugins.base.notifier",
  405. "sentry.plugins.base.urls",
  406. "sentry.plugins.bases.data_forwarding",
  407. "sentry.plugins.bases.issue",
  408. "sentry.plugins.bases.issue2",
  409. "sentry.plugins.bases.notify",
  410. "sentry.plugins.config",
  411. "sentry.plugins.endpoints",
  412. "sentry.plugins.providers.base",
  413. "sentry.plugins.providers.repository",
  414. "sentry.profiles.task",
  415. "sentry.profiles.utils",
  416. "sentry.quotas.redis",
  417. "sentry.receivers.releases",
  418. "sentry.receivers.sentry_apps",
  419. "sentry.release_health.metrics_sessions_v2",
  420. "sentry.release_health.sessions",
  421. "sentry.release_health.tasks",
  422. "sentry.replays.endpoints.project_replay_clicks_index",
  423. "sentry.replays.lib.query",
  424. "sentry.reprocessing2",
  425. "sentry.rules.actions.integrations.base",
  426. "sentry.rules.actions.integrations.create_ticket.form",
  427. "sentry.rules.actions.integrations.create_ticket.utils",
  428. "sentry.rules.actions.notify_event_service",
  429. "sentry.rules.conditions.event_frequency",
  430. "sentry.rules.conditions.level",
  431. "sentry.rules.conditions.tagged_event",
  432. "sentry.rules.filters.assigned_to",
  433. "sentry.rules.history.preview",
  434. "sentry.scim.endpoints.members",
  435. "sentry.scim.endpoints.teams",
  436. "sentry.scim.endpoints.utils",
  437. "sentry.search.events.builder.discover",
  438. "sentry.search.events.builder.errors",
  439. "sentry.search.events.builder.metrics",
  440. "sentry.search.events.datasets.discover",
  441. "sentry.search.events.datasets.filter_aliases",
  442. "sentry.search.events.datasets.function_aliases",
  443. "sentry.search.events.datasets.metrics",
  444. "sentry.search.events.datasets.metrics_layer",
  445. "sentry.search.events.datasets.profile_functions",
  446. "sentry.search.events.datasets.profiles",
  447. "sentry.search.events.datasets.spans_metrics",
  448. "sentry.search.events.fields",
  449. "sentry.search.events.filter",
  450. "sentry.search.snuba.backend",
  451. "sentry.search.snuba.executors",
  452. "sentry.search.utils",
  453. "sentry.sentry_apps.apps",
  454. "sentry.sentry_apps.installations",
  455. "sentry.sentry_metrics.configuration",
  456. "sentry.sentry_metrics.consumers.indexer.slicing_router",
  457. "sentry.sentry_metrics.indexer.postgres.postgres_v2",
  458. "sentry.shared_integrations.client.base",
  459. "sentry.shared_integrations.client.proxy",
  460. "sentry.similarity.features",
  461. "sentry.snuba.discover",
  462. "sentry.snuba.errors",
  463. "sentry.snuba.issue_platform",
  464. "sentry.snuba.metrics.datasource",
  465. "sentry.snuba.metrics.fields.base",
  466. "sentry.snuba.metrics.query_builder",
  467. "sentry.snuba.sessions",
  468. "sentry.snuba.sessions_v2",
  469. "sentry.snuba.spans_indexed",
  470. "sentry.snuba.spans_metrics",
  471. "sentry.stacktraces.functions",
  472. "sentry.tagstore.snuba.backend",
  473. "sentry.tagstore.types",
  474. "sentry.tasks.auth",
  475. "sentry.tasks.base",
  476. "sentry.tasks.codeowners.update_code_owners_schema",
  477. "sentry.tasks.deliver_from_outbox",
  478. "sentry.tasks.digests",
  479. "sentry.tasks.groupowner",
  480. "sentry.tasks.integrations",
  481. "sentry.tasks.integrations.migrate_issues",
  482. "sentry.tasks.integrations.migrate_repo",
  483. "sentry.tasks.integrations.slack.find_channel_id_for_rule",
  484. "sentry.tasks.integrations.slack.link_slack_user_identities",
  485. "sentry.tasks.integrations.sync_assignee_outbound_impl",
  486. "sentry.tasks.integrations.sync_status_inbound",
  487. "sentry.tasks.integrations.sync_status_outbound",
  488. "sentry.tasks.merge",
  489. "sentry.tasks.process_buffer",
  490. "sentry.tasks.reprocessing2",
  491. "sentry.tasks.sentry_apps",
  492. "sentry.tasks.store",
  493. "sentry.tasks.unmerge",
  494. "sentry.templatetags.sentry_assets",
  495. "sentry.templatetags.sentry_helpers",
  496. "sentry.templatetags.sentry_plugins",
  497. "sentry.testutils.asserts",
  498. "sentry.testutils.cases",
  499. "sentry.testutils.factories",
  500. "sentry.testutils.fixtures",
  501. "sentry.testutils.helpers.features",
  502. "sentry.testutils.helpers.notifications",
  503. "sentry.testutils.helpers.slack",
  504. "sentry.testutils.helpers.task_runner",
  505. "sentry.testutils.performance_issues.span_builder",
  506. "sentry.testutils.performance_issues.store_transaction",
  507. "sentry.tsdb.dummy",
  508. "sentry.tsdb.inmemory",
  509. "sentry.tsdb.redis",
  510. "sentry.tsdb.snuba",
  511. "sentry.types.integrations",
  512. "sentry.utils.audit",
  513. "sentry.utils.auth",
  514. "sentry.utils.committers",
  515. "sentry.utils.distutils.commands.base",
  516. "sentry.utils.distutils.commands.build_assets",
  517. "sentry.utils.email.signer",
  518. "sentry.utils.locking.backends.migration",
  519. "sentry.utils.performance_issues.detectors.io_main_thread_detector",
  520. "sentry.utils.performance_issues.detectors.mn_plus_one_db_span_detector",
  521. "sentry.utils.performance_issues.detectors.n_plus_one_api_calls_detector",
  522. "sentry.utils.performance_issues.detectors.n_plus_one_db_span_detector",
  523. "sentry.utils.performance_issues.detectors.render_blocking_asset_span_detector",
  524. "sentry.utils.performance_issues.detectors.slow_db_query_detector",
  525. "sentry.utils.performance_issues.performance_detection",
  526. "sentry.utils.redis",
  527. "sentry.utils.sentry_apps.webhooks",
  528. "sentry.utils.services",
  529. "sentry.utils.snowflake",
  530. "sentry.utils.snuba",
  531. "sentry.utils.suspect_resolutions.get_suspect_resolutions",
  532. "sentry.utils.suspect_resolutions_releases.get_suspect_resolutions_releases",
  533. "sentry.web.client_config",
  534. "sentry.web.forms.accounts",
  535. "sentry.web.frontend.account_identity",
  536. "sentry.web.frontend.auth_close",
  537. "sentry.web.frontend.auth_login",
  538. "sentry.web.frontend.auth_logout",
  539. "sentry.web.frontend.auth_organization_login",
  540. "sentry.web.frontend.auth_provider_login",
  541. "sentry.web.frontend.base",
  542. "sentry.web.frontend.debug.debug_assigned_email",
  543. "sentry.web.frontend.debug.debug_codeowners_auto_sync_failure_email",
  544. "sentry.web.frontend.debug.debug_incident_activity_email",
  545. "sentry.web.frontend.debug.debug_incident_trigger_email",
  546. "sentry.web.frontend.debug.debug_mfa_added_email",
  547. "sentry.web.frontend.debug.debug_mfa_removed_email",
  548. "sentry.web.frontend.debug.debug_new_processing_issues_email",
  549. "sentry.web.frontend.debug.debug_organization_integration_request",
  550. "sentry.web.frontend.debug.debug_organization_invite_request",
  551. "sentry.web.frontend.debug.debug_organization_join_request",
  552. "sentry.web.frontend.debug.debug_password_changed_email",
  553. "sentry.web.frontend.debug.debug_recovery_codes_regenerated_email",
  554. "sentry.web.frontend.disabled_member_view",
  555. "sentry.web.frontend.generic",
  556. "sentry.web.frontend.group_plugin_action",
  557. "sentry.web.frontend.idp_email_verification",
  558. "sentry.web.frontend.integration_extension_configuration",
  559. "sentry.web.frontend.js_sdk_loader",
  560. "sentry.web.frontend.newest_issue",
  561. "sentry.web.frontend.oauth_authorize",
  562. "sentry.web.frontend.oauth_token",
  563. "sentry.web.frontend.organization_integration_setup",
  564. "sentry.web.frontend.pipeline_advancer",
  565. "sentry.web.frontend.project_event",
  566. "sentry.web.frontend.react_page",
  567. "sentry.web.frontend.reactivate_account",
  568. "sentry.web.frontend.setup_wizard",
  569. "sentry.web.frontend.shared_group_details",
  570. "sentry.web.frontend.twofactor",
  571. "sentry_plugins.asana.plugin",
  572. "sentry_plugins.base",
  573. "sentry_plugins.bitbucket.client",
  574. "sentry_plugins.bitbucket.endpoints.webhook",
  575. "sentry_plugins.bitbucket.mixins",
  576. "sentry_plugins.bitbucket.plugin",
  577. "sentry_plugins.bitbucket.repository_provider",
  578. "sentry_plugins.client",
  579. "sentry_plugins.github.client",
  580. "sentry_plugins.github.plugin",
  581. "sentry_plugins.github.webhooks.base",
  582. "sentry_plugins.github.webhooks.integration",
  583. "sentry_plugins.heroku.plugin",
  584. "sentry_plugins.jira.client",
  585. "sentry_plugins.jira.plugin",
  586. "sentry_plugins.pivotal.plugin",
  587. "sentry_plugins.pushover.plugin",
  588. "sentry_plugins.redmine.forms",
  589. "sentry_plugins.redmine.plugin",
  590. "sentry_plugins.splunk.plugin",
  591. "sentry_plugins.trello.plugin",
  592. "sentry_plugins.twilio.plugin",
  593. "tests.sentry.api.bases.test_organization",
  594. "tests.sentry.api.bases.test_project",
  595. "tests.sentry.api.bases.test_sentryapps",
  596. "tests.sentry.api.bases.test_team",
  597. "tests.sentry.api.endpoints.notifications.test_notification_actions_details",
  598. "tests.sentry.api.endpoints.notifications.test_notification_actions_index",
  599. "tests.sentry.api.endpoints.test_event_attachment_details",
  600. "tests.sentry.api.helpers.test_group_index",
  601. "tests.sentry.api.test_authentication",
  602. "tests.sentry.api.test_base",
  603. "tests.sentry.api.test_event_search",
  604. "tests.sentry.digests.test_notifications",
  605. "tests.sentry.eventstore.test_base",
  606. "tests.sentry.grouping.test_result",
  607. "tests.sentry.identity.test_oauth2",
  608. "tests.sentry.incidents.test_logic",
  609. "tests.sentry.ingest.test_slicing",
  610. "tests.sentry.integrations.github.test_client",
  611. "tests.sentry.integrations.slack.test_requests",
  612. "tests.sentry.issues.test_utils",
  613. "tests.sentry.models.test_organizationmember",
  614. "tests.sentry.replays.test_project_replay_recording_segment_index",
  615. "tests.sentry.tasks.test_post_process",
  616. ]
  617. disable_error_code = [
  618. "arg-type",
  619. "assignment",
  620. "attr-defined",
  621. "call-arg",
  622. "call-overload",
  623. "dict-item",
  624. "has-type",
  625. "index",
  626. "list-item",
  627. "misc",
  628. "operator",
  629. "override",
  630. "return-value",
  631. "typeddict-item",
  632. "typeddict-unknown-key",
  633. "union-attr",
  634. "unreachable",
  635. "var-annotated",
  636. ]
  637. # end: sentry modules with typing issues
  638. # beginning: stronger typing
  639. [[tool.mypy.overrides]]
  640. module = [
  641. "src.sentry.relay.config.metric_extraction",
  642. "src.sentry.snuba.metrics.extraction",
  643. "tests.sentry.relay.config.test_metric_extraction",
  644. ]
  645. disallow_untyped_defs = true
  646. # end: stronger typing