Feature Description
Add a new pulse extra to the pyqasm package, allowing users to install optional dependencies required for pulse/calibration features via pip install pyqasm[pulse].
Motivation
Pulse and calibration features (such as those used in OpenPulse or QASM3 calibration blocks) may require additional dependencies that are not needed for core QASM parsing or circuit features. Providing an installable extra ensures users can opt-in to these dependencies only when needed, keeping the base install lightweight
Implementation (Optional)
-
Modify pyproject.toml:
- Add a
[project.optional-dependencies] section (or update it if it exists).
- Define a
pulse extra with the relevant dependencies (e.g., numpy, scipy, or any libraries required for pulse processing).
[project.optional-dependencies]
pulse = [
"numpy",
"scipy",
# Add any other dependencies needed for pulse features
]
-
Update Documentation:
- Document the new extra in the README and any other relevant docs.
- Provide installation instructions, e.g.:
pip install pyqasm[pulse]
-
(Optional) Add Tests:
- If there are pulse-specific modules or features, ensure that CI installs the
pulse extra and runs relevant tests.
-
Update requirements.txt (if used):
- If the repository maintains a
requirements.txt for development or CI, ensure it covers the pulse dependencies as needed.
Feature Description
Add a new
pulseextra to thepyqasmpackage, allowing users to install optional dependencies required for pulse/calibration features viapip install pyqasm[pulse].Motivation
Pulse and calibration features (such as those used in OpenPulse or QASM3 calibration blocks) may require additional dependencies that are not needed for core QASM parsing or circuit features. Providing an installable extra ensures users can opt-in to these dependencies only when needed, keeping the base install lightweight
Implementation (Optional)
Modify
pyproject.toml:[project.optional-dependencies]section (or update it if it exists).pulseextra with the relevant dependencies (e.g.,numpy,scipy, or any libraries required for pulse processing).Update Documentation:
(Optional) Add Tests:
pulseextra and runs relevant tests.Update
requirements.txt(if used):requirements.txtfor development or CI, ensure it covers thepulsedependencies as needed.