zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from typing import Any, ClassVar, Protocol
 
# MYPY is a special constant in mypy which works the same way as `TYPE_CHECKING`.
MYPY = False
 
if MYPY:
    # A protocol to be able to statically accept an attrs class.
    class AttrsInstance_(Protocol):
        __attrs_attrs__: ClassVar[Any]
 
else:
    # For type checkers without plug-in support use an empty protocol that
    # will (hopefully) be combined into a union.
    class AttrsInstance_(Protocol):
        pass