Software and Libraries¶
QDE workspaces come pre-configured with comprehensive quantum computing libraries through the PsiQDK meta-package, plus support for installing additional packages to meet your specific development needs.
PsiQDK: Quantum Development Kit¶
Every QDE workspace includes the PsiQDK (PsiQuantum Quantum Development Kit), a unified meta-package that bundles all of PsiQuantum's quantum development libraries with guaranteed version compatibility.
Automatic Updates
PsiQDK is automatically updated to the latest stable version each time you wake, reboot, or deploy a new QDE workspace. If you need to lock a specific version for a project, create a virtual environment instead.
Core Libraries¶
The PsiQDK includes these essential quantum computing tools:
Workbench ⧉ provides the core fault-tolerant quantum computing (FTQC) programming interface. Use Workbench to design quantum circuits, simulate quantum algorithms, and prepare code for fault-tolerant execution.
Workbench Algorithms ⧉ contains reusable quantum sub-routines (Qubricks). These components accelerate development by providing tested, optimized implementations of standard quantum operations.
Bartiq ⧉ enables detailed quantum resource estimation and analysis. Calculate the computational requirements for your quantum algorithms, estimate execution time, and analyze resource scaling for different problem sizes.
Construct Tools include utilities for previewing Circuits and Resources Analysis in VSCode and Jupyter notebooks.
Pre-installed Libraries¶
Current Package List
The following packages are currently pre-installed in QDE workspaces. This list may change as new versions are deployed.
Scientific Computing¶
- pandas - Data analysis and manipulation
- numpy - Numerical computing with arrays
- sympy - Symbolic mathematics
- scipy - Scientific computing and optimization
- jax - High-performance machine learning research
- jaxlib - JAX support library
- matplotlib - Plotting and visualization
- networkx - Network analysis and graph algorithms
- graphviz - Graph visualization software
- igraph - Complex network analysis
- pyzx - Quantum circuit optimization with ZX-calculus
- pyliqtr - Quantum algorithm implementations
Development Tools¶
- pydantic - Data validation using Python type hints
- pytest - Testing framework
- flake8 - Python code linting
- uv - Fast Python package installer and resolver
- ruff - Extremely fast Python linter
- pipx - Install and run Python applications in isolated environments
Using PsiQDK Libraries¶
All PsiQDK libraries are immediately available in your workspace without additional installation:
from psiqworkbench import QPU
from workbench_algorithms import *
import bartiq
import numpy as np
import matplotlib.pyplot as plt
# Libraries are ready to use
qc = QPU()
qc.reset(4)
Installing Additional Packages¶
The QDE supports installing additional Python packages to extend functionality beyond the pre-installed libraries.
Using pip¶
Install packages using pip in the terminal or notebook cells:
# Install from terminal
pip install package-name
# Install specific version
pip install package-name==1.2.0
# Install with extra dependencies
pip install package-name[extras]
In Jupyter notebooks, use the ! prefix:
Package Persistence¶
Packages installed via pip persist across workspace sessions. Once installed, they remain available until the workspace is deleted or reset.
Installed packages are stored in your workspace's Python environment and do not affect other workspaces or users.
Managing Dependencies¶
Use best practices for dependency management in your quantum computing projects.
Requirements Files¶
Create requirements.txt files for reproducible environments:
Install from requirements:
Virtual Environment Strategy¶
While the QDE provides isolated workspaces, you can create additional virtual environments for specific projects or to lock specific package versions:
# Using uv (recommended for faster package management)
pip install uv
uv venv quantum_project_env
source quantum_project_env/bin/activate
uv pip install -r project_requirements.txt
# Or using standard venv
python -m venv quantum_project_env
source quantum_project_env/bin/activate
pip install -r project_requirements.txt
Use virtual environments when:
- You need to lock specific PsiQDK or library versions for reproducibility
- Working with conflicting dependencies across different projects
- Testing compatibility with different library versions
Checking Installed Packages¶
List currently installed packages:
In Python, check versions programmatically:
Library Updates¶
PsiQDK libraries are automatically updated to the latest stable version each time you wake, reboot, or deploy a new QDE workspace. Additional packages you install can be updated manually.
Updating Additional Packages¶
Update manually installed packages: