Files
zenml/venv/lib/python3.9/site-packages/mlflow/entities/file_info.py
Christian Mantha 2ca0b9ef7c star
2026-03-02 19:10:52 -05:00

46 lines
1.2 KiB
Python

from mlflow.entities._mlflow_object import _MlflowObject
from mlflow.protos.service_pb2 import FileInfo as ProtoFileInfo
class FileInfo(_MlflowObject):
"""
Metadata about a file or directory.
"""
def __init__(self, path, is_dir, file_size):
self._path = path
self._is_dir = is_dir
self._bytes = file_size
def __eq__(self, other):
if type(other) is type(self):
return self.__dict__ == other.__dict__
return False
@property
def path(self):
"""String path of the file or directory."""
return self._path
@property
def is_dir(self):
"""Whether the FileInfo corresponds to a directory."""
return self._is_dir
@property
def file_size(self):
"""Size of the file or directory. If the FileInfo is a directory, returns None."""
return self._bytes
def to_proto(self):
proto = ProtoFileInfo()
proto.path = self.path
proto.is_dir = self.is_dir
if self.file_size:
proto.file_size = self.file_size
return proto
@classmethod
def from_proto(cls, proto):
return cls(proto.path, proto.is_dir, proto.file_size)