<p dir="auto">Hi,</p>
<p dir="auto">I think that interp1d should be more verbose when extrapolating out of bounds, for example using warnings. The code itself poses the question, and answers "matlab does not".</p>
<p dir="auto">I vote yes :)</p>
<p dir="auto">Seriously, Extrapolating can be fine, I do that a lot in order to avoid crashes when one/two points are out of the allowed interpolation, but I would love to be warned if data are being extrapolated.</p>
<p dir="auto">That new beta version of Cython was released yesterday (Feb. 25th) on PyPI, and is causing a build failure on the pre-release Azure job in recent PRs. I don't know if a subset of the issues should simply be reported upstream, but this is quite easy to reproduce locally with cython <code class="notranslate">3.0.0b1</code> installed from PyPI of course.</p>
<p dir="auto">Sample errors from local build:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Meson build setup OK
💻  ninja -C /home/tyler/github_projects/scipy/build
ninja: Entering directory `/home/tyler/github_projects/scipy/build'
[153/1622] Generating 'scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so.p/_ccallback_c.c'.
FAILED: scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so.p/_ccallback_c.c 
/home/tyler/python_310_scipy_dev_work/bin/cython -3 --fast-fail --output-file scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so.p/_ccallback_c.c --include-dir . ../scipy/_lib/_ccallback_c.pyx
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:5:83: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:6:94: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:7:105: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:9:58: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:109:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:135:87: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:184:83: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:198:94: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:201:105: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:204:58: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.

Error compiling Cython file:
------------------------------------------------------------
...
    if name == NULL:
        name_copy = name
    else:
        name_copy = strdup(name)

    capsule = PyCapsule_New(func, name_copy, &amp;raw_capsule_destructor)
                                             ^
------------------------------------------------------------

/home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:80:45: Cannot assign type 'void (*)(object) except *' to 'PyCapsule_Destructor'
[171/1622] Generating 'scipy/sparse/csgraph/_min_spanning_tree.cpython-310-x86_64-linux-gnu.so.p/_min_spanning_tree.c'.
warning: /home/tyler/github_projects/scipy/scipy/sparse/csgraph/parameters.pxi:14:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: /home/tyler/github_projects/scipy/scipy/sparse/csgraph/parameters.pxi:17:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
[173/1622] Generating 'scipy/special/_ufuncs.cpython-310-x86_64-linux-gnu.so.p/_ufuncs.c'.
FAILED: scipy/special/_ufuncs.cpython-310-x86_64-linux-gnu.so.p/_ufuncs.c 
/home/tyler/python_310_scipy_dev_work/bin/cython -3 --fast-fail --output-file scipy/special/_ufuncs.cpython-310-x86_64-linux-gnu.so.p/_ufuncs.c --include-dir . scipy/special/_ufuncs.pyx

Error compiling Cython file:
------------------------------------------------------------
...
from .special cimport cython_special
^
------------------------------------------------------------

scipy/special.pxd:1:0: 'scipy/special/special.pxd' not found
[174/1622] Compiling C++ object scipy/special/_ufuncs_cxx.cpython-310-x86_64-linux-gnu.so.p/ellint_carlson_wrap.cxx.o
ninja: build stopped: subcommand failed.
Build failed!
"><pre class="notranslate"><code class="notranslate">Meson build setup OK
💻  ninja -C /home/tyler/github_projects/scipy/build
ninja: Entering directory `/home/tyler/github_projects/scipy/build'
[153/1622] Generating 'scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so.p/_ccallback_c.c'.
FAILED: scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so.p/_ccallback_c.c 
/home/tyler/python_310_scipy_dev_work/bin/cython -3 --fast-fail --output-file scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so.p/_ccallback_c.c --include-dir . ../scipy/_lib/_ccallback_c.pyx
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:5:83: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:6:94: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:7:105: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pxd:9:58: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:109:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:135:87: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:184:83: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:198:94: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:201:105: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
warning: /home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:204:58: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.

Error compiling Cython file:
------------------------------------------------------------
...
    if name == NULL:
        name_copy = name
    else:
        name_copy = strdup(name)

    capsule = PyCapsule_New(func, name_copy, &amp;raw_capsule_destructor)
                                             ^
------------------------------------------------------------

/home/tyler/github_projects/scipy/scipy/_lib/_ccallback_c.pyx:80:45: Cannot assign type 'void (*)(object) except *' to 'PyCapsule_Destructor'
[171/1622] Generating 'scipy/sparse/csgraph/_min_spanning_tree.cpython-310-x86_64-linux-gnu.so.p/_min_spanning_tree.c'.
warning: /home/tyler/github_projects/scipy/scipy/sparse/csgraph/parameters.pxi:14:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: /home/tyler/github_projects/scipy/scipy/sparse/csgraph/parameters.pxi:17:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
[173/1622] Generating 'scipy/special/_ufuncs.cpython-310-x86_64-linux-gnu.so.p/_ufuncs.c'.
FAILED: scipy/special/_ufuncs.cpython-310-x86_64-linux-gnu.so.p/_ufuncs.c 
/home/tyler/python_310_scipy_dev_work/bin/cython -3 --fast-fail --output-file scipy/special/_ufuncs.cpython-310-x86_64-linux-gnu.so.p/_ufuncs.c --include-dir . scipy/special/_ufuncs.pyx

Error compiling Cython file:
------------------------------------------------------------
...
from .special cimport cython_special
^
------------------------------------------------------------

scipy/special.pxd:1:0: 'scipy/special/special.pxd' not found
[174/1622] Compiling C++ object scipy/special/_ufuncs_cxx.cpython-310-x86_64-linux-gnu.so.p/ellint_carlson_wrap.cxx.o
ninja: build stopped: subcommand failed.
Build failed!

</code></pre></div>