New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Numpy2 support ? #2189
Comments
Hey, I haven't looked at this yet... do you have the link to the scipy issue? cc @rgommers |
We've been building SciPy against NumPy |
I found my bug ... I got this error:
numpy2 installed and scipy linking to numpy1 When I uninstalled |
Great, thanks for confirming. SciPy 1.13.0 built against NumPy 2.0 should be out shortly, that should make this go away |
Hmm, but did anybody run the pythran tests suite itself with numpy 2? I get this with numpy 2.0.0rc1 [ 1402s] ==================================== ERRORS ====================================
[ 1402s] _________________ ERROR collecting pythran/tests/test_cases.py _________________
[ 1402s] pythran/tests/test_cases.py:19: in <module>
[ 1402s] TestCases.populate(TestCases)
[ 1402s] pythran/tests/__init__.py:487: in populate
[ 1402s] specs = target.interface(name, filepath).functions
[ 1402s] pythran/tests/__init__.py:412: in interface
[ 1402s] return spec_parser(fd.read())
[ 1402s] pythran/spec.py:550: in spec_parser
[ 1402s] return SpecParser()(text)
[ 1402s] pythran/spec.py:506: in __call__
[ 1402s] sty_i = spec_to_string(key, ty_i)
[ 1402s] pythran/spec.py:535: in spec_to_string
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/spec.py:535: in <listcomp>
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/types/conversion.py:116: in pytype_to_pretty_type
[ 1402s] dtype = pytype_to_pretty_type(t.__args__[0])
[ 1402s] pythran/types/conversion.py:139: in pytype_to_pretty_type
[ 1402s] raise NotImplementedError("{0}:{1}".format(type(t), t))
[ 1402s] E NotImplementedError: <class 'type'>:<class 'numpy.bool'>
[ 1402s] _________________ ERROR collecting pythran/tests/test_cases.py _________________
[ 1402s] pythran/tests/test_cases.py:19: in <module>
[ 1402s] TestCases.populate(TestCases)
[ 1402s] pythran/tests/__init__.py:487: in populate
[ 1402s] specs = target.interface(name, filepath).functions
[ 1402s] pythran/tests/__init__.py:412: in interface
[ 1402s] return spec_parser(fd.read())
[ 1402s] pythran/spec.py:550: in spec_parser
[ 1402s] return SpecParser()(text)
[ 1402s] pythran/spec.py:506: in __call__
[ 1402s] sty_i = spec_to_string(key, ty_i)
[ 1402s] pythran/spec.py:535: in spec_to_string
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/spec.py:535: in <listcomp>
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/types/conversion.py:116: in pytype_to_pretty_type
[ 1402s] dtype = pytype_to_pretty_type(t.__args__[0])
[ 1402s] pythran/types/conversion.py:139: in pytype_to_pretty_type
[ 1402s] raise NotImplementedError("{0}:{1}".format(type(t), t))
[ 1402s] E NotImplementedError: <class 'type'>:<class 'numpy.bool'>
[ 1402s] _________________ ERROR collecting pythran/tests/test_cases.py _________________
[ 1402s] pythran/tests/test_cases.py:19: in <module>
[ 1402s] TestCases.populate(TestCases)
[ 1402s] pythran/tests/__init__.py:487: in populate
[ 1402s] specs = target.interface(name, filepath).functions
[ 1402s] pythran/tests/__init__.py:412: in interface
[ 1402s] return spec_parser(fd.read())
[ 1402s] pythran/spec.py:550: in spec_parser
[ 1402s] return SpecParser()(text)
[ 1402s] pythran/spec.py:506: in __call__
[ 1402s] sty_i = spec_to_string(key, ty_i)
[ 1402s] pythran/spec.py:535: in spec_to_string
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/spec.py:535: in <listcomp>
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/types/conversion.py:116: in pytype_to_pretty_type
[ 1402s] dtype = pytype_to_pretty_type(t.__args__[0])
[ 1402s] pythran/types/conversion.py:139: in pytype_to_pretty_type
[ 1402s] raise NotImplementedError("{0}:{1}".format(type(t), t))
[ 1402s] E NotImplementedError: <class 'type'>:<class 'numpy.bool'>
[ 1402s] _________________ ERROR collecting pythran/tests/test_cases.py _________________
[ 1402s] pythran/tests/test_cases.py:19: in <module>
[ 1402s] TestCases.populate(TestCases)
[ 1402s] pythran/tests/__init__.py:487: in populate
[ 1402s] specs = target.interface(name, filepath).functions
[ 1402s] pythran/tests/__init__.py:412: in interface
[ 1402s] return spec_parser(fd.read())
[ 1402s] pythran/spec.py:550: in spec_parser
[ 1402s] return SpecParser()(text)
[ 1402s] pythran/spec.py:506: in __call__
[ 1402s] sty_i = spec_to_string(key, ty_i)
[ 1402s] pythran/spec.py:535: in spec_to_string
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/spec.py:535: in <listcomp>
[ 1402s] arguments_types = [pytype_to_pretty_type(t) for t in spec]
[ 1402s] pythran/types/conversion.py:116: in pytype_to_pretty_type
[ 1402s] dtype = pytype_to_pretty_type(t.__args__[0])
[ 1402s] pythran/types/conversion.py:139: in pytype_to_pretty_type
[ 1402s] raise NotImplementedError("{0}:{1}".format(type(t), t))
[ 1402s] E NotImplementedError: <class 'type'>:<class 'numpy.bool'>
[ 1402s] ___________ ERROR collecting pythran/tests/test_numpy_ufunc_unary.py ___________
[ 1402s] pythran/tests/test_numpy_ufunc_unary.py:65: in <module>
[ 1402s] eval('{}.{}({})'.format(module, f, test_inputs_by_type[input_type]['_scalar'][0]))
[ 1402s] <string>:1: in <module>
[ 1402s] ???
[ 1402s] /usr/lib64/python3.10/site-packages/numpy/__init__.py:397: in __getattr__
[ 1402s] raise AttributeError(
[ 1402s] E AttributeError: `np.round_` was removed in the NumPy 2.0 release. Use `np.round` instead.. Did you mean: 'round'?
[ 1402s] ___________ ERROR collecting pythran/tests/test_numpy_ufunc_unary.py ___________
[ 1402s] pythran/tests/test_numpy_ufunc_unary.py:65: in <module>
[ 1402s] eval('{}.{}({})'.format(module, f, test_inputs_by_type[input_type]['_scalar'][0]))
[ 1402s] <string>:1: in <module>
[ 1402s] ???
[ 1402s] /usr/lib64/python3.10/site-packages/numpy/__init__.py:397: in __getattr__
[ 1402s] raise AttributeError(
[ 1402s] E AttributeError: `np.round_` was removed in the NumPy 2.0 release. Use `np.round` instead.. Did you mean: 'round'?
[ 1402s] ___________ ERROR collecting pythran/tests/test_numpy_ufunc_unary.py ___________
[ 1402s] pythran/tests/test_numpy_ufunc_unary.py:65: in <module>
[ 1402s] eval('{}.{}({})'.format(module, f, test_inputs_by_type[input_type]['_scalar'][0]))
[ 1402s] <string>:1: in <module>
[ 1402s] ???
[ 1402s] /usr/lib64/python3.10/site-packages/numpy/__init__.py:397: in __getattr__
[ 1402s] raise AttributeError(
[ 1402s] E AttributeError: `np.round_` was removed in the NumPy 2.0 release. Use `np.round` instead.. Did you mean: 'round'?
[ 1402s] ___________ ERROR collecting pythran/tests/test_numpy_ufunc_unary.py ___________
[ 1402s] pythran/tests/test_numpy_ufunc_unary.py:65: in <module>
[ 1402s] eval('{}.{}({})'.format(module, f, test_inputs_by_type[input_type]['_scalar'][0]))
[ 1402s] <string>:1: in <module>
[ 1402s] ???
[ 1402s] /usr/lib64/python3.10/site-packages/numpy/__init__.py:397: in __getattr__
[ 1402s] raise AttributeError(
[ 1402s] E AttributeError: `np.round_` was removed in the NumPy 2.0 release. Use `np.round` instead.. Did you mean: 'round'?
[ 1402s] =================================== FAILURES =================================== Reopen this issue or post a new one? |
There is more: [ 1402s] _________________________ TestNumpyFunc1.test_alltrue0 _________________________
[ 1402s] [gw2] linux -- Python 3.10.14 /usr/bin/python3.10
[ 1402s]
[ 1402s] self = <pythran.tests.test_numpy_func1.TestNumpyFunc1 testMethod=test_alltrue0>
[ 1402s]
[ 1402s] def test_alltrue0(self):
[ 1402s] > self.run_test("def np_alltrue0(b): from numpy import alltrue ; return alltrue(b)", numpy.array([True, False, True, True]), np_alltrue0=[NDArray[bool,:]])
[ 1402s]
[ 1402s] pythran/tests/test_numpy_func1.py:244:
[ 1402s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 1402s] pythran/tests/__init__.py:302: in run_test
[ 1402s] cxx_compiled = compile_pythrancode(
[ 1402s] pythran/toolchain.py:402: in compile_pythrancode
[ 1402s] module, error_checker = generate_cxx(module_name, pythrancode, specs, opts,
[ 1402s] pythran/toolchain.py:146: in generate_cxx
[ 1402s] pm, ir, docstrings = front_middle_end(module_name, code, optimizations,
[ 1402s] pythran/toolchain.py:104: in front_middle_end
[ 1402s] ir, docstrings = frontend.parse(pm, code)
[ 1402s] pythran/frontend.py:35: in parse
[ 1402s] check_syntax(ir)
[ 1402s] pythran/syntax.py:251: in check_syntax
[ 1402s] SyntaxChecker().visit(node)
[ 1402s] /usr/lib64/python3.10/ast.py:418: in visit
[ 1402s] return visitor(node)
[ 1402s] pythran/syntax.py:117: in visit_Module
[ 1402s] self.generic_visit(node)
[ 1402s] /usr/lib64/python3.10/ast.py:426: in generic_visit
[ 1402s] self.visit(item)
[ 1402s] /usr/lib64/python3.10/ast.py:418: in visit
[ 1402s] return visitor(node)
[ 1402s] pythran/syntax.py:172: in visit_FunctionDef
[ 1402s] self.generic_visit(node)
[ 1402s] /usr/lib64/python3.10/ast.py:426: in generic_visit
[ 1402s] self.visit(item)
[ 1402s] /usr/lib64/python3.10/ast.py:418: in visit
[ 1402s] return visitor(node)
[ 1402s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 1402s]
[ 1402s] self = <pythran.syntax.SyntaxChecker object at 0x7f9afe103820>
[ 1402s] node = <gast.gast.ImportFrom object at 0x7f9afdeb8550>
[ 1402s]
[ 1402s] def visit_ImportFrom(self, node):
[ 1402s] """
[ 1402s] Check validity of imported functions.
[ 1402s]
[ 1402s] Check:
[ 1402s] - no level specific value are provided.
[ 1402s] - a module is provided
[ 1402s] - module/submodule exists in MODULES
[ 1402s] - imported function exists in the given module/submodule
[ 1402s] """
[ 1402s] if node.level:
[ 1402s] raise PythranSyntaxError("Relative import not supported", node)
[ 1402s] if not node.module:
[ 1402s] raise PythranSyntaxError("import from without module", node)
[ 1402s] module = node.module
[ 1402s] current_module = MODULES
[ 1402s] # Check if module exists
[ 1402s] for path in module.split('.'):
[ 1402s] if path not in current_module:
[ 1402s] raise PythranSyntaxError(
[ 1402s] "Module '{0}' unknown.".format(module),
[ 1402s] node)
[ 1402s] else:
[ 1402s] current_module = current_module[path]
[ 1402s]
[ 1402s] # Check if imported functions exist
[ 1402s] for alias in node.names:
[ 1402s] if alias.name == '*':
[ 1402s] continue
[ 1402s] elif alias.name not in current_module:
[ 1402s] > raise PythranSyntaxError(
[ 1402s] "identifier '{0}' not found in module '{1}'".format(
[ 1402s] alias.name,
[ 1402s] module),
[ 1402s] node)
[ 1402s] E File "<string>", line 1
[ 1402s] E pythran.syntax.PythranSyntaxError: identifier 'alltrue' not found in module 'numpy'
[ 1402s]
[ 1402s] pythran/syntax.py:236: PythranSyntaxError |
On Sun, Apr 21, 2024 at 12:31:21PM -0700, Ben Greiner wrote:
Hmm, but did anybody run the pythran tests suite itself with numpy 2? I get
this with numpy 2.0.0rc1
Yeah, reopen, I'll have a look.
|
so : we already have logic in pythran to support moving numpy API, but that's not encoded in the test suite. |
- np.round_ got removed - np.alltrue got removed - np.bool got added back - initializing dtype from overflowing values is no longer valid Fix #2189
- np.round_ got removed - np.alltrue got removed - np.bool got added back - initializing dtype from overflowing values is no longer valid Fix #2189
- np.round_ got removed - np.alltrue got removed - np.bool got added back - initializing dtype from overflowing values is no longer valid Fix #2189
@bnavigator can you confirm #2202 fixes the situation? |
Unfortunatly, a backported patch for 0.15.0 -- I had to remove the ufunc notebook change -- still fails at a bunch of places: pythran-0.15.0-numpy2-test.txt [ 868s] [gw7] linux -- Python 3.11.9 /usr/bin/python3.11
[ 868s]
[ 868s] self = <pythran.tests.test_numpy_func0.TestNumpyFunc0 testMethod=test_issctype0>
[ 868s]
[ 868s] def test_issctype0(self):
[ 868s] > self.run_test("def np_issctype0(): from numpy import issctype, int32 ; a = int32 ; return issctype(a)", np_issctype0=[])
[ 868s]
[ 868s] pythran/tests/test_numpy_func0.py:393:
[ 868s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 868s] pythran/tests/__init__.py:302: in run_test
[ 868s] cxx_compiled = compile_pythrancode(
[ 868s] pythran/toolchain.py:402: in compile_pythrancode
[ 868s] module, error_checker = generate_cxx(module_name, pythrancode, specs, opts,
[ 868s] pythran/toolchain.py:146: in generate_cxx
[ 868s] pm, ir, docstrings = front_middle_end(module_name, code, optimizations,
[ 868s] pythran/toolchain.py:104: in front_middle_end
[ 868s] ir, docstrings = frontend.parse(pm, code)
[ 868s] pythran/frontend.py:35: in parse
[ 868s] check_syntax(ir)
[ 868s] pythran/syntax.py:251: in check_syntax
[ 868s] SyntaxChecker().visit(node)
[ 868s] /usr/lib64/python3.11/ast.py:418: in visit
[ 868s] return visitor(node)
[ 868s] pythran/syntax.py:117: in visit_Module
[ 868s] self.generic_visit(node)
[ 868s] /usr/lib64/python3.11/ast.py:426: in generic_visit
[ 868s] self.visit(item)
[ 868s] /usr/lib64/python3.11/ast.py:418: in visit
[ 868s] return visitor(node)
[ 868s] pythran/syntax.py:172: in visit_FunctionDef
[ 868s] self.generic_visit(node)
[ 868s] /usr/lib64/python3.11/ast.py:426: in generic_visit
[ 868s] self.visit(item)
[ 868s] /usr/lib64/python3.11/ast.py:418: in visit
[ 868s] return visitor(node)
[ 868s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 868s]
[ 868s] self = <pythran.syntax.SyntaxChecker object at 0x7f22aaaf90d0>
[ 868s] node = <gast.gast.ImportFrom object at 0x7f22aafebf10>
[ 868s]
[ 868s] def visit_ImportFrom(self, node):
[ 868s] """
[ 868s] Check validity of imported functions.
[ 868s]
[ 868s] Check:
[ 868s] - no level specific value are provided.
[ 868s] - a module is provided
[ 868s] - module/submodule exists in MODULES
[ 868s] - imported function exists in the given module/submodule
[ 868s] """
[ 868s] if node.level:
[ 868s] raise PythranSyntaxError("Relative import not supported", node)
[ 868s] if not node.module:
[ 868s] raise PythranSyntaxError("import from without module", node)
[ 868s] module = node.module
[ 868s] current_module = MODULES
[ 868s] # Check if module exists
[ 868s] for path in module.split('.'):
[ 868s] if path not in current_module:
[ 868s] raise PythranSyntaxError(
[ 868s] "Module '{0}' unknown.".format(module),
[ 868s] node)
[ 868s] else:
[ 868s] current_module = current_module[path]
[ 868s]
[ 868s] # Check if imported functions exist
[ 868s] for alias in node.names:
[ 868s] if alias.name == '*':
[ 868s] continue
[ 868s] elif alias.name not in current_module:
[ 868s] > raise PythranSyntaxError(
[ 868s] "identifier '{0}' not found in module '{1}'".format(
[ 868s] alias.name,
[ 868s] module),
[ 868s] node)
[ 868s] E File "<string>", line 1
[ 868s] E pythran.syntax.PythranSyntaxError: identifier 'issctype' not found in module 'numpy'
[ 868s]
[ 868s] pythran/syntax.py:236: PythranSyntaxError
...
[ 868s] =========================== short test summary info ============================
[ 868s] FAILED pythran/tests/test_numpy_fft.py::TestNumpyIHFFT::test_ihfft_4 - Assert...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_issctype0 - ...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_issctype1 - ...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_issctype2 - ...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_sometrue0 - ...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_sometrue1 - ...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_sometrue2 - ...
[ 868s] FAILED pythran/tests/test_numpy_fft.py::TestNumpyRFFT::test_rfft_4 - Assertio...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_product - Fi...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_ptp0 - Attribu...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_nanmin1 - Attr...
[ 868s] FAILED pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_nansum1 - Attr...
[ 868s] FAILED pythran/tests/test_numpy_func2.py::TestNumpyFunc2::test_asfarray0 - ...
[ 868s] FAILED pythran/tests/test_numpy_func2.py::TestNumpyFunc2::test_asfarray1 - ...
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_gamma2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_randint4
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_geometric2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_random1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_gumbel1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_gumbel2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_weibull2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_laplace1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_laplace2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_logistic1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_logistic2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_lognormal1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_lognormal2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_random_sample1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_ranf1
[ 868s] FAILED pythran/tests/test_numpy_linalg.py::TestNumpyLinalg::test_linalg_norm_pydoc
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_negative_binomial2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_rayleigh1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_rayleigh2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_sample1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_normal1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_normal2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_chisquare2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_pareto2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_exponential1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_poisson1
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_exponential2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_poisson2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_power2
[ 868s] FAILED pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_f2 - I...
[ 868s] FAILED pythran/tests/test_numpy_ufunc_unary.py::TestNumpyUFuncUnary::test_numpy_ufunc_unary_numpy_ufunc_unary_numpy_sign_complex
[ 868s] FAILED pythran/tests/test_numpy_ufunc_unary.py::TestNumpyUFuncUnary::test_numpy_ufunc_unary_numpy_ufunc_unary_numpy_sign_matrix_complex
[ 868s] FAILED pythran/tests/test_numpy_ufunc_unary.py::TestNumpyUFuncUnary::test_numpy_ufunc_unary_numpy_ufunc_unary_numpy_sign_scalar_complex
[ 868s] ==== 47 failed, 3458 passed, 56 skipped, 220 warnings in 859.51s (0:14:19) ===== Using the source of the #2202 feature branch results in the same errors: pythran-feature-numpy2-test.txt |
Indeed, all my fault, I only tested a small subset. |
Looks good now. Thank you so much! |
@serge-sans-paille I listed 0.16.0 as the full-compatible version in numpy/numpy#26191, I assume that will be correct? Or will there be a 0.15.1? |
On Sun, Apr 28, 2024 at 08:24:31PM -0700, Ralf Gommers wrote:
***@***.*** I listed 0.16.0 as the full-compatible version in [2]
numpy/numpy#26191, I assume that will be correct? Or will there be a 0.15.1?
Correct! No minor release forecast.
|
Hi Serge,
Is
pythran
compatible withnumpy2
? it looks like it is a blocker for buildingscipy
...Do you believe it is a lot of work ?
The text was updated successfully, but these errors were encountered: