コード例 #1
0
    def from_protobuf(message: DatasetProfileMessage):
        """
        Load from a protobuf message

        Parameters
        ----------
        message : DatasetProfileMessage
            The protobuf message.  Should match the output of
            `DatasetProfile.to_protobuf()`

        Returns
        -------
        dataset_profile : DatasetProfile
        """
        return DatasetProfile(
            name=message.properties.tags["Name"],
            session_id=message.properties.session_id,
            session_timestamp=from_utc_ms(message.properties.session_timestamp),
            data_timestamp=from_utc_ms(message.properties.data_timestamp),
            columns={
                k: ColumnProfile.from_protobuf(v) for k, v in message.columns.items()
            },
            tags=dict(message.properties.tags),
            metadata=dict(message.properties.metadata),
        )
コード例 #2
0
    def from_protobuf(message: DatasetProfileMessage) -> "DatasetProfile":
        """
        Load from a protobuf message

        Parameters
        ----------
        message : DatasetProfileMessage
            The protobuf message.  Should match the output of
            `DatasetProfile.to_protobuf()`

        Returns
        -------
        dataset_profile : DatasetProfile
        """
        properties: DatasetProperties = message.properties
        name = (properties.tags or {}).get(
            "name", None) or (properties.tags or {}).get("Name", None) or ""

        return DatasetProfile(
            name=name,
            session_id=properties.session_id,
            session_timestamp=from_utc_ms(properties.session_timestamp),
            dataset_timestamp=from_utc_ms(properties.data_timestamp),
            columns={
                k: ColumnProfile.from_protobuf(v)
                for k, v in message.columns.items()
            },
            tags=dict(properties.tags or {}),
            metadata=dict(properties.metadata or {}),
            model_profile=ModelProfile.from_protobuf(message.modeProfile),
        )
コード例 #3
0
ファイル: test_logger.py プロジェクト: valer-whylabs/whylogs
def test_write_template_path():
    data_time = time.from_utc_ms(9999)
    session_time = time.from_utc_ms(88888)
    path_template = "$name-$session_timestamp-$dataset_timestamp-$session_id"
    writer_config = WriterConfig("local", ["protobuf", "flat"], "output", path_template, "dataset-profile-$name")
    writer = writer_from_config(writer_config)
    dp = DatasetProfile("name", data_time, session_time, session_id="session")
    assert writer.path_suffix(dp) == "name-88888-9999-session"
    assert writer.file_name(dp, ".txt") == "dataset-profile-name.txt"