RFC: spatial.distance: consolidate Cython and Python metric implementations

The spatial.distance module contains two sets of implementations for the 20+ metrics: the “one-per-call” Python version, such as euclidean , and the “many-per-call” Cython version, such as cdist(‘euclidean’) . It is a maintenance burden to ensure that the behavior between implementations are consistent, and they are sometimes not. In addition, a search of “spatial.distance” under Issues show a few open issues that could be easier to solve if there is only one “golden source of implementation”.

Therefore, I opened Issue 21090 to gather opinions on whether we should consolidate these implementations, and how to do that. Please share your thoughts here or under that Issue.

Thank you!