Causal Discovery in Python. It also includes (conditional) independence tests and score functions.
Several optimizations of the code. Better visualization (node labels, visualization using pydot, etc.).