class PulseBackendConfigurationSchema(QasmBackendConfigurationSchema):
    """Schema for pulse backend"""
    # Required properties.
    open_pulse = fields.Boolean(required=True, validate=OneOf([True]))
    n_uchannels = fields.Integer(required=True, validate=Range(min=0))
    u_channel_lo = fields.List(
        fields.Nested(UchannelLOSchema,
                      validate=Length(min=1),
                      required=True,
                      many=True))
    meas_levels = fields.List(fields.Integer(),
                              validate=Length(min=1),
                              required=True)
    qubit_lo_range = fields.List(fields.List(
        fields.Float(validate=Range(min=0)), validate=Length(equal=2)),
                                 required=True)
    meas_lo_range = fields.List(fields.List(
        fields.Float(validate=Range(min=0)), validate=Length(equal=2)),
                                required=True)
    dt = fields.Float(required=True, validate=Range(min=0))  # pylint: disable=invalid-name
    dtm = fields.Float(required=True, validate=Range(min=0))
    rep_times = fields.List(fields.Integer(validate=Range(min=0)),
                            required=True)
    meas_kernels = fields.List(fields.String(), required=True)
    discriminators = fields.List(fields.String(), required=True)

    # Optional properties.
    meas_map = fields.List(
        fields.List(fields.Integer(), validate=Length(min=1)))
    channel_bandwidth = fields.List(
        fields.List(fields.Float(), validate=Length(equal=2)))
    acquisition_latency = fields.List(fields.List(fields.Integer()))
    conditional_latency = fields.List(fields.List(fields.Integer()))
    hamiltonian = PulseHamiltonianSchema()
示例#2
0
class CatSchema(BaseSchema):
    """Example Cat schema."""
    fur_density = fields.Float(required=True)