| name | python-expert |
| description | Expert Python development skill for scientific library design and best practices. Use when writing Python code, designing APIs, creating Pydantic schemas, building abstract base classes, implementing design patterns (Strategy, Factory, Observer), writing type-safe code with type hints, structuring Python packages, creating tests with pytest, managing dependencies, optimizing performance, or following PEP conventions. Tailored for the QWARD Qiskit extension library. |
Python Expert
Overview
Expert-level Python development guidance for building and maintaining the QWARD quantum computing metrics library. Covers library design patterns, type safety, testing, packaging, and performance optimization.
QWARD Architecture Quick Reference
qward/
├── scanner.py # Scanner (Context in Strategy pattern)
├── metrics/
│ ├── base_metric.py # MetricCalculator (Strategy Interface)
│ ├── types.py # MetricsType, MetricsId enums
│ ├── qiskit_metrics.py # Concrete Strategy
│ ├── complexity_metrics.py
│ ├── fidelity_metrics.py
│ ├── behavioral_metrics.py
│ ├── structural_metrics.py
│ ├── element_metrics.py
│ └── quantum_specific_metrics.py
├── schemas/ # Pydantic validation
├── visualization/ # Strategy-based visualizers
└── utils/
Core Patterns Used in QWARD
Strategy Pattern (Primary)
from abc import ABC, abstractmethod
from pydantic import BaseModel
class MetricCalculator(ABC):
"""Strategy interface - all metrics implement this."""
def __init__(self, circuit):
._circuit = circuit
() -> BaseModel:
...
() -> :
...