conda-forge / numba-feedstock

A conda-smithy repository for numba.
BSD 3-Clause "New" or "Revised" License
0 stars 27 forks source link

Python 3.9 #69

Closed henryiii closed 3 years ago

henryiii commented 3 years ago

Rebased from #64, I don't seem to be able to push to that one for some reason.

conda-forge-linter commented 3 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

henryiii commented 3 years ago

was in an excellent condition

Not really, the build number didn't get bumped. :)

henryiii commented 3 years ago

Oh, that's a test constraint, never mind, no build number bump needed.

jakirkham commented 3 years ago

That's ok. We don't need to bump the build number for this

henryiii commented 3 years ago

I believe there's one very minor error in test reporting in NumPy 1.19 that was discussed in https://github.com/numba/numba/issues/5929 was fixed in https://github.com/numpy/numpy/pull/17457 but never backported to the 1.19 series. Before Python 3.9, we could just pin <1.19 and avoid it. Now with Python 3.9, only 1.19 and 1.20 support that version, so to run the tests, we need one of the two versions.

NumPy 1.20 may have fixed this one minor test error, but it seems to have introduced 10 new errors, so that's even worse.

henryiii commented 3 years ago

My current thought would be to pin <1.20, and then filter the broken test. Better than filtering 10 tests.

henryiii commented 3 years ago

Here are the 10 failing tests for 1.20:

FAIL: test_nanpercentile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 343, in assertPreciseEqual
    self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [       -inf -1.70182786 -0.46359554         nan -0.53228227        -inf
 -1.41421824  0.57995536 -0.02271934         nan  0.17140244 -1.06597053
        -inf -0.77504848] and [        nan -1.70182786 -0.46359554         nan -0.53228227         nan
 -1.41421824  0.57995536 -0.02271934         nan  0.17140244 -1.06597053
         nan -0.77504848]: -inf != nan

FAIL: test_nanpercentile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 711, in assert_no_memory_leak
    self.assertEqual(total_alloc, total_free)
AssertionError: 69 != 68

FAIL: test_nanquantile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 343, in assertPreciseEqual
    self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [       -inf -1.70182786 -0.46359554         nan -0.53228227        -inf
 -1.41421824  0.57995536 -0.02271934         nan  0.17140244 -1.06597053
        -inf -0.77504848] and [        nan -1.70182786 -0.46359554         nan -0.53228227         nan
 -1.41421824  0.57995536 -0.02271934         nan  0.17140244 -1.06597053
         nan -0.77504848]: -inf != nan

FAIL: test_nanquantile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 711, in assert_no_memory_leak
    self.assertEqual(total_alloc, total_free)
AssertionError: 69 != 68

FAIL: test_percentile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 343, in assertPreciseEqual
    self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [-inf -inf -inf   1.] and [nan nan nan  1.]: -inf != nan

FAIL: test_percentile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 711, in assert_no_memory_leak
    self.assertEqual(total_alloc, total_free)
AssertionError: 291 != 290

FAIL: test_quantile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 343, in assertPreciseEqual
    self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [-inf -inf -inf   1.] and [nan nan nan  1.]: -inf != nan

FAIL: test_quantile_basic (numba.tests.test_array_reductions.TestArrayReductions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 711, in assert_no_memory_leak
    self.assertEqual(total_alloc, total_free)
AssertionError: 291 != 290

FAIL: test_windowing (numba.tests.test_np_functions.TestNPFunctions)
File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 343, in assertPreciseEqual
    self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [0.         0.18181818 0.36363636 0.54545455 0.72727273 0.90909091
 0.90909091 0.72727273 0.54545455 0.36363636 0.18181818 0.        ] and [0.         0.18181818 0.36363636 0.54545455 0.72727273 0.90909091
 0.90909091 0.72727273 0.54545455 0.36363636 0.18181818 0.        ]: 0.18181818181818177 != 0.18181818181818182 within 4.037174635000569e-17 delta (5.551115123125783e-17 difference)

FAIL: test_windowing (numba.tests.test_np_functions.TestNPFunctions)
  File "/home/conda/feedstock_root/build_artifacts/numba_1615597440943/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/support.py", line 711, in assert_no_memory_leak
    self.assertEqual(total_alloc, total_free)
AssertionError: 12 != 11
henryiii commented 3 years ago

Or maybe 3.9 works with that limiting, maybe I just didn’t see the backport.

(timeout issue with drone)

henryiii commented 3 years ago

Looks like it's working except for Travis, which gives "Job has been terminated due to insufficient credits balance".

jakirkham commented 3 years ago

Yeah that is a known issue ( https://github.com/conda-forge/status/issues/110 )

henryiii commented 3 years ago

I could swap out Travis for cross compilation. PyPy isn't supported yet but Numba doesn't support PyPy AFAIK. Probably will give it a day to see if the issue gets worked out?

jakirkham commented 3 years ago

Sure. Also ok with just merging and restarting on master once it clears

henryiii commented 3 years ago

I’d be okay with that, too