File: magic_typing.py

package info (click to toggle)
python-acme 1.12.0-2%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 700 kB
  • sloc: python: 4,263; makefile: 173
file content (16 lines) | stat: -rw-r--r-- 537 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"""Shim class to not have to depend on typing module in prod."""
import sys


class TypingClass(object):
    """Ignore import errors by getting anything"""
    def __getattr__(self, name):
        return None

try:
    # mypy doesn't respect modifying sys.modules
    from typing import *  # pylint: disable=wildcard-import, unused-wildcard-import
    from typing import Collection, IO  # type: ignore
except ImportError:
    # mypy complains because TypingClass is not a module
    sys.modules[__name__] = TypingClass()  # type: ignore