zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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