Qiskit Metrics

QiskitMetrics extracts basic circuit properties directly from QuantumCircuit objects using the unified schema-based API.

Key Features: - Unified API: Single get_metrics() method returns QiskitMetricsSchema - Type Safety: Full IDE support with automatic validation - Comprehensive Coverage: Basic metrics, instruction analysis, and scheduling information

Usage Example:

from qiskit import QuantumCircuit
from qward.metrics import QiskitMetrics

# Create circuit
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)

# Analyze with type-safe API
qiskit_metrics = QiskitMetrics(circuit)
metrics = qiskit_metrics.get_metrics()  # Returns QiskitMetricsSchema

# Access validated data
print(f"Depth: {metrics.basic_metrics.depth}")
print(f"Gate count: {metrics.basic_metrics.size}")
print(f"Qubits: {metrics.basic_metrics.num_qubits}")

API Reference

Qiskit metrics implementation for QWARD.

This module provides the QiskitMetrics class for extracting various metrics from QuantumCircuit objects using structured schema-based output with validation.

class QiskitMetrics(circuit)[source]

Bases: MetricCalculator

Extract metrics from QuantumCircuit objects.

This class analyzes quantum circuits and extracts various metrics that are directly available from the QuantumCircuit class using structured schema-based output with validation.

circuit

The quantum circuit to analyze (inherited from MetricCalculator)

Initialize a MetricCalculator object.

Parameters:

circuit (QuantumCircuit) – The quantum circuit to analyze

get_basic_metrics()[source]

Get basic circuit metrics as a validated schema object.

Returns:

Validated basic metrics including depth, width, size, counts, etc.

Return type:

BasicMetricsSchema

get_instruction_metrics()[source]

Get instruction-related circuit metrics as a validated schema object.

Returns:

Validated instruction metrics including connectivity and factors

Return type:

InstructionMetricsSchema

get_metrics()[source]

Get metrics as a structured, validated schema object.

Returns:

Complete validated metrics schema

Return type:

QiskitMetricsSchema

Raises:
  • ImportError – If Pydantic schemas are not available

  • ValidationError – If metrics data doesn’t match schema constraints

get_scheduling_metrics()[source]

Get scheduling-related circuit metrics as a validated schema object.

Returns:

Validated scheduling metrics (empty if circuit not scheduled)

Return type:

SchedulingMetricsSchema

is_ready()[source]

Check if the metric is ready to be calculated.

Return type:

bool

class QiskitMetrics(circuit)[source]

Bases: MetricCalculator

Extract metrics from QuantumCircuit objects.

This class analyzes quantum circuits and extracts various metrics that are directly available from the QuantumCircuit class using structured schema-based output with validation.

circuit

The quantum circuit to analyze (inherited from MetricCalculator)

Initialize a MetricCalculator object.

Parameters:

circuit (QuantumCircuit) – The quantum circuit to analyze

property circuit: QuantumCircuit

Get the quantum circuit.

Returns:

The quantum circuit

Return type:

QuantumCircuit

get_basic_metrics()[source]

Get basic circuit metrics as a validated schema object.

Returns:

Validated basic metrics including depth, width, size, counts, etc.

Return type:

BasicMetricsSchema

get_instruction_metrics()[source]

Get instruction-related circuit metrics as a validated schema object.

Returns:

Validated instruction metrics including connectivity and factors

Return type:

InstructionMetricsSchema

get_metrics()[source]

Get metrics as a structured, validated schema object.

Returns:

Complete validated metrics schema

Return type:

QiskitMetricsSchema

Raises:
  • ImportError – If Pydantic schemas are not available

  • ValidationError – If metrics data doesn’t match schema constraints

get_scheduling_metrics()[source]

Get scheduling-related circuit metrics as a validated schema object.

Returns:

Validated scheduling metrics (empty if circuit not scheduled)

Return type:

SchedulingMetricsSchema

property id: MetricsId

Get the ID of the metric.

Returns:

The ID of this metric

Return type:

MetricsId

is_ready()[source]

Check if the metric is ready to be calculated.

Return type:

bool

property metric_type: MetricsType

Get the type of this metric.

Returns:

The type of this metric

Return type:

MetricsType

property name: str

Get the name of the metric.

Returns:

The name of the metric class.

Return type:

str