pysemigroup
