]> jfr.im git - dlqueue.git/blame - venv/lib/python3.11/site-packages/pip/_vendor/rich/abc.py
init: venv aand flask
[dlqueue.git] / venv / lib / python3.11 / site-packages / pip / _vendor / rich / abc.py
CommitLineData
e0df8241
JR
1from abc import ABC
2
3
4class RichRenderable(ABC):
5 """An abstract base class for Rich renderables.
6
7 Note that there is no need to extend this class, the intended use is to check if an
8 object supports the Rich renderable protocol. For example::
9
10 if isinstance(my_object, RichRenderable):
11 console.print(my_object)
12
13 """
14
15 @classmethod
16 def __subclasshook__(cls, other: type) -> bool:
17 """Check if this class supports the rich render protocol."""
18 return hasattr(other, "__rich_console__") or hasattr(other, "__rich__")
19
20
21if __name__ == "__main__": # pragma: no cover
22 from pip._vendor.rich.text import Text
23
24 t = Text()
25 print(isinstance(Text, RichRenderable))
26 print(isinstance(t, RichRenderable))
27
28 class Foo:
29 pass
30
31 f = Foo()
32 print(isinstance(f, RichRenderable))
33 print(isinstance("", RichRenderable))