A pure Python chess library with move generation and validation and handling of common formats