artifact
mlte/artifact/artifact.py
Artifact protocol implementation.
Artifact
The MLTE artifact protocol implementation.
The Artifact type establishes the common interface for all MLTE artifacts. This ensures that, even though they have very different semantics, all artifacts abide by a common protocol that allows us to perform common operations with them, namely persistence.
Source code in mlte/artifact/artifact.py
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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
|
creator = None
instance-attribute
The user that created this artifact.
identifier = identifier
instance-attribute
The identifier for the artifact. An artifact identifier is unique within a MLTE context (model, version) and for a given artifact type.
timestamp = -1
instance-attribute
The Unix timestamp of when the artifact was saved to a store.
type = type
instance-attribute
The identifier for the artifact type
__eq__(other)
Test instance for equality.
Source code in mlte/artifact/artifact.py
82 83 84 85 86 |
|
__json__()
Hack method to make Artifacts serializable to JSON if importing json-fix before json.dumps.
Source code in mlte/artifact/artifact.py
68 69 70 |
|
build_artifact_header()
Generates the common header model for artifacts.
Source code in mlte/artifact/artifact.py
226 227 228 229 230 231 232 233 |
|
from_model(_)
abstractmethod
classmethod
Deserialize an artifact from its corresponding model.
Source code in mlte/artifact/artifact.py
60 61 62 63 64 65 66 |
|
get_default_id()
staticmethod
To be overriden by derived classes.
Source code in mlte/artifact/artifact.py
221 222 223 224 |
|
load(identifier=None)
classmethod
Load an artifact from the configured global session.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
identifier
|
Optional[str]
|
The identifier for the artifact This is equivalent to calling: Artifact.load_with(session().context, session().store) |
None
|
Source code in mlte/artifact/artifact.py
154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
|
load_all_models(artifact_type)
staticmethod
Loads all artifact models of the given type from the session.
Source code in mlte/artifact/artifact.py
198 199 200 201 202 203 204 205 |
|
load_all_models_with(artifact_type, context, store)
staticmethod
Loads all artifact models of the given type for the given context and store.
Source code in mlte/artifact/artifact.py
207 208 209 210 211 212 213 214 215 216 217 218 219 |
|
load_with(identifier=None, *, context, store)
classmethod
Load an artifact with the given context and store configuration.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
identifier
|
Optional[str]
|
The identifier for the artifact |
None
|
context
|
Context
|
The context from which to load the artifact |
required |
store
|
ArtifactStore
|
The store from which to load the artifact |
required |
Source code in mlte/artifact/artifact.py
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
|
post_load_hook(context, store)
A method that artifact subclasses may override to enforce post-load invariants.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
context
|
Context
|
The context in which to save the artifact |
required |
store
|
ArtifactStore
|
The store in which to save the artifact |
required |
Raises:
Type | Description |
---|---|
RuntimeError
|
On broken invariant |
Source code in mlte/artifact/artifact.py
98 99 100 101 102 103 104 105 106 |
|
pre_save_hook(context, store)
A method that artifact subclasses can override to enforce pre-save invariants.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
context
|
Context
|
The context in which to save the artifact |
required |
store
|
ArtifactStore
|
The store in which to save the artifact |
required |
Raises:
Type | Description |
---|---|
RuntimeError
|
On broken invariant |
Source code in mlte/artifact/artifact.py
88 89 90 91 92 93 94 95 96 |
|
save(*, force=False, parents=False)
Save an artifact with parameters from the configured global session.
This is equivalent to calling: artifact.save_with(session().context, session().store)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
force
|
bool
|
Indicates that an existing artifact may be overwritten |
False
|
parents
|
bool
|
Indicates whether organizational elements for the artifact are created implicitly on write (default: False) |
False
|
Source code in mlte/artifact/artifact.py
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
|
save_with(context, store, *, force=False, parents=False)
Save an artifact with the given context and store configuration.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
context
|
Context
|
The context in which to save the artifact |
required |
store
|
ArtifactStore
|
The store in which to save the artifact |
required |
force
|
bool
|
Indicates that an existing artifact may be overwritten |
False
|
parents
|
bool
|
Indicates whether organizational elements for the artifact are created implicitly on write (default: False) |
False
|
Source code in mlte/artifact/artifact.py
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
|
to_model()
abstractmethod
Serialize an artifact to its corresponding model.
Source code in mlte/artifact/artifact.py
53 54 55 56 57 58 |
|