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

Remove tweedledum as a core dependency #8947

Merged
merged 4 commits into from
Oct 20, 2022

Conversation

jakelishman
Copy link
Member

Summary

Maintenance on tweedledum has stagnated in recent months, and is no longer stable enough on our Tier-1 (and other) supported platforms, especially as further Python versions are released. This work was heralded by gh-8738, which contains more context on the change.

Details and comments

Fix #6981 (indirectly).

Maintenance on tweedledum has stagnated in recent months, and is no
longer stable enough on our Tier-1 (and other) supported platforms,
especially as further Python versions are released.  This work was
heralded by Qiskitgh-8738, which contains more context on the change.
@jakelishman jakelishman added the Changelog: API Change Include in the "Changed" section of the changelog label Oct 19, 2022
@jakelishman jakelishman added this to the 0.23.0 milestone Oct 19, 2022
@jakelishman jakelishman requested a review from a team as a code owner October 19, 2022 10:07
@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the the following people are requested to review this:

  • @Qiskit/terra-core

@coveralls
Copy link

coveralls commented Oct 19, 2022

Pull Request Test Coverage Report for Build 3291489083

  • 0 of 10 (0.0%) changed or added relevant lines in 6 files are covered.
  • 243 unchanged lines in 12 files lost coverage.
  • Overall coverage decreased (-0.3%) to 84.419%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit/circuit/classicalfunction/classical_function_visitor.py 0 1 0.0%
qiskit/circuit/library/phase_oracle.py 0 1 0.0%
qiskit/circuit/classicalfunction/init.py 0 2 0.0%
qiskit/circuit/classicalfunction/boolean_expression.py 0 2 0.0%
qiskit/circuit/classicalfunction/classicalfunction.py 0 2 0.0%
qiskit/circuit/classicalfunction/utils.py 0 2 0.0%
Files with Coverage Reduction New Missed Lines %
qiskit/algorithms/amplitude_amplifiers/amplification_problem.py 1 84.51%
qiskit/algorithms/amplitude_amplifiers/amplitude_amplifier.py 1 93.75%
qiskit/visualization/circuit/_utils.py 2 93.24%
qiskit/circuit/classicalfunction/types.py 4 0%
qiskit/circuit/classicalfunction/exceptions.py 8 0%
qiskit/circuit/classicalfunction/classical_element.py 9 0%
qiskit/circuit/classicalfunction/init.py 9 0%
qiskit/circuit/library/phase_oracle.py 15 36.36%
qiskit/circuit/classicalfunction/utils.py 23 0%
qiskit/circuit/classicalfunction/boolean_expression.py 33 0%
Totals Coverage Status
Change from base Build 3291488541: -0.3%
Covered Lines: 61708
Relevant Lines: 73097

💛 - Coveralls

I couldn't get `.pylintrc`'s `ignore{,d}-modules` options to work right
for this, so I just resorted to localised suppressions.
Copy link
Member

@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for following up and removing the requirement fully.

@jakelishman
Copy link
Member Author

Fixed merge conflicts.

@jakelishman
Copy link
Member Author

Apparently I must have fixed the merge in some way that didn't invalidate the review. The conflict was really very minor, but pretty odd.

@mergify mergify bot merged commit 6aad914 into Qiskit:main Oct 20, 2022
@jakelishman jakelishman deleted the remove-tweedledum branch October 20, 2022 18:29
mtreinish added a commit to mtreinish/qiskit-core that referenced this pull request Jan 27, 2023
This commit adds a tweedledum to the requirements-dev.txt list. Since
the release of qiskit-terra 0.23.0 the CI docs job has started to fail.
This is because tweedledum is a requirement for the classicalfunction
compiler docs. It turns out we were getting tweedledum installed in docs
build jobs via a weird path. The install order for docs build was
installing packages that require qiskit-terra before terra itself was
being installed. This would cause qiskit-terra from pypi from being
isntalled first, and old versions of terra required tweedledum which
would install it. Then we'd later upgrade terra to the current version
under test. To fix this in the short term this adds add tweedledum to
the requirements list so we unblock CI. One thing to note is that since
the primary reason we removed tweedledum from the requirements list
in Qiskit#8947 was because macOS users were not able to install it reliably
the new entry in the requirement-dev.txt list does not cause issues for
developers on macOS systems.

