-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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 deprecated legacy pulse builder commands #11191
Merged
nkanazawa1989
merged 26 commits into
Qiskit:main
from
MozammilQ:deprecate_legacy_pulse_builder_command
Dec 8, 2023
Merged
Changes from 6 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
b7dd20c
deprecated calling gates directly within the pulse builder namespace
MozammilQ 2b9c96c
modified tests
MozammilQ d86df4f
deprecated active_transpiler_settings, active_circuit_scheduler_setti…
MozammilQ de5d386
refactor related tests in test/python/transpiler/test_calibrationbuil…
MozammilQ 5048457
added relese note
MozammilQ 48baa23
edited release note
MozammilQ ff25a61
fixed sphinx error
MozammilQ 0114361
fixed sphinx error
MozammilQ b8cdf05
changed version from 1.0.0 to 0.46.0
MozammilQ 67f9cca
deprecated arguments default_transpiler_settings, default_circuit_sch…
MozammilQ a0f791b
deprecated QuantumCircuit type for argument target of qiskit.pulse.bu…
MozammilQ 5fa35ea
altered docstrings
MozammilQ 64d15c1
edited release note
MozammilQ 0019525
altered release note
MozammilQ b4e6ae3
refactor code
MozammilQ c980a82
removed deprecated functions, and modified tests
MozammilQ 5153d6e
altered a test
MozammilQ e02d0c9
modified test
MozammilQ 573fa9a
This commit makrs the complete removal of deprecated functions, and t…
MozammilQ baf5136
removed deprecated arguments, modified tests, and altered docstrings
MozammilQ 13cca4d
refactor docstrings
MozammilQ 2c85078
refactor code
MozammilQ 43ad34a
lint
MozammilQ c0734dd
refactor code
MozammilQ 0f333bd
altered release note
MozammilQ 35ffec1
removed circuit_scheduler_settings, with its property, setter and con…
MozammilQ File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
30 changes: 30 additions & 0 deletions
30
releasenotes/notes/Deprecate_legacy_pulse_builder_command-47651b395940e687.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
deprecations: | ||
- | | ||
Deprecated injecting circuit gate operation into the pulse context. | ||
|
||
Deprecated | ||
:func:`qiskit.pulse.builder.call_gate`, | ||
:func:`qiskit.pulse.builder.cx`, | ||
:func:`qiskit.pulse.builder.u1`, | ||
:func:`qiskit.pulse.builder.u2`, | ||
:func:`qiskit.pulse.builder.u3`, | ||
:func:`qiskit.pulse.builder.x` | ||
|
||
.. code-block:: python | ||
# This example shows how to get pulse gate instructions. | ||
from qiskit.providers.fake_provider import FakePerth | ||
backend=FakePerth() | ||
sched=backend.target['x'][(qubit,)].calibration | ||
|
||
MozammilQ marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Deprecated | ||
:func:`qiskit.pulse.builder.active_transpiler_settings` | ||
:func:`qiskit.pulse.builder.active_circuit_scheduler_settings` | ||
:func:`qiskit.pulse.builder.transpiler_settings` | ||
|
||
Modified related tests in | ||
:file:`test/python/pulse/test_builder.py`, | ||
:file:`test/python/pulse/test_block.py` | ||
:file:`test/python/pulse/test_builder_v2.py` | ||
:file:`test/python/transpiler/test_calibrationbuilder.py` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
@mtreinish Is there any guide for deprecation? Do we need to open two PRs? One to https://github.com/Qiskit/qiskit/tree/stable/0.46 with deprecation warning and another one to main branch with code removal?
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.
Yes, you will need 2 PRs, one with the deprecation (to 0.46) and one with the removal (to 1.0 ==
main
), and the deprecation warnings should say "since 0.46" (as suggested by @nkanazawa1989). In case you are considering it, I think that there's no need to close and re-open it againststable/0.46
, we can merge it to main and backport it to 0.46. (now that I think about it, this might actually be the recommended course of action, because else we would have diverging histories, @mtreinish?). It would be a good idea to write this down and have a sort of "guide" we can refer people to, because I expect it to be confusing for many contributors.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.
The pattern we've been following is just opening a PR on
stable/0.46
for the deprecation paired with a removal PR onmain
for 1.0.0. This was mostly done to minimize CI time, it's only 2 CI runs instead of 3 to deprecate and remove. They can also be pushed in parallel without any dependency between PRs.But, I wouldn't say we're committed to that as a general requirement, doing both a deprecation to be backported to
stable/0.46
followed by an immediate removal PR to main would also work fine. The only complication is for backport you'd need to use a comment to manually tell mergify to backport tostable/0.46
. For example, leaving a comment like:@Mergifyio backport stable/0.46
after the PR merges. Using the stable backport potential tag in this case will trigger a backport to stable/0.45 which is incorrect for new deprecations.In the interest of documenting this I pushed up #11205 to document the branching versioning strategy and all the general deprecation procedures around this. But I didn't put in specifics around how to handle PRs for this situation. I think we can updating
CONTRIBUTING.md
after #11205 merges if we feel more guidance is needed on the specifics around this. In general backporting and stable branch policy will be getting more complicated moving forward as we support > 1 stable branch at a time (this is just the first example of it).