Installation

Requirements

  • Python: 3.11, 3.12, or 3.13

  • Qiskit: 2.5.0 or later (<3.0.0)

  • NumPy: 1.24 or later

  • Matplotlib: 3.7 or later

  • Plotly: 5.18 or later

Install from PyPI

pip install qiskit-waveform-sim

Install with Optional Dependencies

# For development (linting, type checking, testing)
pip install qiskit-waveform-sim[dev]

# For running tests
pip install qiskit-waveform-sim[test]

# For building documentation
pip install qiskit-waveform-sim[docs]

# All optional dependencies
pip install qiskit-waveform-sim[dev,test,docs]

Install from Source

git clone https://github.com/PratulDeshpande/qiskit-waveform-sim
cd qiskit-waveform-sim
pip install -e ".[dev,test,docs]"

Development Setup

# Install pre-commit hooks
pre-commit install

# Run tests
pytest -v tests/

# Run linters
ruff check qiskit_waveform_sim tests
black --check qiskit_waveform_sim tests
mypy qiskit_waveform_sim

# Build documentation
cd docs
sphinx-build -b html source source/_build/html

Verifying Installation

import qiskit_waveform_sim
print(qiskit_waveform_sim.__version__)

# Test basic import
from qiskit_waveform_sim import TargetWaveformSimulator, PulseEnvelopeAnnotation
print("Import successful!")

Troubleshooting

Qiskit Version Conflicts

If you encounter version conflicts, ensure you have Qiskit 2.5+:

pip install --upgrade "qiskit>=2.5.0,<3"

Plotly/Kaleido Issues

For static image export, install kaleido:

pip install kaleido

Apple Silicon (M1/M2/M3)

All dependencies have native ARM64 wheels. If you encounter issues:

pip install --upgrade pip setuptools wheel
pip install qiskit-waveform-sim