Satella contains some expressions to help you with typing. You import them from satella.coding.typing. They are as follows:

  • NoneType - the type of None

  • ExceptionClassType - base type of exception class

  • Number - an amalgam of int and float

  • T, U, K, V - type vars to use
    • Note that K must be hashable

  • Iteratable - a generic iterator or an iterable of T

  • NoArgCallable - a callable with no arguments returning T

  • Appendable - an object which has the append method

  • Predicate - a callable that accepts a T and returns a bool

  • KVTuple - a tuple of (K, V)

  • Comparable - a class that allows comparison between it’s instances

  • ExceptionList - either a single exception type or a tuple of exception types.

    As used by except statement and some satella functions.

You may use these generics in your classes, eg.

def enumerate(v: Iteratable[int]) -> int: