-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Support Python 3.12 #6516
Support Python 3.12 #6516
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6516 +/- ##
=======================================
Coverage 97.79% 97.79%
=======================================
Files 1124 1124
Lines 95705 95707 +2
=======================================
+ Hits 93595 93597 +2
Misses 2110 2110 ☔ View full report in Codecov by Sentry. |
Thank you @pavoljuhas for working on making Cirq Python 3.12 compatible. I see that some packages were bumped in order for tests to pass. Is there a policy for updating
|
Older versions failed to create venv from already virtual Python 3.12. Also allow never filelock versions needed by virtualenv.
For Python 3.12 the new environment may not have setuptools and wheel.
pylatex-1.4.2 is the first version compatible with Python 3.12.
Needed for compatibility with Python 3.12
Executed dev_tools/build-protos.sh
Allow qiskit-aer-0.12.0 which has source distribution on PyPI and thus can be installed for Python 3.12. The later qiskit-aer-0.12.X releases are provided as binary wheels only without a variant for Python 3.12.
Remove quimb dependencies from our requirements specifications as we do not import them directly in Cirq. Keep `opt_einsum` requirement which is an optional quimb dependency. Otherwise let quimb sort out its dependencies.
5414333
to
65bfddf
Compare
Thank you for your comment. In general we try to follow the NEP-29 version policy for Python and NumPy. As for other packages, we seek to use loose version specifications, e.g., In regards to the poetry, the It would be nice to get notifications when our requirement specs exclude the latest stable releases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the great job @pavoljuhas
Thank you for the thorough answer @pavoljuhas. My suggested approach would be either Dependabot or Renovate, as they generate small PRs which only update the relevant versions, making it easier to approve/reject version bumps. Usually it's nice to limit these to major versions, otherwise we get flooded with these PRs, and as maintainers there are more important things you can focus on :) I'd recommend:
Do you want me to create the issue? |
- Fix attribute error in `engine_test.py::test_create_context` - Adjust package presence assertion in `test_isolated_env_cloning` - Bump up to virtualenv>=20.23, filelock~=3.1, pylatex~=1.4 - Bump up to grpcio-tools~=1.59.0 and recompile protos - Relax qiskit-aer requirement to qiskit-aer~=0.12.0. Allow qiskit-aer-0.12.0 which has source archive on PyPI and can be installed for Python 3.12. - Bump up to quimb~=1.7 which installs correctly with Python 3.12 Remove quimb-only dependencies from our requirements, let quimb sort out its dependencies itself. - CI - add pytest jobs with Python 3.12 - Skip mysteriously failing test of Contract-a-Grid-Circuit.ipynb Fixes quantumlib#6460
- Fix attribute error in `engine_test.py::test_create_context` - Adjust package presence assertion in `test_isolated_env_cloning` - Bump up to virtualenv>=20.23, filelock~=3.1, pylatex~=1.4 - Bump up to grpcio-tools~=1.59.0 and recompile protos - Relax qiskit-aer requirement to qiskit-aer~=0.12.0. Allow qiskit-aer-0.12.0 which has source archive on PyPI and can be installed for Python 3.12. - Bump up to quimb~=1.7 which installs correctly with Python 3.12 Remove quimb-only dependencies from our requirements, let quimb sort out its dependencies itself. - CI - add pytest jobs with Python 3.12 - Skip mysteriously failing test of Contract-a-Grid-Circuit.ipynb Fixes quantumlib#6460
engine_test.py::test_create_context
test_isolated_env_cloning
which has source archive on PyPI and can be installed for Python 3.12.
Remove quimb-only dependencies from our requirements, let
quimb sort out its dependencies itself.
Fixes #6460