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 support for running with Python 3.12 #2022

Merged
merged 8 commits into from
Jan 15, 2024
Merged

Conversation

mtreinish
Copy link
Member

Summary

Python 3.12.0 was released on 10-02-2023, this commit marks the start of support for Python 3.12 in qiskit-aer. It adds the supported Python version in the package metadata and updates the CI configuration to run test jobs on Python 3.12 and build Python 3.12 wheels on release.

Details and comments

Python 3.12.0 was released on 10-02-2023, this commit marks the start
of support for Python 3.12 in qiskit-aer. It adds the supported Python
version in the package metadata and updates the CI configuration to run
test jobs on Python 3.12 and build Python 3.12 wheels on release.
@mtreinish mtreinish added the Changelog: New Feature Include in the Added section of the changelog label Jan 4, 2024
@jakelishman
Copy link
Member

Turns out that six>=1.16.0 is required for Python 3.12 due to changes in importlib.

That's compatible with the version of Conan that Aer wants, but there's a six>1.10,<=1.14 in constraints.txt that was added way back in 2020 in #648 when Conan was first added, presumably only because 1.14 was the current version of six at the time. I think removing that should progress the build.

@jakelishman
Copy link
Member

giphy

@doichanj doichanj added the automerge This PR will automatically merge once its CI has passed label Jan 15, 2024
@mergify mergify bot merged commit ee51969 into Qiskit:main Jan 15, 2024
37 checks passed
@mtreinish mtreinish deleted the 312-support branch January 15, 2024 17:29
@jakelishman jakelishman mentioned this pull request Jan 16, 2024
doichanj added a commit to doichanj/qiskit-aer that referenced this pull request Jan 17, 2024
* Add support for running with Python 3.12

Python 3.12.0 was released on 10-02-2023, this commit marks the start
of support for Python 3.12 in qiskit-aer. It adds the supported Python
version in the package metadata and updates the CI configuration to run
test jobs on Python 3.12 and build Python 3.12 wheels on release.

* Remove numpy constraints

* Uncap six

* Fix i686 build steps

* Use python 3.12.0 in tests to work around unittest breakage in 3.12.1

* Use 3.12.0 for all test jobs

---------

Co-authored-by: Jun Doi <doichan@jp.ibm.com>
doichanj added a commit that referenced this pull request Jan 17, 2024
* PR to release 0.13.2

* Remove usage of ``qiskit.extensions`` (#2023)

The module has been pending deprecation since Qiskit 0.45.
It is deprecated for 0.46 and removed in 1.0.

This removal concerns the import location of ``UnitaryGate`` and the
usage of the ``ExtensionError``. The first is easily fixed, whereas for
the latter I tried using ``ValueError`` or ``TypeError``, which seemed
to cover the error meanings. Technically, this is a breaking change and
we could introduce an intermediary class that inherits from the deprecated
``ExtensionError`` and the new choice of error. However, since we will
soon be changing to 1.0 and we also skipped this in Qiskit Terra (as we
thought it highly unlikely that users are actually relying on this error
type) it might be fine to just change the error type.

* Fix GPU batched execution (#2014)

* Fix GPU batched execution

* format

* Use Apple-specific API to determine system memory on macOS (#2016)

The unistd.h API that had been used for both Linux and macOS is not
always available in macOS environments, for example when building with
upstream clang rather than AppleClang.

Closes #1923

* Remove qiskit.test from test/common.py (#1971)

* remove qiskit.test from test/common.py

* fix format, add releasenote

---------

Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com>

* raise Qiskit dependency to 0.45.0 (#2008)

Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com>

* `deprecate_func(..., since=...)`  should be a string, not a float (#2006)

* deprecate_func "since" parameter should be a str, not a float

* black

* Avoid accessing GPUs when using CPU only (#2012)

* avoid accessing GPUs when using CPU only

* remove unused import/parameter

* Reduce warning meesages (#2013)

* reduce warning meesages

* format

* fix Windows

* uint -> uint_t

* fix Thrust seg fault

* format

* Add support for running with Python 3.12 (#2022)

* Add support for running with Python 3.12

Python 3.12.0 was released on 10-02-2023, this commit marks the start
of support for Python 3.12 in qiskit-aer. It adds the supported Python
version in the package metadata and updates the CI configuration to run
test jobs on Python 3.12 and build Python 3.12 wheels on release.

* Remove numpy constraints

* Uncap six

* Fix i686 build steps

* Use python 3.12.0 in tests to work around unittest breakage in 3.12.1

* Use 3.12.0 for all test jobs

---------

Co-authored-by: Jun Doi <doichan@jp.ibm.com>

* enable bit operations for boolean types (#2024)

Co-authored-by: Jun Doi <doichan@jp.ibm.com>

---------

Co-authored-by: Julien Gacon <gaconju@gmail.com>
Co-authored-by: Will Shanks <willshanks@us.ibm.com>
Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com>
Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
github-merge-queue bot pushed a commit to qiskit-community/qiskit-experiments that referenced this pull request Jan 19, 2024
### Summary

Now that Aer supports Python 3.12 starting with 0.13.2
(Qiskit/qiskit-aer#2022), we should be able to
support it as well. The only code change needed was to update the
deprecated usage of `datetime.datetime.utcnow()` to
`datetime.datetime.now(datetime.UTC)`. I added a python version checker
to handle this since `datetime.UTC` was only introduced in 3.11.

---------

Co-authored-by: Will Shanks <willshanks@us.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge This PR will automatically merge once its CI has passed Changelog: New Feature Include in the Added section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants