piel.types.experimental#
Submodules#
Attributes#
Classes#
This represents the fundamental data structure to identify a component with connection and internal or external connectivity. |
|
Standard definition for a generic temperature stage. |
|
Represents a sourcemeter. |
|
This class corresponds to the configuration of data which is just inherent to the Sourcemeter connectivity and configuration, |
|
Represents a multimeter. |
|
This class corresponds to the configuration of data which is just inherent to the Multimeter connectivity and configuration, |
|
Corresponds to the abstraction of a given device measurement. |
|
A base model class that serves as the foundation for other measurement in the project. |
|
Corresponds to the abstraction of a given device measurement. |
|
This is a specific instance of an measurement configuration. It can be the result of serialization a given |
|
This represents the fundamental data structure of an element in connectivity |
|
This class contains a collection of different experiments, |
|
Represents a vector-network analyser. |
|
This class corresponds to the configuration of data which is just inherent to the VNA connectivity and configuration, |
|
Standard definition for a measurement configuration. |
|
Standard definition for a measurement. This should be the container for all the measurement files, it is not the data container. |
|
Generic class for MeasurementCollection |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
This is a definition of a collection of measurement data. |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
This represents the fundamental data structure of an element in connectivity |
|
Standard definition for a collection of files that are part of a propagation delay measurement. |
|
This represents the fundamental data structure of an element in connectivity |
|
Standard definition for a collection of files that are part of a generic oscilloscope measurement |
|
This represents the fundamental data structure of an element in connectivity |
|
Standard definition for a measurement. This should be the container for all the measurement files, it is not the data container. |
|
Generic class for MeasurementCollection |
|
Standard definition for a measurement configuration. |
|
Standard definition for a measurement configuration. |
|
Standard definition for a collection of files that are part of a S-Parameter VNA measurement. |
|
Standard definition for a collection of files that are part of a VNA measurement. |
|
Generic class for MeasurementCollection |
|
Generic class for MeasurementCollection |
|
Standard definition for a collection of files that are part of a propagation delay measurement. |
|
Generic class for MeasurementCollection |
|
Standard definition for a measurement configuration. |
|
Generic, extensible OscilloscopeMeasurement |
|
Generic class for MeasurementCollection |
|
Standard definition for a measurement configuration. |
|
Represents an oscilloscope |
|
This class corresponds to the configuration of data which is just inherent to the Oscilloscope connectivity and configuration, |
|
This class corresponds to the configuration of data which is just inherent to the WaveformGenerator connectivity and configuration, |
|
Represents a vector-network analyser. |
Package Contents#
- class Cryostat(/, **data: Any)[source]#
Bases:
piel.types.connectivity.abstract.ComponentThis represents the fundamental data structure to identify a component with connection and internal or external connectivity.
- temperature_stages: list[TemperatureStage] = []#
- class TemperatureStage(/, **data: Any)[source]#
Bases:
piel.types.environment.Environment,piel.types.connectivity.abstract.ComponentStandard definition for a generic temperature stage.
- surface_area_m2: float = None#
- class Sourcemeter(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceRepresents a sourcemeter.
- configuration: SourcemeterConfiguration = None#
- class SourcemeterConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceConfigurationThis class corresponds to the configuration of data which is just inherent to the Sourcemeter connectivity and configuration, not the measurement setup connectivity.
- voltage_set_V: float | None = None#
- voltage_range_V: tuple | None = None#
- current_limit_A: float | None = None#
- voltage_limit_V: float | None = None#
- class Multimeter(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceRepresents a multimeter.
- class MultimeterConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceConfigurationThis class corresponds to the configuration of data which is just inherent to the Multimeter connectivity and configuration,
- class Device(/, **data: Any)[source]#
Bases:
piel.types.connectivity.physical.PhysicalComponentCorresponds to the abstraction of a given device measurement.
- configuration: DeviceConfiguration | None = None#
- serial_number: str = ''#
- class DeviceConfiguration(/, **data: Any)[source]#
Bases:
piel.types.core.PielBaseModelA base model class that serves as the foundation for other measurement in the project. This class extends pydantic’s BaseModel and includes additional configuration settings for strict validation and immutability.
- Config#
A nested class to configure the behavior of the model. arbitrary_types_allowed (bool): Allows arbitrary measurement. extra (str): Forbids extra attributes not defined in the model. validate_assignment (bool): Validates fields on assignment. strict (bool): Enforces strict type validation. allow_mutation (bool): Prevents mutation of the model’s fields.
- supplied_parameters() list[str]#
Returns a list of parameter names that have been supplied (i.e., are not None).
- class MeasurementDevice(/, **data: Any)[source]#
Bases:
DeviceCorresponds to the abstraction of a given device measurement.
- measurement: piel.types.experimental.measurements.core.MeasurementConfiguration | None = None#
Contains the measurement information.
- class ExperimentInstance(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis is a specific instance of an measurement configuration. It can be the result of serialization a given experiment configuration. The experiment contains all devices that correspond a specific setup. Each device contains a particular configuration, or may have information about the environment, etc.
- components: list[piel.types.connectivity.generic.ComponentTypes] | tuple[piel.types.connectivity.generic.ComponentTypes] = []#
Contains all references to the instantiated devices.
- connections: list[piel.types.connectivity.generic.ConnectionTypes] | tuple[piel.types.connectivity.generic.ConnectionTypes] = []#
All the connectivity information is stored here.
- goal: str = ''#
The goal of the experiment test.
- parameters: dict#
A dictionary of reference parameters in this measurement instance. Does not contain all the serialised measurement data.
- index: int = 0#
A defined index of the experiment instance tuple.
- date_configured: str = ''#
The date the experiment was configured.
- date_measured: str = ''#
The date the experiment was measured.
- measurement_configuration_list: list[piel.types.experimental.measurements.generic.MeasurementConfigurationTypes] = []#
- class Experiment(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis represents the fundamental data structure of an element in connectivity
- name: str = ''#
Every experiment is required to have a name.
- goal: str = ''#
The goal of the complete experiment.
- experiment_instances: list[ExperimentInstance] = []#
Contains all the experiment instances.
- parameters_list: list[dict]#
List of basic important parameters in dictionaries used to do basic metadata analysis of the experiment.
- parent_directory: piel.types.core.PathTypes = ''#
Optional parameter to specify the parent_directory of the Experiment, where the directories containing the data and metadata of the ExperimentInstances are constructed.
- __getitem__#
- property parameters#
- class ExperimentCollection(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis class contains a collection of different experiments, each which may contain a large set of measurements internally.
- experiment_list: list[Experiment] = []#
- class VNA(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceRepresents a vector-network analyser.
- configuration: VNAConfiguration | None = None#
Just overwrites this section of the device definition.
- ports: tuple[piel.types.connectivity.physical.PhysicalPort] | list[piel.types.connectivity.physical.PhysicalPort]#
Defaults to a two-port VNA, defined as PORT1 and PORT2.
- class VNAConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceConfigurationThis class corresponds to the configuration of data which is just inherent to the VNA connectivity and configuration, not the measurement setup connectivity.
- calibration_setting_name: str = ''#
- measurement_configuration: piel.types.experimental.measurements.generic.FrequencyMeasurementConfigurationTypes = None#
- class MeasurementConfiguration(/, **data: Any)[source]#
Bases:
piel.types.connectivity.abstract.InstanceStandard definition for a measurement configuration.
- name: str = ''#
- parent_directory: piel.types.core.PathTypes = ''#
- measurement_type: str = ''#
- class Measurement(/, **data: Any)[source]#
Bases:
piel.types.connectivity.abstract.InstanceStandard definition for a measurement. This should be the container for all the measurement files, it is not the data container.
- name: str = ''#
- type: str = ''#
- parent_directory: piel.types.core.PathTypes = ''#
- class MeasurementCollection(/, **data: Any)[source]#
Bases:
piel.types.connectivity.abstract.InstanceGeneric class for MeasurementCollection
- type: str = ''#
- collection: list[Measurement] = []#
- class DCSweepMeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataCollectionThis represents the fundamental data structure of an element in connectivity
- collection: list[piel.types.signal.dc_data.SignalDCCollection] = []#
- class DCMeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataCollectionThis represents the fundamental data structure of an element in connectivity
- collection: list[DCMeasurementDataTypes] | DCSweepMeasurementDataCollection = []#
- DCMeasurementDataTypes#
- DCMeasurementDataCollectionTypes#
- class MeasurementData(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis represents the fundamental data structure of an element in connectivity
- type: str | None = ''#
- class MeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis represents the fundamental data structure of an element in connectivity
- type: str = ''#
- collection: list[MeasurementData] = []#
- __getitem__#
- class ExperimentData(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis is a definition of a collection of measurement data.
- experiment: piel.types.experimental.experiment.Experiment = None#
- data: piel.types.experimental.measurements.data.generic.MeasurementDataCollectionTypes = None#
- __getitem__#
- class ExperimentDataCollection(/, **data: Any)[source]#
Bases:
piel.types.connectivity.core.InstanceThis represents the fundamental data structure of an element in connectivity
- collection: list[ExperimentData] = []#
- MeasurementDataTypes#
- MeasurementDataCollectionTypes#
- FrequencyMeasurementDataTypes#
- class VNASParameterMeasurementData(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataThis represents the fundamental data structure of an element in connectivity
- type: str = 'VNASParameterMeasurementData'#
- network: piel.types.signal.frequency.transmission.FrequencyTransmissionModel = None#
- class VNASParameterMeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataCollectionThis represents the fundamental data structure of an element in connectivity
- type: str = 'VNASParameterMeasurementDataCollection'#
- collection: list[VNASParameterMeasurementData] = []#
- class VNAPowerSweepMeasurementData(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataThis represents the fundamental data structure of an element in connectivity
- type: str = 'VNAPowerSweepMeasurementData'#
- network: piel.types.signal.frequency.transmission.FrequencyTransmissionModel | None = None#
- class FrequencyMeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataCollectionThis represents the fundamental data structure of an element in connectivity
- type: str = 'FrequencyMeasurementDataCollection'#
- collection: list[FrequencyMeasurementDataTypes] = []#
- class PropagationDelayMeasurementData(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataStandard definition for a collection of files that are part of a propagation delay measurement.
The collection includes the device waveform, the measurement files and the reference waveform as per a propagation delay measurement.
- measurements#
The collection of signal measurements.
- Type:
Optional[SignalMetricsMeasurementCollection]
- dut_waveform#
The device waveform.
- Type:
Optional[TimeSignalData]
- reference_waveform#
The reference waveform.
- Type:
Optional[TimeSignalData]
- type: str = 'PropagationDelayMeasurementData'#
- measurements: piel.types.metrics.ScalarMetricCollection | None = None#
- dut_waveform: piel.types.signal.time_data.TimeSignalData | None = None#
- reference_waveform: piel.types.signal.time_data.TimeSignalData | None = None#
- class PropagationDelayMeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataCollectionThis represents the fundamental data structure of an element in connectivity
- type: str = 'PropagationDelayMeasurementDataCollection'#
- collection: list[PropagationDelayMeasurementData] = []#
- class OscilloscopeMeasurementData(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataStandard definition for a collection of files that are part of a generic oscilloscope measurement
The collection includes a list of waveform files, and a measurements file.
- measurements#
The collection of signal measurements.
- Type:
Optional[SignalMetricsMeasurementCollection]
- waveform_list#
The collection of waveforms.
- Type:
MultiTimeSignalData
- type: str = 'OscilloscopeMeasurementData'#
- measurements: piel.types.metrics.ScalarMetricCollection | None = None#
- waveform_list: piel.types.signal.time_data.MultiTimeSignalData = []#
- class OscilloscopeMeasurementDataCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.data.core.MeasurementDataCollectionThis represents the fundamental data structure of an element in connectivity
- type: str = 'OscilloscopeMeasurementDataCollection'#
- collection: list[OscilloscopeMeasurementData] = []#
- VoltageCurrentSignalNamePair#
- class ElectroOpticDCMeasurement(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementStandard definition for a measurement. This should be the container for all the measurement files, it is not the data container.
- dc_transmission_file: piel.types.core.PathTypes#
- connection: piel.types.connectivity.generic.ConnectionTypes#
- class ElectroOpticDCMeasurementCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementCollectionGeneric class for MeasurementCollection
- collection: list[ElectroOpticDCMeasurement]#
- class VNASParameterMeasurementConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementConfigurationStandard definition for a measurement configuration.
- measurement_configuration_type: str = 'VNASParameterMeasurementConfiguration'#
- frequency_range_Hz: tuple[float, float] | list[float] = []#
- sweep_points: int = 0#
- test_port_power_dBm: float = 0.0#
- class VNAPowerSweepMeasurementConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementConfigurationStandard definition for a measurement configuration.
- measurement_configuration_type: str = 'VNAPowerSweepMeasurementConfiguration'#
- base_frequency_Hz: float = 0.0#
- power_range_dBm: tuple[float, float] | list[float] = []#
- class VNASParameterMeasurement(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementStandard definition for a collection of files that are part of a S-Parameter VNA measurement.
- type: str = 'VNASParameterMeasurement'#
- spectrum_file: piel.types.core.PathTypes = ''#
- class VNAPowerSweepMeasurement(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementStandard definition for a collection of files that are part of a VNA measurement.
- type: str = 'VNAPowerSweepMeasurement'#
- spectrum_file: piel.types.core.PathTypes = ''#
- class VNAPowerSweepMeasurementCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementCollectionGeneric class for MeasurementCollection
- type: str = 'VNAPowerSweepMeasurementCollection'#
- collection: list[VNAPowerSweepMeasurement] = []#
- class VNASParameterMeasurementCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementCollectionGeneric class for MeasurementCollection
- type: str = 'VNASParameterMeasurementCollection'#
- collection: list[VNASParameterMeasurement] = []#
- class PropagationDelayMeasurement(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementStandard definition for a collection of files that are part of a propagation delay measurement. The collection includes the device name, the measurement name and the date of the measurement. This configuration requires a device waveform, a measurement file and a reference waveform as per a propagation delay measurement. TODO add link to the documentation of the propagation delay measurement.
- type: str = 'PropagationDelayMeasurement'#
- dut_waveform_file: piel.types.core.PathTypes = ''#
- reference_waveform_file: piel.types.core.PathTypes = ''#
- measurements_file: piel.types.core.PathTypes = ''#
- class PropagationDelayMeasurementCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementCollectionGeneric class for MeasurementCollection
- type: str = 'PropagationDelayMeasurementCollection'#
- collection: list[PropagationDelayMeasurement] = []#
- class PropagationDelayMeasurementConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementConfigurationStandard definition for a measurement configuration.
- measurement_configuration_type: str = 'PropagationDelayMeasurementConfiguration'#
- class OscilloscopeMeasurement(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementGeneric, extensible OscilloscopeMeasurement
- type: str = 'OscilloscopeMeasurement'#
- waveform_file_list: list[piel.types.core.PathTypes] = []#
- measurements_file: piel.types.core.PathTypes = ''#
- class OscilloscopeMeasurementCollection(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementCollectionGeneric class for MeasurementCollection
- type: str = 'OscilloscopeMeasurementCollection'#
- collection: list[OscilloscopeMeasurement] = []#
- class OscilloscopeMeasurementConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.measurements.core.MeasurementConfigurationStandard definition for a measurement configuration.
- measurement_configuration_type: str = 'OscilloscopeMeasurementConfiguration'#
- FrequencyMeasurementConfigurationTypes#
- FrequencyMeasurementTypes#
- MeasurementTypes#
- MeasurementConfigurationTypes#
- MeasurementCollectionTypes#
- class Oscilloscope(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.MeasurementDeviceRepresents an oscilloscope
- configuration: OscilloscopeConfiguration | None = None#
Just overwrites this section of the device definition.
- class OscilloscopeConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceConfigurationThis class corresponds to the configuration of data which is just inherent to the Oscilloscope connectivity and configuration, not the measurement setup connectivity.
- bandwidth_Hz: piel.types.metrics.ScalarMetric = None#
- class WaveformGeneratorConfiguration(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceConfigurationThis class corresponds to the configuration of data which is just inherent to the WaveformGenerator connectivity and configuration, not the measurement setup connectivity.
- signal: piel.types.signal.time_sources.SignalTimeSources = None#
Contains an instantiation of the signal configuration applied as a reference.
- class WaveformGenerator(/, **data: Any)[source]#
Bases:
piel.types.experimental.device.DeviceRepresents a vector-network analyser.
- configuration: WaveformGeneratorConfiguration = None#
Just overwrites this section of the device definition.