1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
# stdlib
import os
import pathlib
from abc import abstractmethod
from typing import Callable, List, Tuple, Union
# 3rd party
import attr
#: Some variable
variable: Union[List[str], Tuple[str, int, float], int, bytes, Callable[[str], int]] = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
CONSTANT: int = 42
"""
Don't change this!"
"""
#: Type hint for filesystem paths
PathLike = Union[str, os.PathLike, pathlib.Path]
@attr.s(slots=False)
class Demo:
"""
An attrs class
"""
#: An argument
arg1: str = attr.ib()
#: Another argument
arg2: int = attr.ib()
@property
@abstractmethod
def foo(self) -> str:
"""
A property.
"""
raise NotImplementedError
@attr.s(slots=True)
class SlotsDemo:
"""
An attrs class with slots=True
"""
#: An argument
arg1: str = attr.ib()
#: Another argument
arg2: int = attr.ib()
|