from __future__ import annotations import io from typing import Optional, overload myint = int #: docstring variable: myint #: docstring variable2 = None # type: myint #: docstring variable3: Optional[myint] def read(r: io.BytesIO) -> io.StringIO: """docstring""" def sum(x: myint, y: myint) -> myint: """docstring""" return x + y @overload def mult(x: myint, y: myint) -> myint: ... @overload def mult(x: float, y: float) -> float: ... def mult(x, y): """docstring""" return x, y class Foo: """docstring""" #: docstring attr1: myint def __init__(self): self.attr2: myint = None #: docstring