[mypy] namespace_packages = True plugins = mypy_zope:plugin, scripts-dev/mypy_synapse_plugin.py follow_imports = normal check_untyped_defs = True show_error_codes = True show_traceback = True mypy_path = stubs warn_unreachable = True local_partial_types = True no_implicit_optional = True # To find all folders that pass mypy you run: # # find synapse/* -type d -not -name __pycache__ -exec bash -c "mypy '{}' > /dev/null" \; -print files = scripts-dev/sign_json, synapse/api, synapse/appservice, synapse/config, synapse/crypto, synapse/event_auth.py, synapse/events/builder.py, synapse/events/spamcheck.py, synapse/events/third_party_rules.py, synapse/events/validator.py, synapse/federation, synapse/groups, synapse/handlers, synapse/http/additional_resource.py, synapse/http/client.py, synapse/http/federation/matrix_federation_agent.py, synapse/http/federation/srv_resolver.py, synapse/http/federation/well_known_resolver.py, synapse/http/matrixfederationclient.py, synapse/http/proxyagent.py, synapse/http/servlet.py, synapse/http/server.py, synapse/http/site.py, synapse/logging, synapse/metrics, synapse/module_api, synapse/notifier.py, synapse/push, synapse/replication, synapse/rest, synapse/server.py, synapse/server_notices, synapse/spam_checker_api, synapse/state, synapse/storage/__init__.py, synapse/storage/_base.py, synapse/storage/background_updates.py, synapse/storage/databases/main/appservice.py, synapse/storage/databases/main/events.py, synapse/storage/databases/main/keys.py, synapse/storage/databases/main/pusher.py, synapse/storage/databases/main/registration.py, synapse/storage/databases/main/session.py, synapse/storage/databases/main/stream.py, synapse/storage/databases/main/ui_auth.py, synapse/storage/databases/state, synapse/storage/database.py, synapse/storage/engines, synapse/storage/keys.py, synapse/storage/persist_events.py, synapse/storage/prepare_database.py, synapse/storage/purge_events.py, synapse/storage/push_rule.py, synapse/storage/relations.py, synapse/storage/roommember.py, synapse/storage/state.py, synapse/storage/types.py, synapse/storage/util, synapse/streams, synapse/types.py, synapse/util, synapse/visibility.py, tests/replication, tests/test_event_auth.py, tests/test_utils, tests/handlers/test_password_providers.py, tests/handlers/test_room.py, tests/handlers/test_room_summary.py, tests/handlers/test_send_email.py, tests/handlers/test_sync.py, tests/handlers/test_user_directory.py, tests/rest/client/test_login.py, tests/rest/client/test_auth.py, tests/storage/test_state.py, tests/storage/test_user_directory.py, tests/util/test_itertools.py, tests/util/test_stream_change_cache.py [mypy-synapse.handlers.*] disallow_untyped_defs = True [mypy-synapse.rest.*] disallow_untyped_defs = True [mypy-synapse.util.batching_queue] disallow_untyped_defs = True [mypy-synapse.util.caches.dictionary_cache] disallow_untyped_defs = True [mypy-synapse.util.file_consumer] disallow_untyped_defs = True [mypy-synapse.util.frozenutils] disallow_untyped_defs = True [mypy-synapse.util.hash] disallow_untyped_defs = True [mypy-synapse.util.httpresourcetree] disallow_untyped_defs = True [mypy-synapse.util.iterutils] disallow_untyped_defs = True [mypy-synapse.util.linked_list] disallow_untyped_defs = True [mypy-synapse.util.logcontext] disallow_untyped_defs = True [mypy-synapse.util.logformatter] disallow_untyped_defs = True [mypy-synapse.util.macaroons] disallow_untyped_defs = True [mypy-synapse.util.manhole] disallow_untyped_defs = True [mypy-synapse.util.module_loader] disallow_untyped_defs = True [mypy-synapse.util.msisdn] disallow_untyped_defs = True [mypy-synapse.util.ratelimitutils] disallow_untyped_defs = True [mypy-synapse.util.retryutils] disallow_untyped_defs = True [mypy-synapse.util.rlimit] disallow_untyped_defs = True [mypy-synapse.util.stringutils] disallow_untyped_defs = True [mypy-synapse.util.templates] disallow_untyped_defs = True [mypy-synapse.util.threepids] disallow_untyped_defs = True [mypy-synapse.util.wheel_timer] disallow_untyped_defs = True [mypy-pymacaroons.*] ignore_missing_imports = True [mypy-zope] ignore_missing_imports = True [mypy-bcrypt] ignore_missing_imports = True [mypy-constantly] ignore_missing_imports = True [mypy-twisted.*] ignore_missing_imports = True [mypy-treq.*] ignore_missing_imports = True [mypy-hyperlink] ignore_missing_imports = True [mypy-h11] ignore_missing_imports = True [mypy-msgpack] ignore_missing_imports = True [mypy-opentracing] ignore_missing_imports = True [mypy-OpenSSL.*] ignore_missing_imports = True [mypy-netaddr] ignore_missing_imports = True [mypy-saml2.*] ignore_missing_imports = True [mypy-canonicaljson] ignore_missing_imports = True [mypy-jaeger_client.*] ignore_missing_imports = True [mypy-jsonschema] ignore_missing_imports = True [mypy-signedjson.*] ignore_missing_imports = True [mypy-prometheus_client.*] ignore_missing_imports = True [mypy-service_identity.*] ignore_missing_imports = True [mypy-daemonize] ignore_missing_imports = True [mypy-sentry_sdk] ignore_missing_imports = True [mypy-PIL.*] ignore_missing_imports = True [mypy-lxml] ignore_missing_imports = True [mypy-jwt.*] ignore_missing_imports = True [mypy-authlib.*] ignore_missing_imports = True [mypy-rust_python_jaeger_reporter.*] ignore_missing_imports = True [mypy-nacl.*] ignore_missing_imports = True [mypy-hiredis] ignore_missing_imports = True [mypy-josepy.*] ignore_missing_imports = True [mypy-pympler.*] ignore_missing_imports = True [mypy-phonenumbers.*] ignore_missing_imports = True [mypy-ijson.*] ignore_missing_imports = True [mypy-psycopg2.*] ignore_missing_imports = True