F/johnson

Original algorithm available here:

http://epubs.siam.org.gate.lib.buffalo.edu/doi/abs/10.1137/0204007

The below repository was used as a base to port the algorithm to Python:

https://github.com/1123/johnson