docs: Lots of improvements to the documentation.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/scripts/python-skywater-pdk/skywater_pdk/utils.py b/scripts/python-skywater-pdk/skywater_pdk/utils.py
index d0b284a..9f7a641 100644
--- a/scripts/python-skywater-pdk/skywater_pdk/utils.py
+++ b/scripts/python-skywater-pdk/skywater_pdk/utils.py
@@ -19,6 +19,7 @@
import dataclasses
import dataclasses_json
+import functools
import random
import sys
@@ -64,6 +65,9 @@
def comparable_to_none(cls):
"""
+ Examples
+ --------
+
>>> @comparable_to_none
... @dataclass(order=True)
... class A:
@@ -124,11 +128,20 @@
s = super().__repr__()
return s.replace('comparable_to_none.<locals>.ComparableToNoneVersion', cls.__name__)
+ for a in functools.WRAPPER_ASSIGNMENTS:
+ if not hasattr(cls, a):
+ continue
+ setattr(ComparableToNoneVersion, a, getattr(cls, a))
+
return ComparableToNoneVersion
def _is_optional_type(t):
"""
+
+ Examples
+ --------
+
>>> _is_optional_type(Optional[int])
True
>>> _is_optional_type(Optional[Tuple])
@@ -141,6 +154,10 @@
def _get_the_optional_type(t):
"""
+
+ Examples
+ --------
+
>>> _get_the_optional_type(Optional[int])
<class 'int'>
>>> _get_the_optional_type(Optional[Tuple])
@@ -158,6 +175,10 @@
def _get_type_name(ot):
"""
+
+ Examples
+ --------
+
>>> _get_type_name(int)
'int'
>>> _get_type_name(Tuple)