pyproject.toml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641
  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 = ['py311']
  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 = "--tb=short -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. filterwarnings = [
  28. # Consider all warnings to be errors other than the ignored ones.
  29. "error",
  30. # a bunch of google packages use legacy namespace packages
  31. "ignore:pkg_resources is deprecated as an API",
  32. "ignore:Deprecated call to `pkg_resources.declare_namespace\\('google.*'\\)`.",
  33. # this warning in protobuf causes a segfault in 3.12+ protocolbuffers/protobuf#15077
  34. "ignore:Type google\\._upb.*",
  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.11"
  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"]
  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.pubsub_v1.*",
  85. "google.cloud.storage.blob.*",
  86. "google.cloud.storage.bucket.*",
  87. "google.cloud.storage.client.*",
  88. "google.resumable_media.common.*",
  89. "google.rpc.status_pb2.*",
  90. "google_crc32c.*",
  91. "kombu.*",
  92. "mistune.*",
  93. "onelogin.saml2.auth.*",
  94. "onelogin.saml2.constants.*",
  95. "onelogin.saml2.idp_metadata_parser.*",
  96. "phabricator.*",
  97. "progressbar.*",
  98. "rb.*",
  99. "requests_oauthlib.*",
  100. "sqlparse.*",
  101. "statsd.*",
  102. "u2flib_server.model.*",
  103. "unidiff.*",
  104. ]
  105. ignore_missing_imports = true
  106. # end: missing 3rd party stubs
  107. # python3 -m tools.mypy_helpers.make_module_ignores
  108. # begin: sentry modules with typing issues
  109. # - remove the module from the list and fix the issues!
  110. # - python3 -m tools.mypy_helpers.find_easiest_modules
  111. [[tool.mypy.overrides]]
  112. module = [
  113. "sentry.api.base",
  114. "sentry.api.bases.external_actor",
  115. "sentry.api.bases.incident",
  116. "sentry.api.bases.integration",
  117. "sentry.api.bases.organization_events",
  118. "sentry.api.bases.organization_request_change",
  119. "sentry.api.bases.organizationmember",
  120. "sentry.api.bases.project",
  121. "sentry.api.bases.project_request_change",
  122. "sentry.api.bases.rule",
  123. "sentry.api.bases.sentryapps",
  124. "sentry.api.bases.team",
  125. "sentry.api.endpoints.accept_organization_invite",
  126. "sentry.api.endpoints.artifact_lookup",
  127. "sentry.api.endpoints.auth_config",
  128. "sentry.api.endpoints.auth_login",
  129. "sentry.api.endpoints.catchall",
  130. "sentry.api.endpoints.chunk",
  131. "sentry.api.endpoints.codeowners",
  132. "sentry.api.endpoints.codeowners.index",
  133. "sentry.api.endpoints.event_attachments",
  134. "sentry.api.endpoints.group_external_issues",
  135. "sentry.api.endpoints.group_integration_details",
  136. "sentry.api.endpoints.group_integrations",
  137. "sentry.api.endpoints.index",
  138. "sentry.api.endpoints.integrations.install_request",
  139. "sentry.api.endpoints.integrations.sentry_apps.details",
  140. "sentry.api.endpoints.integrations.sentry_apps.index",
  141. "sentry.api.endpoints.integrations.sentry_apps.installation.index",
  142. "sentry.api.endpoints.integrations.sentry_apps.internal_app_token.index",
  143. "sentry.api.endpoints.integrations.sentry_apps.publish_request",
  144. "sentry.api.endpoints.integrations.sentry_apps.requests",
  145. "sentry.api.endpoints.integrations.sentry_apps.stats.details",
  146. "sentry.api.endpoints.internal.mail",
  147. "sentry.api.endpoints.notifications.notification_actions_details",
  148. "sentry.api.endpoints.organization_code_mapping_codeowners",
  149. "sentry.api.endpoints.organization_code_mapping_details",
  150. "sentry.api.endpoints.organization_code_mappings",
  151. "sentry.api.endpoints.organization_dashboard_details",
  152. "sentry.api.endpoints.organization_details",
  153. "sentry.api.endpoints.organization_events",
  154. "sentry.api.endpoints.organization_events_facets",
  155. "sentry.api.endpoints.organization_events_facets_performance",
  156. "sentry.api.endpoints.organization_events_meta",
  157. "sentry.api.endpoints.organization_events_spans_performance",
  158. "sentry.api.endpoints.organization_events_stats",
  159. "sentry.api.endpoints.organization_events_trace",
  160. "sentry.api.endpoints.organization_events_trends",
  161. "sentry.api.endpoints.organization_index",
  162. "sentry.api.endpoints.organization_issues_count",
  163. "sentry.api.endpoints.organization_member.details",
  164. "sentry.api.endpoints.organization_member.index",
  165. "sentry.api.endpoints.organization_member.requests.invite.details",
  166. "sentry.api.endpoints.organization_member_unreleased_commits",
  167. "sentry.api.endpoints.organization_metrics",
  168. "sentry.api.endpoints.organization_metrics_meta",
  169. "sentry.api.endpoints.organization_onboarding_continuation_email",
  170. "sentry.api.endpoints.organization_projects",
  171. "sentry.api.endpoints.organization_projects_experiment",
  172. "sentry.api.endpoints.organization_releases",
  173. "sentry.api.endpoints.organization_repositories",
  174. "sentry.api.endpoints.organization_request_project_creation",
  175. "sentry.api.endpoints.organization_search_details",
  176. "sentry.api.endpoints.organization_sessions",
  177. "sentry.api.endpoints.organization_stats",
  178. "sentry.api.endpoints.organization_teams",
  179. "sentry.api.endpoints.project_artifact_bundle_file_details",
  180. "sentry.api.endpoints.project_event_details",
  181. "sentry.api.endpoints.project_group_index",
  182. "sentry.api.endpoints.project_index",
  183. "sentry.api.endpoints.project_ownership",
  184. "sentry.api.endpoints.project_release_files",
  185. "sentry.api.endpoints.project_repo_path_parsing",
  186. "sentry.api.endpoints.project_rule_preview",
  187. "sentry.api.endpoints.project_rules_configuration",
  188. "sentry.api.endpoints.project_servicehook_stats",
  189. "sentry.api.endpoints.project_transaction_names",
  190. "sentry.api.endpoints.rule_snooze",
  191. "sentry.api.endpoints.team_details",
  192. "sentry.api.endpoints.team_release_count",
  193. "sentry.api.endpoints.team_time_to_resolution",
  194. "sentry.api.endpoints.user_details",
  195. "sentry.api.endpoints.user_subscriptions",
  196. "sentry.api.event_search",
  197. "sentry.api.helpers.deprecation",
  198. "sentry.api.helpers.group_index.index",
  199. "sentry.api.helpers.group_index.update",
  200. "sentry.api.helpers.group_index.validators.status_details",
  201. "sentry.api.invite_helper",
  202. "sentry.api.issue_search",
  203. "sentry.api.paginator",
  204. "sentry.api.permissions",
  205. "sentry.api.serializers.models.auth_provider",
  206. "sentry.api.serializers.models.dashboard",
  207. "sentry.api.serializers.models.doc_integration",
  208. "sentry.api.serializers.models.environment",
  209. "sentry.api.serializers.models.event",
  210. "sentry.api.serializers.models.external_actor",
  211. "sentry.api.serializers.models.group",
  212. "sentry.api.serializers.models.group_stream",
  213. "sentry.api.serializers.models.incident",
  214. "sentry.api.serializers.models.integration",
  215. "sentry.api.serializers.models.integration_feature",
  216. "sentry.api.serializers.models.notification_action",
  217. "sentry.api.serializers.models.organization",
  218. "sentry.api.serializers.models.organization_member.base",
  219. "sentry.api.serializers.models.plugin",
  220. "sentry.api.serializers.models.project",
  221. "sentry.api.serializers.models.projectcodeowners",
  222. "sentry.api.serializers.models.role",
  223. "sentry.api.serializers.models.rule",
  224. "sentry.api.serializers.models.sentry_app",
  225. "sentry.api.serializers.models.team",
  226. "sentry.api.serializers.models.user",
  227. "sentry.api.serializers.models.user_identity_config",
  228. "sentry.api.serializers.rest_framework.doc_integration",
  229. "sentry.api.serializers.rest_framework.mentions",
  230. "sentry.api.serializers.rest_framework.notification_action",
  231. "sentry.api.serializers.rest_framework.rule",
  232. "sentry.api.serializers.rest_framework.sentry_app_request",
  233. "sentry.api.serializers.snuba",
  234. "sentry.api.validators.email",
  235. "sentry.auth.helper",
  236. "sentry.auth.provider",
  237. "sentry.auth.providers.dummy",
  238. "sentry.auth.providers.github.views",
  239. "sentry.auth.providers.google.views",
  240. "sentry.auth.providers.oauth2",
  241. "sentry.auth.providers.saml2.generic.views",
  242. "sentry.auth.providers.saml2.provider",
  243. "sentry.auth.providers.saml2.rippling.provider",
  244. "sentry.auth.providers.saml2.views",
  245. "sentry.auth.system",
  246. "sentry.auth.view",
  247. "sentry.db.mixin",
  248. "sentry.db.models.manager.base",
  249. "sentry.db.models.paranoia",
  250. "sentry.db.models.query",
  251. "sentry.db.models.utils",
  252. "sentry.db.postgres.base",
  253. "sentry.db.router",
  254. "sentry.digests.notifications",
  255. "sentry.discover.endpoints.discover_key_transactions",
  256. "sentry.eventstore.models",
  257. "sentry.features.handler",
  258. "sentry.features.manager",
  259. "sentry.grouping.fingerprinting",
  260. "sentry.grouping.strategies.hierarchical",
  261. "sentry.grouping.strategies.legacy",
  262. "sentry.grouping.strategies.newstyle",
  263. "sentry.identity.bitbucket.provider",
  264. "sentry.identity.github_enterprise.provider",
  265. "sentry.identity.gitlab.provider",
  266. "sentry.identity.oauth2",
  267. "sentry.identity.pipeline",
  268. "sentry.identity.providers.dummy",
  269. "sentry.identity.slack.provider",
  270. "sentry.incidents.endpoints.bases",
  271. "sentry.incidents.endpoints.organization_alert_rule_details",
  272. "sentry.incidents.endpoints.organization_alert_rule_index",
  273. "sentry.incidents.endpoints.organization_incident_comment_details",
  274. "sentry.incidents.endpoints.organization_incident_index",
  275. "sentry.incidents.logic",
  276. "sentry.incidents.subscription_processor",
  277. "sentry.incidents.tasks",
  278. "sentry.integrations.aws_lambda.integration",
  279. "sentry.integrations.base",
  280. "sentry.integrations.bitbucket.client",
  281. "sentry.integrations.bitbucket.installed",
  282. "sentry.integrations.bitbucket.integration",
  283. "sentry.integrations.bitbucket.issues",
  284. "sentry.integrations.bitbucket.uninstalled",
  285. "sentry.integrations.bitbucket.webhook",
  286. "sentry.integrations.bitbucket_server.client",
  287. "sentry.integrations.bitbucket_server.integration",
  288. "sentry.integrations.bitbucket_server.webhook",
  289. "sentry.integrations.example.integration",
  290. "sentry.integrations.example.repository",
  291. "sentry.integrations.github.client",
  292. "sentry.integrations.github.integration",
  293. "sentry.integrations.github.issues",
  294. "sentry.integrations.github.repository",
  295. "sentry.integrations.github.webhook",
  296. "sentry.integrations.github_enterprise.integration",
  297. "sentry.integrations.github_enterprise.webhook",
  298. "sentry.integrations.gitlab.client",
  299. "sentry.integrations.gitlab.integration",
  300. "sentry.integrations.gitlab.issues",
  301. "sentry.integrations.gitlab.webhooks",
  302. "sentry.integrations.jira.actions.form",
  303. "sentry.integrations.jira.client",
  304. "sentry.integrations.jira.integration",
  305. "sentry.integrations.jira.views.base",
  306. "sentry.integrations.jira.views.sentry_issue_details",
  307. "sentry.integrations.jira.webhooks.base",
  308. "sentry.integrations.jira.webhooks.issue_updated",
  309. "sentry.integrations.jira_server.client",
  310. "sentry.integrations.jira_server.integration",
  311. "sentry.integrations.jira_server.webhooks",
  312. "sentry.integrations.manager",
  313. "sentry.integrations.message_builder",
  314. "sentry.integrations.metric_alerts",
  315. "sentry.integrations.mixins.issues",
  316. "sentry.integrations.mixins.notifications",
  317. "sentry.integrations.mixins.repositories",
  318. "sentry.integrations.msteams.actions.form",
  319. "sentry.integrations.msteams.client",
  320. "sentry.integrations.msteams.integration",
  321. "sentry.integrations.msteams.link_identity",
  322. "sentry.integrations.msteams.notifications",
  323. "sentry.integrations.msteams.webhook",
  324. "sentry.integrations.notifications",
  325. "sentry.integrations.pagerduty.actions.form",
  326. "sentry.integrations.pagerduty.client",
  327. "sentry.integrations.pagerduty.integration",
  328. "sentry.integrations.pipeline",
  329. "sentry.integrations.slack.actions.form",
  330. "sentry.integrations.slack.client",
  331. "sentry.integrations.slack.integration",
  332. "sentry.integrations.slack.message_builder.issues",
  333. "sentry.integrations.slack.message_builder.notifications.digest",
  334. "sentry.integrations.slack.message_builder.notifications.issues",
  335. "sentry.integrations.slack.notifications",
  336. "sentry.integrations.slack.unfurl.discover",
  337. "sentry.integrations.slack.utils.channel",
  338. "sentry.integrations.slack.utils.users",
  339. "sentry.integrations.slack.views.link_identity",
  340. "sentry.integrations.slack.views.link_team",
  341. "sentry.integrations.slack.views.unlink_team",
  342. "sentry.integrations.slack.webhooks.action",
  343. "sentry.integrations.slack.webhooks.base",
  344. "sentry.integrations.slack.webhooks.command",
  345. "sentry.integrations.slack.webhooks.event",
  346. "sentry.integrations.utils.commit_context",
  347. "sentry.integrations.utils.sync",
  348. "sentry.integrations.vercel.client",
  349. "sentry.integrations.vercel.integration",
  350. "sentry.integrations.vercel.webhook",
  351. "sentry.integrations.vsts.client",
  352. "sentry.integrations.vsts.integration",
  353. "sentry.integrations.vsts.issues",
  354. "sentry.integrations.vsts.repository",
  355. "sentry.integrations.vsts_extension.integration",
  356. "sentry.issues.endpoints.group_events",
  357. "sentry.issues.endpoints.organization_group_index",
  358. "sentry.issues.endpoints.source_map_debug",
  359. "sentry.issues.search",
  360. "sentry.middleware.access_log",
  361. "sentry.middleware.auth",
  362. "sentry.middleware.ratelimit",
  363. "sentry.middleware.superuser",
  364. "sentry.models.auditlogentry",
  365. "sentry.models.integrations.external_issue",
  366. "sentry.models.integrations.sentry_app_installation",
  367. "sentry.models.organizationaccessrequest",
  368. "sentry.monitors.consumers.monitor_consumer",
  369. "sentry.monitors.endpoints.base",
  370. "sentry.monitors.endpoints.monitor_ingest_checkin_attachment",
  371. "sentry.monitors.endpoints.organization_monitor_index",
  372. "sentry.net.http",
  373. "sentry.net.socket",
  374. "sentry.notifications.additional_attachment_manager",
  375. "sentry.notifications.notifications.activity.base",
  376. "sentry.notifications.notifications.activity.release",
  377. "sentry.notifications.notifications.integration_nudge",
  378. "sentry.notifications.notifications.rules",
  379. "sentry.ownership.grammar",
  380. "sentry.pipeline.base",
  381. "sentry.pipeline.views.base",
  382. "sentry.pipeline.views.nested",
  383. "sentry.plugins.base.notifier",
  384. "sentry.plugins.base.urls",
  385. "sentry.plugins.bases.data_forwarding",
  386. "sentry.plugins.bases.issue",
  387. "sentry.plugins.bases.issue2",
  388. "sentry.plugins.bases.notify",
  389. "sentry.plugins.config",
  390. "sentry.plugins.endpoints",
  391. "sentry.plugins.providers.base",
  392. "sentry.plugins.providers.repository",
  393. "sentry.profiles.task",
  394. "sentry.profiles.utils",
  395. "sentry.receivers.releases",
  396. "sentry.receivers.sentry_apps",
  397. "sentry.release_health.metrics_sessions_v2",
  398. "sentry.release_health.tasks",
  399. "sentry.replays.endpoints.project_replay_clicks_index",
  400. "sentry.replays.lib.query",
  401. "sentry.rules.actions.integrations.base",
  402. "sentry.rules.actions.integrations.create_ticket.form",
  403. "sentry.rules.actions.integrations.create_ticket.utils",
  404. "sentry.rules.actions.notify_event_service",
  405. "sentry.rules.filters.assigned_to",
  406. "sentry.rules.history.preview",
  407. "sentry.scim.endpoints.members",
  408. "sentry.scim.endpoints.teams",
  409. "sentry.scim.endpoints.utils",
  410. "sentry.search.events.builder.discover",
  411. "sentry.search.events.builder.errors",
  412. "sentry.search.events.builder.metrics",
  413. "sentry.search.events.datasets.discover",
  414. "sentry.search.events.datasets.filter_aliases",
  415. "sentry.search.events.datasets.function_aliases",
  416. "sentry.search.events.datasets.metrics",
  417. "sentry.search.events.datasets.metrics_layer",
  418. "sentry.search.events.datasets.profile_functions",
  419. "sentry.search.events.datasets.profiles",
  420. "sentry.search.events.datasets.spans_metrics",
  421. "sentry.search.events.fields",
  422. "sentry.search.events.filter",
  423. "sentry.search.snuba.backend",
  424. "sentry.search.snuba.executors",
  425. "sentry.search.utils",
  426. "sentry.sentry_apps.apps",
  427. "sentry.sentry_apps.installations",
  428. "sentry.sentry_metrics.configuration",
  429. "sentry.sentry_metrics.consumers.indexer.slicing_router",
  430. "sentry.sentry_metrics.indexer.postgres.postgres_v2",
  431. "sentry.shared_integrations.client.base",
  432. "sentry.shared_integrations.client.proxy",
  433. "sentry.similarity.features",
  434. "sentry.snuba.discover",
  435. "sentry.snuba.errors",
  436. "sentry.snuba.issue_platform",
  437. "sentry.snuba.metrics.datasource",
  438. "sentry.snuba.metrics.fields.base",
  439. "sentry.snuba.metrics.query_builder",
  440. "sentry.snuba.sessions_v2",
  441. "sentry.snuba.spans_indexed",
  442. "sentry.snuba.spans_metrics",
  443. "sentry.stacktraces.functions",
  444. "sentry.tagstore.snuba.backend",
  445. "sentry.tagstore.types",
  446. "sentry.tasks.auth",
  447. "sentry.tasks.base",
  448. "sentry.tasks.codeowners.update_code_owners_schema",
  449. "sentry.tasks.deliver_from_outbox",
  450. "sentry.tasks.digests",
  451. "sentry.tasks.groupowner",
  452. "sentry.tasks.integrations",
  453. "sentry.tasks.integrations.migrate_issues",
  454. "sentry.tasks.integrations.migrate_repo",
  455. "sentry.tasks.integrations.slack.find_channel_id_for_rule",
  456. "sentry.tasks.integrations.slack.link_slack_user_identities",
  457. "sentry.tasks.integrations.sync_assignee_outbound_impl",
  458. "sentry.tasks.integrations.sync_status_inbound",
  459. "sentry.tasks.integrations.sync_status_outbound",
  460. "sentry.tasks.merge",
  461. "sentry.tasks.process_buffer",
  462. "sentry.tasks.sentry_apps",
  463. "sentry.tasks.store",
  464. "sentry.tasks.unmerge",
  465. "sentry.templatetags.sentry_assets",
  466. "sentry.templatetags.sentry_helpers",
  467. "sentry.templatetags.sentry_plugins",
  468. "sentry.testutils.asserts",
  469. "sentry.testutils.cases",
  470. "sentry.testutils.fixtures",
  471. "sentry.testutils.helpers.features",
  472. "sentry.testutils.helpers.notifications",
  473. "sentry.testutils.helpers.slack",
  474. "sentry.testutils.helpers.task_runner",
  475. "sentry.testutils.performance_issues.span_builder",
  476. "sentry.testutils.performance_issues.store_transaction",
  477. "sentry.tsdb.dummy",
  478. "sentry.tsdb.inmemory",
  479. "sentry.types.integrations",
  480. "sentry.utils.audit",
  481. "sentry.utils.auth",
  482. "sentry.utils.committers",
  483. "sentry.utils.distutils.commands.base",
  484. "sentry.utils.distutils.commands.build_assets",
  485. "sentry.utils.email.signer",
  486. "sentry.utils.locking.backends.migration",
  487. "sentry.utils.performance_issues.detectors.io_main_thread_detector",
  488. "sentry.utils.performance_issues.detectors.mn_plus_one_db_span_detector",
  489. "sentry.utils.performance_issues.detectors.n_plus_one_api_calls_detector",
  490. "sentry.utils.performance_issues.detectors.n_plus_one_db_span_detector",
  491. "sentry.utils.performance_issues.detectors.render_blocking_asset_span_detector",
  492. "sentry.utils.performance_issues.detectors.slow_db_query_detector",
  493. "sentry.utils.performance_issues.performance_detection",
  494. "sentry.utils.sentry_apps.webhooks",
  495. "sentry.utils.services",
  496. "sentry.utils.snowflake",
  497. "sentry.utils.suspect_resolutions.get_suspect_resolutions",
  498. "sentry.utils.suspect_resolutions_releases.get_suspect_resolutions_releases",
  499. "sentry.web.forms.accounts",
  500. "sentry.web.frontend.account_identity",
  501. "sentry.web.frontend.auth_close",
  502. "sentry.web.frontend.auth_login",
  503. "sentry.web.frontend.auth_logout",
  504. "sentry.web.frontend.auth_organization_login",
  505. "sentry.web.frontend.auth_provider_login",
  506. "sentry.web.frontend.base",
  507. "sentry.web.frontend.debug.debug_codeowners_auto_sync_failure_email",
  508. "sentry.web.frontend.debug.debug_incident_activity_email",
  509. "sentry.web.frontend.debug.debug_incident_trigger_email",
  510. "sentry.web.frontend.debug.debug_mfa_added_email",
  511. "sentry.web.frontend.debug.debug_mfa_removed_email",
  512. "sentry.web.frontend.debug.debug_new_processing_issues_email",
  513. "sentry.web.frontend.debug.debug_organization_integration_request",
  514. "sentry.web.frontend.debug.debug_organization_invite_request",
  515. "sentry.web.frontend.debug.debug_organization_join_request",
  516. "sentry.web.frontend.disabled_member_view",
  517. "sentry.web.frontend.generic",
  518. "sentry.web.frontend.group_plugin_action",
  519. "sentry.web.frontend.idp_email_verification",
  520. "sentry.web.frontend.integration_extension_configuration",
  521. "sentry.web.frontend.js_sdk_loader",
  522. "sentry.web.frontend.newest_issue",
  523. "sentry.web.frontend.oauth_authorize",
  524. "sentry.web.frontend.oauth_token",
  525. "sentry.web.frontend.organization_integration_setup",
  526. "sentry.web.frontend.pipeline_advancer",
  527. "sentry.web.frontend.project_event",
  528. "sentry.web.frontend.react_page",
  529. "sentry.web.frontend.reactivate_account",
  530. "sentry.web.frontend.setup_wizard",
  531. "sentry.web.frontend.shared_group_details",
  532. "sentry.web.frontend.twofactor",
  533. "sentry_plugins.bitbucket.client",
  534. "sentry_plugins.bitbucket.endpoints.webhook",
  535. "sentry_plugins.bitbucket.mixins",
  536. "sentry_plugins.client",
  537. "sentry_plugins.github.client",
  538. "sentry_plugins.github.plugin",
  539. "sentry_plugins.github.webhooks.base",
  540. "sentry_plugins.github.webhooks.integration",
  541. "sentry_plugins.heroku.plugin",
  542. "sentry_plugins.jira.client",
  543. "sentry_plugins.jira.plugin",
  544. "sentry_plugins.pivotal.plugin",
  545. "sentry_plugins.redmine.forms",
  546. "sentry_plugins.redmine.plugin",
  547. "sentry_plugins.splunk.plugin",
  548. "sentry_plugins.trello.plugin",
  549. "sentry_plugins.twilio.plugin",
  550. "tests.sentry.api.bases.test_organization",
  551. "tests.sentry.api.bases.test_project",
  552. "tests.sentry.api.bases.test_sentryapps",
  553. "tests.sentry.api.bases.test_team",
  554. "tests.sentry.api.endpoints.notifications.test_notification_actions_details",
  555. "tests.sentry.api.endpoints.notifications.test_notification_actions_index",
  556. "tests.sentry.api.endpoints.test_event_attachment_details",
  557. "tests.sentry.api.helpers.test_group_index",
  558. "tests.sentry.api.test_authentication",
  559. "tests.sentry.api.test_base",
  560. "tests.sentry.api.test_event_search",
  561. "tests.sentry.digests.test_notifications",
  562. "tests.sentry.eventstore.test_base",
  563. "tests.sentry.grouping.test_result",
  564. "tests.sentry.identity.test_oauth2",
  565. "tests.sentry.incidents.test_logic",
  566. "tests.sentry.ingest.test_slicing",
  567. "tests.sentry.integrations.github.test_client",
  568. "tests.sentry.integrations.slack.test_requests",
  569. "tests.sentry.issues.test_utils",
  570. "tests.sentry.models.test_organizationmember",
  571. "tests.sentry.replays.test_project_replay_recording_segment_index",
  572. "tests.sentry.tasks.test_post_process",
  573. ]
  574. disable_error_code = [
  575. "arg-type",
  576. "assignment",
  577. "attr-defined",
  578. "call-arg",
  579. "call-overload",
  580. "dict-item",
  581. "has-type",
  582. "index",
  583. "list-item",
  584. "misc",
  585. "operator",
  586. "override",
  587. "return-value",
  588. "typeddict-item",
  589. "typeddict-unknown-key",
  590. "union-attr",
  591. "unreachable",
  592. "var-annotated",
  593. ]
  594. # end: sentry modules with typing issues
  595. # begin: stronger typing
  596. [[tool.mypy.overrides]]
  597. module = [
  598. "sentry.api.endpoints.issues.*",
  599. "sentry.buffer.base",
  600. "sentry.buffer.redis",
  601. "sentry.eventstore.reprocessing.redis",
  602. "sentry.issues.related.*",
  603. "sentry.lang.java.processing",
  604. "sentry.nodestore.base",
  605. "sentry.nodestore.bigtable.backend",
  606. "sentry.nodestore.django.backend",
  607. "sentry.nodestore.django.models",
  608. "sentry.nodestore.filesystem.backend",
  609. "sentry.nodestore.models",
  610. "sentry.relay.config.metric_extraction",
  611. "sentry.reprocessing2",
  612. "sentry.runner.*",
  613. "sentry.snuba.metrics.extraction",
  614. "sentry.tasks.on_demand_metrics",
  615. "sentry.tasks.reprocessing2",
  616. "sentry.utils.locking.backends.redis",
  617. "sentry.utils.redis",
  618. "sentry.utils.redis_metrics",
  619. "sentry_plugins.base",
  620. "tests.sentry.api.endpoints.issues.*",
  621. "tests.sentry.relay.config.test_metric_extraction",
  622. "tests.sentry.tasks.test_on_demand_metrics",
  623. "tools.*",
  624. ]
  625. disallow_any_generics = true
  626. disallow_untyped_defs = true
  627. # end: stronger typing