Longer term we should make two fixes, first we need to update the
classicalfunction compiler docs so they build without having tweedledum
installed. The second is we should update the CI job to avoid installing
terra from pypi before we build it from source. But, given that CI is
currently broken just adding it to the requirements-dev.txt list is the
fastest fix.
mtreinish added a commit to mtreinish/qiskit-core that referenced this pull request Jan 27, 2023
This commit adds a tweedledum to the requirements-dev.txt list. Since
the release of qiskit-terra 0.23.0 the CI docs job has started to fail.
This is because tweedledum is a requirement for the classicalfunction
compiler docs. It turns out we were getting tweedledum installed in docs
build jobs via a weird path. The install order for docs build was
installing packages that require qiskit-terra before terra itself was
being installed. This would cause qiskit-terra from pypi from being
isntalled first, and old versions of terra required tweedledum which
would install it. Then we'd later upgrade terra to the current version
under test. To fix this in the short term this adds add tweedledum to
the requirements list so we unblock CI. One thing to note is that since
the primary reason we removed tweedledum from the requirements list
in Qiskit#8947 was because macOS users were not able to install it reliably
the new entry in the requirement-dev.txt list does not cause issues for
developers on macOS systems.

Longer term we should make two fixes, first we need to update the
classicalfunction compiler docs so they build without having tweedledum
installed. The second is we should update the CI job to avoid installing
terra from pypi before we build it from source. But, given that CI is
currently broken just adding it to the requirements-dev.txt list is the
fastest fix.
mergify bot pushed a commit that referenced this pull request Jan 27, 2023
* Add tweedledum to requirements-dev.txt

This commit adds a tweedledum to the requirements-dev.txt list. Since
the release of qiskit-terra 0.23.0 the CI docs job has started to fail.
This is because tweedledum is a requirement for the classicalfunction
compiler docs. It turns out we were getting tweedledum installed in docs
build jobs via a weird path. The install order for docs build was
installing packages that require qiskit-terra before terra itself was
being installed. This would cause qiskit-terra from pypi from being
isntalled first, and old versions of terra required tweedledum which
would install it. Then we'd later upgrade terra to the current version
under test. To fix this in the short term this adds add tweedledum to
the requirements list so we unblock CI. One thing to note is that since
the primary reason we removed tweedledum from the requirements list
in #8947 was because macOS users were not able to install it reliably
the new entry in the requirement-dev.txt list does not cause issues for
developers on macOS systems.

Longer term we should make two fixes, first we need to update the
classicalfunction compiler docs so they build without having tweedledum
installed. The second is we should update the CI job to avoid installing
terra from pypi before we build it from source. But, given that CI is
currently broken just adding it to the requirements-dev.txt list is the
fastest fix.

* Exclude tweedledum on Python 3.11 too
mergify bot pushed a commit that referenced this pull request Jan 27, 2023
* Add tweedledum to requirements-dev.txt

This commit adds a tweedledum to the requirements-dev.txt list. Since
the release of qiskit-terra 0.23.0 the CI docs job has started to fail.
This is because tweedledum is a requirement for the classicalfunction
compiler docs. It turns out we were getting tweedledum installed in docs
build jobs via a weird path. The install order for docs build was
installing packages that require qiskit-terra before terra itself was
being installed. This would cause qiskit-terra from pypi from being
isntalled first, and old versions of terra required tweedledum which
would install it. Then we'd later upgrade terra to the current version
under test. To fix this in the short term this adds add tweedledum to
the requirements list so we unblock CI. One thing to note is that since
the primary reason we removed tweedledum from the requirements list
in #8947 was because macOS users were not able to install it reliably
the new entry in the requirement-dev.txt list does not cause issues for
developers on macOS systems.

Longer term we should make two fixes, first we need to update the
classicalfunction compiler docs so they build without having tweedledum
installed. The second is we should update the CI job to avoid installing
terra from pypi before we build it from source. But, given that CI is
currently broken just adding it to the requirements-dev.txt list is the
fastest fix.

* Exclude tweedledum on Python 3.11 too

(cherry picked from commit a3b359b)
mergify bot added a commit that referenced this pull request Jan 27, 2023
* Add tweedledum to requirements-dev.txt

This commit adds a tweedledum to the requirements-dev.txt list. Since
the release of qiskit-terra 0.23.0 the CI docs job has started to fail.
This is because tweedledum is a requirement for the classicalfunction
compiler docs. It turns out we were getting tweedledum installed in docs
build jobs via a weird path. The install order for docs build was
installing packages that require qiskit-terra before terra itself was
being installed. This would cause qiskit-terra from pypi from being
isntalled first, and old versions of terra required tweedledum which
would install it. Then we'd later upgrade terra to the current version
under test. To fix this in the short term this adds add tweedledum to
the requirements list so we unblock CI. One thing to note is that since
the primary reason we removed tweedledum from the requirements list
in #8947 was because macOS users were not able to install it reliably
the new entry in the requirement-dev.txt list does not cause issues for
developers on macOS systems.

Longer term we should make two fixes, first we need to update the
classicalfunction compiler docs so they build without having tweedledum
installed. The second is we should update the CI job to avoid installing
terra from pypi before we build it from source. But, given that CI is
currently broken just adding it to the requirements-dev.txt list is the
fastest fix.

* Exclude tweedledum on Python 3.11 too

(cherry picked from commit a3b359b)

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: API Change Include in the "Changed" section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

tweedledum fails to load for arm64 mac
4 participants