A simple way to access meta data about artifacts in Linea.
Source code in lineapy/api/models/linea_artifact_store.py
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 | class LineaArtifactStore:
"""
A simple way to access meta data about artifacts in Linea.
"""
def __init__(self, db):
db_artifacts: List[ArtifactORM] = db.get_all_artifacts()
self.artifacts: List[LineaArtifact] = [
LineaArtifact(
db=db,
_execution_id=db_artifact.execution_id,
_node_id=db_artifact.node_id,
_session_id=db_artifact.node.session_id,
_version=db_artifact.version, # type: ignore
name=cast(str, db_artifact.name),
date_created=db_artifact.date_created, # type: ignore
)
for db_artifact in db_artifacts
]
@property
def len(self) -> int:
return len(self.artifacts)
@property
def print(self) -> str:
# Can't really cache this since the values might change
return "\n".join(
[
f"{a.name}:{a.version} created on {a.date_created}"
for a in self.artifacts
]
)
def __str__(self) -> str:
return self.print
def __repr__(self) -> str:
return self.print
@property
def export(self):
"""
Returns
-------
Dict
Dictionary of artifact information, which the user can then
manipulate with their favorite dataframe tools, such as pandas,
e.g., `cat_df = pd.DataFrame(artifact_store.export())`.
"""
return [
{
"artifact_name": a.name,
"artifact_version": a.version,
"date_created": a.date_created,
}
for a in self.artifacts
]
|
export
property
Returns:
Type |
Description |
Dict
|
Dictionary of artifact information, which the user can then
manipulate with their favorite dataframe tools, such as pandas,
e.g., cat_df = pd.DataFrame(artifact_store.export()) . |