Revision e6c17f6ed58737aee8f4839eecbb73553e946b2c authored by Valentin Lorentz on 01 September 2020, 08:38:36 UTC, committed by Valentin Lorentz on 01 September 2020, 08:38:36 UTC
We're already using 'StorageInterface' as type annotation where we expect an object
that implements the same methods, but it isn't technically correct since these
objects aren't an instance of a subclass.

Making StorageInterface a protocol reflects how we already use it, without
lying to mypy.
1 parent 5afd985
Raw File
mypy.ini
[mypy]
namespace_packages = True

# due to the conditional import logic on swh.journal, in some cases a specific
# type: ignore is needed, in other it isn't...
warn_unused_ignores = False

# support for sqlalchemy magic: see https://github.com/dropbox/sqlalchemy-stubs
plugins = sqlmypy


# 3rd party libraries without stubs (yet)

[mypy-cassandra.*]
ignore_missing_imports = True

[mypy-confluent_kafka.*]
ignore_missing_imports = True

[mypy-deprecated.*]
ignore_missing_imports = True

# only shipped indirectly via hypothesis
[mypy-django.*]
ignore_missing_imports = True

[mypy-msgpack.*]
ignore_missing_imports = True

[mypy-multiprocessing.util]
ignore_missing_imports = True

[mypy-pkg_resources.*]
ignore_missing_imports = True

[mypy-psycopg2.*]
ignore_missing_imports = True

[mypy-pytest.*]
ignore_missing_imports = True

[mypy-pytest_cov.*]
ignore_missing_imports = True

[mypy-pytest_kafka.*]
ignore_missing_imports = True

[mypy-systemd.daemon.*]
ignore_missing_imports = True

[mypy-tenacity.*]
ignore_missing_imports = True

# temporary work-around for landing typing support in spite of the current
# journal<->storage dependency loop
[mypy-swh.journal.*]
ignore_missing_imports = True

[mypy-pytest_postgresql.*]
ignore_missing_imports = True
back to top