On 24 May 2015 at 22:30, Sturla Molden <sturla.molden@gmail.com> wrote:
Personally I think we should only make guarantees about the data types,
array shapes, and things like that, but not about the values. Those who
need a particular version of NumPy for exact reproducibility should
install the version of Python and NumPy they need. That is why virtual
environments exist.

But there is a lot of legacy code out there that doesn't specify the version required; and in most cases the original author cannot even be asked.

Tests are a particularly annoying case. For example, when testing an algorithm, is usually a good practice to record the number of iterations as well as the result; consider it an early warning that we have changed something we possibly didn't mean to, even if the result is correct. If we want to support several NumPy versions, and the algorithm has any randomness, the tests would have to be duplicated, or find a seed that gives the exact same results. Thus, keeping different versions lets us compare the results against the old API, without needing to duplicate the tests. A lot less people will get annoyed.


/David.