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

Add Python 3.10 CI builder and updated PL dep #186

Merged
merged 12 commits into from
Feb 2, 2022
Merged

Add Python 3.10 CI builder and updated PL dep #186

merged 12 commits into from
Feb 2, 2022

Conversation

mlxd
Copy link
Member

@mlxd mlxd commented Dec 6, 2021

Context: Closes #152

Description of the Change: Adds wheelbuilder support for Python 3.10, and updates the required PL version.

Benefits:

Possible Drawbacks:

Related GitHub Issues:

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2021

Hello. You may have forgotten to update the changelog!
Please edit .github/CHANGELOG.md with:

  • A one-to-two sentence description of the change. You may include a small working example for new features.
  • A link back to this PR.
  • Your name (or GitHub username) in the contributors section.

@codecov
Copy link

codecov bot commented Dec 6, 2021

Codecov Report

Merging #186 (49fe77f) into master (4cad124) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #186   +/-   ##
=======================================
  Coverage   99.65%   99.65%           
=======================================
  Files           4        4           
  Lines         293      293           
=======================================
  Hits          292      292           
  Misses          1        1           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4cad124...49fe77f. Read the comment docs.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2021

Test Report (C++) on Ubuntu

       1 files  ±0         1 suites  ±0   0s ⏱️ ±0s
   294 tests ±0     294 ✔️ ±0  0 💤 ±0  0 ±0 
2 677 runs  ±0  2 677 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit 49fe77f. ± Comparison against base commit 4cad124.

♻️ This comment has been updated with latest results.

setup.py Show resolved Hide resolved
Copy link
Contributor

@antalszava antalszava left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 🙂 Just had some questions for my own understanding 👍

.github/CHANGELOG.md Outdated Show resolved Hide resolved
@@ -7,14 +7,15 @@ on:
types: [published]

env:
CIBW_BUILD: 'cp37-* cp38-* cp39-*'
CIBW_BUILD: 'cp37-* cp38-* cp39-* cp310-*'
CIBW_SKIP: "*-musllinux*"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For my understanding: what is being skipped here and for what reason?

Copy link
Member Author

@mlxd mlxd Feb 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We skip attempting to build MUSL supported wheels (an alternative to the more common glibc linux distributions). MUSL is used in dists such as https://alpinelinux.org/. This can be enabled a little later when MUSL support is more further along.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antalszava Alpine Linux is typically used in Docker containers, so this is where MUSL compatibility is usually required

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!


# Testing of built wheels
CIBW_TEST_REQUIRES: numpy==1.19.5 scipy pytest pytest-cov pytest-mock flaky
CIBW_TEST_REQUIRES: numpy~=1.21 scipy pytest pytest-cov pytest-mock flaky
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come the NumPy version was updated?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version 1.19 has/had issues working with Py3.10. The previous choice for 1.19 was due to TF compatibility. With TF 2.7 now out in the wild, there is no more reason to pin to the older version (and I believe the PL repo is 1.21 in requirements.txt too https://github.com/PennyLaneAI/pennylane/blob/92e572f0cf8a0ba950ddd0e9440abfc1d9943c27/requirements.txt#L1).


# Python build settings
CIBW_BEFORE_BUILD: |
pip install pybind11 ninja && yum install -y cmake gcc gcc-c++
pip install pybind11 ninja
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come some installs were removed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GCC/G++ should already be available on these images, so no need to explicitly request anymore.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In hindsight, I think it may be better to keep these explicitly in there. Thanks for noticing.

@mlxd mlxd merged commit 293fa58 into master Feb 2, 2022
@mlxd mlxd deleted the py310_ci branch February 2, 2022 19:31
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.

Add wheels for Python 3.10
3 participants