diff --git a/mypy.ini b/mypy.ini index 402ff2b439..a0b3c4039e 100644 --- a/mypy.ini +++ b/mypy.ini @@ -25,6 +25,15 @@ local_partial_types = True # (The mypy daemon only supports error and skip for follow_imports) follow_imports = error +# We use a lot of third-party libraries we don't have stubs for, as +# well as a handful of our own modules that we haven't told mypy how +# to find. Ignore them. (For some details, see: +# `git log -p -S ignore_missing_imports mypy.ini`.) +# +# This doesn't get in the way of using the stubs we *do* have. +ignore_missing_imports = True + + # # # IGNORE ERRORS @@ -66,212 +75,6 @@ ignore_errors = True follow_imports = skip -# -# -# IGNORE MISSING IMPORTS -# -# - -# Our code, imported relative to tools/ by scripts in that directory. -# Mypy doesn't know that these are scripts used as __main__, and -# doesn't find the imports. - -[mypy-lib,lib.*] -ignore_missing_imports = True - -[mypy-zulint,zulint.*,zulint.lister.*] -ignore_missing_imports = True - - -# Our own libraries, maintained outside this repo and installed -# through pip. We need to tell mypy where to find them. - -[mypy-zulip_bots.lib] -ignore_missing_imports = True - -[mypy-zulip_bots.custom_exceptions] -ignore_missing_imports = True - - -# Standard library (lex order) - -[mypy-ConfigParser] -ignore_missing_imports = True - -[mypy-multiprocessing.sharedctypes] -ignore_missing_imports = True - -[mypy-typing.re] -ignore_missing_imports = True - -[mypy-unittest.result] -ignore_missing_imports = True - - -# Third-party libraries (lex order) - -[mypy-apiclient.sample_tools] -ignore_missing_imports = True - -[mypy-apns2.*] -ignore_missing_imports = True - -[mypy-bitfield,bitfield.*] -ignore_missing_imports = True - -[mypy-bs4] -ignore_missing_imports = True - -[mypy-coverage] -ignore_missing_imports = True - -[mypy-cssutils,cssutils.*] -ignore_missing_imports = True - -[mypy-defusedxml.*] -ignore_missing_imports = True - -[mypy-digitalocean] -ignore_missing_imports = True - -[mypy-disposable_email_domains] -ignore_missing_imports = True - -[mypy-django,django.*] -ignore_missing_imports = True - -[mypy-django_auth_ldap,django_auth_ldap.*] -ignore_missing_imports = True - -[mypy-django_otp.*] -ignore_missing_imports = True - -[mypy-django_statsd.*] -ignore_missing_imports = True - -[mypy-DNS] -ignore_missing_imports = True - -[mypy-gcm] -ignore_missing_imports = True - -[mypy-gitlint,gitlint.*] -ignore_missing_imports = True - -[mypy-httplib2] -ignore_missing_imports = True - -[mypy-httpretty] -ignore_missing_imports = True - -[mypy-hyper,hyper.*] -ignore_missing_imports = True - -[mypy-ijson] -ignore_missing_imports = True - -[mypy-ldap,fakeldap] -ignore_missing_imports = True - -[mypy-libthumbor] -ignore_missing_imports = True - -[mypy-lxml,lxml.*] -ignore_missing_imports = True - -[mypy-markdown,markdown.*,markdown_include,markdown_include.*] -ignore_missing_imports = True - -[mypy-mock] -ignore_missing_imports = True - -[mypy-moto] -ignore_missing_imports = True - -[mypy-netifaces] -ignore_missing_imports = True - -[mypy-oauth2client.crypt] -ignore_missing_imports = True - -[mypy-pika,pika.*] -ignore_missing_imports = True - -[mypy-PIL,PIL.*] -ignore_missing_imports = True - -[mypy-pipeline.storage] -ignore_missing_imports = True - -[mypy-polib] -ignore_missing_imports = True - -[mypy-premailer] -ignore_missing_imports = True - -[mypy-psycopg2,psycopg2.*] -ignore_missing_imports = True - -[mypy-pygments.*] -ignore_missing_imports = True - -[mypy-pylibmc] -ignore_missing_imports = True - -[mypy-pyoembed] -ignore_missing_imports = True - -[mypy-redis] -ignore_missing_imports = True - -[mypy-scrapy,scrapy.*] -ignore_missing_imports = True - -[mypy-sendfile] -ignore_missing_imports = True - -[mypy-six.moves.configparser] -ignore_missing_imports = True - -[mypy-social_core.*] -ignore_missing_imports = True - -[mypy-social_django,social_django.*] -ignore_missing_imports = True - -[mypy-sockjs,sockjs.*] -ignore_missing_imports = True - -[mypy-sourcemap] -ignore_missing_imports = True - -[mypy-sqlalchemy,sqlalchemy.*] -ignore_missing_imports = True - -[mypy-statsd] -ignore_missing_imports = True - -[mypy-talon] -ignore_missing_imports = True - -[mypy-tc_aws.loaders] -ignore_missing_imports = True - -[mypy-thumbor.*] -ignore_missing_imports = True - -[mypy-tornado,tornado.*] -ignore_missing_imports = True - -[mypy-twitter] -ignore_missing_imports = True - -[mypy-two_factor,two_factor.*] -ignore_missing_imports = True - - - - # # # STRICT OPTIONAL