anchor.diff:    doCheck = !isPyPy; # numpy 1.16+ hits a bug in pypy's ctypes, using either numpy or pypy HEAD fixes this (https://github.com/numpy/numpy/issues/13807)
   
     checkInputs = [
  -    pytest_5 # pytest 6 will error: "module is already imported: hypothesis"
  +    pytest
       hypothesis
     ];
   
  
positive.code: , buildPythonPackage
  , gfortran
  , hypothesis
  , pytest_5
  , blas
  , lapack
  , writeTextFile
  , isPyPy
  , cython
  , setuptoolsBuildHook
  , fetchpatch
   }:
  
  assert (!blas.isILP64) && (!lapack.isILP64);
  
  
negative.code:   };
  in buildPythonPackage rec {
    pname = "numpy";
    version = "1.20.1";
    format = "pyproject.toml";
    disabled = pythonOlder "3.7";
  
    src = fetchPypi {
      inherit pname version;
      extension = "zip";
      sha256 = "02m6sms6wb4flfg8y4h0msan4y7w7qgfqxhdk21lcabhm2339iiv";
    };
  
    patches = lib.optionals python.hasDistutilsCxxPatch [
      # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
      # Patching of numpy.distutils is needed to prevent it from undoing the
      # patch to distutils.
      ./numpy-distutils-C++.patch
    ];
  
    nativeBuildInputs = [ gfortran cython setuptoolsBuildHook ];
    buildInputs = [ blas lapack ];
  
    # we default openblas to build with 64 threads
    # if a machine has more than 64 threads, it will segfault
  