Skip to content
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

Python 3.9 #69

Merged
merged 5 commits into from
Mar 14, 2021
Merged

Python 3.9 #69

merged 5 commits into from
Mar 14, 2021

Conversation

henryiii
Copy link
Contributor

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

  • Add .ci_support/migrations/python39.yaml
  • Remove numpy<1.19 test constraint
  • MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.9.0, and conda-forge-pinning 2021.03.12.19.24.49

@conda-forge-linter
Copy link

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
Copy link
Contributor Author

was in an excellent condition

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

@henryiii
Copy link
Contributor Author

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

@jakirkham
Copy link
Member

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

@henryiii henryiii added automerge Merge the PR when CI passes and removed automerge Merge the PR when CI passes labels Mar 12, 2021
@henryiii
Copy link
Contributor Author

henryiii commented Mar 13, 2021

I believe there's one very minor error in test reporting in NumPy 1.19 that was discussed in numba/numba#5929 was fixed in numpy/numpy#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
Copy link
Contributor Author

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

@henryiii
Copy link
Contributor Author

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
Copy link
Contributor Author

henryiii commented Mar 13, 2021

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

(timeout issue with drone)

@henryiii
Copy link
Contributor Author

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

@jakirkham
Copy link
Member

Yeah that is a known issue ( conda-forge/status#110 )

@henryiii
Copy link
Contributor Author

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
Copy link
Member

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

@henryiii
Copy link
Contributor Author

I’d be okay with that, too

@henryiii henryiii merged commit 9796deb into conda-forge:master Mar 14, 2021
@henryiii henryiii deleted the py39 branch March 14, 2021 11:58
@henryiii henryiii mentioned this pull request Mar 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants