omnipy.data.serializer
Serializer abstractions and registry helpers for Omnipy datasets.
| CLASS | DESCRIPTION |
|---|---|
Serializer |
Abstract base class for dataset serializers used by Omnipy import/export flows. |
SerializerRegistry |
Registry and auto-detection helper for the serializers available to Omnipy. |
TarFileSerializer |
Serializer base class for datasets stored as gzipped tar archives of item files. |
Serializer
Bases: ABC, Generic[_DatasetT]
flowchart BT
omnipy.data.serializer.Serializer[Serializer]
click omnipy.data.serializer.Serializer href "" "omnipy.data.serializer.Serializer"
Abstract base class for dataset serializers used by Omnipy import/export flows.
-
Reference
Code reference
omnipy
data
serializerTarFileSerializer
| METHOD | DESCRIPTION |
|---|---|
deserialize |
Deserialize |
get_dataset_cls_for_new |
Return the dataset class created when deserializing with this serializer. |
get_output_file_suffix |
Return the filename suffix Omnipy associates with this serializer's output. |
is_dataset_directly_supported |
Return whether |
serialize |
Serialize |
Source code in src/omnipy/data/serializer.py
deserialize
abstractmethod
classmethod
get_dataset_cls_for_new
abstractmethod
classmethod
get_dataset_cls_for_new() -> type[IsDataset]
Return the dataset class created when deserializing with this serializer.
get_output_file_suffix
abstractmethod
classmethod
is_dataset_directly_supported
abstractmethod
classmethod
is_dataset_directly_supported(dataset: IsDataset) -> bool
Return whether dataset can be reconstructed directly by this serializer.
serialize
abstractmethod
classmethod
Serialize dataset into bytes suitable for persistence or transport.
SerializerRegistry
Registry and auto-detection helper for the serializers available to Omnipy.
-
Reference
Code reference
omnipy
hub
runtimeRuntimeObjectsserializers
| METHOD | DESCRIPTION |
|---|---|
__init__ |
|
auto_detect |
Return the first compatible dataset/serializer pair from the registry. |
auto_detect_tar_file_serializer |
Try only tar-file serializers and return the first compatible pair. |
detect_tar_file_serializers_from_dataset_cls |
Return tar-file serializers that can load data into |
detect_tar_file_serializers_from_file_suffix |
Return tar-file serializers whose output suffix matches |
load_from_tar_file_path_based_on_dataset_cls |
Load a tar archive by trying serializers compatible with |
load_from_tar_file_path_based_on_file_suffix |
Load a tar archive by detecting its serializer from member file suffixes. |
register |
Register a serializer class for later lookup and auto-detection. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
serializers |
Return all registered serializer classes in registration order.
TYPE:
|
tar_file_serializers |
Return registered serializers that operate on gzipped tar archives.
TYPE:
|
Source code in src/omnipy/data/serializer.py
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 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | |
serializers
property
serializers: tuple[Type[IsSerializer], ...]
Return all registered serializer classes in registration order.
tar_file_serializers
property
tar_file_serializers: tuple[Type[IsTarFileSerializer], ...]
Return registered serializers that operate on gzipped tar archives.
__init__
auto_detect
auto_detect(dataset: IsDataset) -> tuple[IsDataset, IsSerializer] | tuple[None, None]
Return the first compatible dataset/serializer pair from the registry.
auto_detect_tar_file_serializer
auto_detect_tar_file_serializer(
dataset: IsDataset,
) -> tuple[IsDataset, IsSerializer] | tuple[None, None]
Try only tar-file serializers and return the first compatible pair.
Source code in src/omnipy/data/serializer.py
detect_tar_file_serializers_from_dataset_cls
detect_tar_file_serializers_from_dataset_cls(
dataset: IsDataset,
) -> tuple[Type[IsTarFileSerializer], ...]
Return tar-file serializers that can load data into dataset.
If no direct match exists, serializers using the generic bytes suffix are returned as a
fallback.
Source code in src/omnipy/data/serializer.py
detect_tar_file_serializers_from_file_suffix
detect_tar_file_serializers_from_file_suffix(
file_suffix: str,
) -> tuple[Type[IsTarFileSerializer], ...]
Return tar-file serializers whose output suffix matches file_suffix.
Source code in src/omnipy/data/serializer.py
load_from_tar_file_path_based_on_dataset_cls
load_from_tar_file_path_based_on_dataset_cls(
log_obj: CanLog, tar_file_path: str, to_dataset: IsDataset, any_file_suffix: bool = False
) -> IsDataset | None
Load a tar archive by trying serializers compatible with to_dataset.
| PARAMETER | DESCRIPTION |
|---|---|
log_obj
|
Logger-like object used for status and failure messages.
TYPE:
|
tar_file_path
|
Path to the gzipped tar archive.
TYPE:
|
to_dataset
|
Dataset instance whose type guides serializer selection.
TYPE:
|
any_file_suffix
|
Whether deserializers may ignore file-suffix checks.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
IsDataset | None
|
The first dataset produced by a compatible serializer, or |
Source code in src/omnipy/data/serializer.py
load_from_tar_file_path_based_on_file_suffix
load_from_tar_file_path_based_on_file_suffix(
log_obj: CanLog, tar_file_path: str, to_dataset: IsDataset
) -> IsDataset | None
Load a tar archive by detecting its serializer from member file suffixes.
| PARAMETER | DESCRIPTION |
|---|---|
log_obj
|
Logger-like object used for status and failure messages.
TYPE:
|
tar_file_path
|
Path to the gzipped tar archive.
TYPE:
|
to_dataset
|
Preferred destination dataset instance.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
IsDataset | None
|
The populated destination dataset, an auto-created dataset if conversion fails, or
|
Source code in src/omnipy/data/serializer.py
register
register(serializer_cls: Type[IsSerializer]) -> None
Register a serializer class for later lookup and auto-detection.
TarFileSerializer
Bases: Serializer[_DatasetT], Generic[_DatasetT]
flowchart BT
omnipy.data.serializer.TarFileSerializer[TarFileSerializer]
omnipy.data.serializer.Serializer[Serializer]
omnipy.data.serializer.Serializer --> omnipy.data.serializer.TarFileSerializer
click omnipy.data.serializer.TarFileSerializer href "" "omnipy.data.serializer.TarFileSerializer"
click omnipy.data.serializer.Serializer href "" "omnipy.data.serializer.Serializer"
Serializer base class for datasets stored as gzipped tar archives of item files.
| METHOD | DESCRIPTION |
|---|---|
create_dataset_from_tarfile |
Populate |
create_tarfile_from_dataset |
Build a gzipped tar archive by serializing each dataset item into one member file. |
deserialize |
Deserialize |
get_dataset_cls_for_new |
Return the dataset class created when deserializing with this serializer. |
get_output_file_suffix |
Return the filename suffix Omnipy associates with this serializer's output. |
is_dataset_directly_supported |
Return whether |
serialize |
Serialize |
Source code in src/omnipy/data/serializer.py
create_dataset_from_tarfile
classmethod
create_dataset_from_tarfile(
dataset: _DatasetT,
tarfile_bytes: bytes,
data_decode_func: Callable[[IO[bytes]], Any],
dictify_object_func: Callable[[str, Any], dict | str],
import_method: str = "from_data",
any_file_suffix: bool = False,
) -> None
Populate dataset from a gzipped tar archive.
| PARAMETER | DESCRIPTION |
|---|---|
dataset
|
Dataset instance to populate.
TYPE:
|
tarfile_bytes
|
Serialized gzipped tar archive.
TYPE:
|
data_decode_func
|
Function decoding a single extracted file object.
TYPE:
|
dictify_object_func
|
Function mapping filename and decoded payload to import data.
TYPE:
|
import_method
|
Dataset import method to call for each decoded item.
TYPE:
|
any_file_suffix
|
Whether to skip file-suffix validation inside the archive.
TYPE:
|
Source code in src/omnipy/data/serializer.py
create_tarfile_from_dataset
classmethod
create_tarfile_from_dataset(
dataset: _DatasetT, data_encode_func: Callable[..., bytes | memoryview]
) -> bytes
Build a gzipped tar archive by serializing each dataset item into one member file.
| PARAMETER | DESCRIPTION |
|---|---|
dataset
|
Dataset whose items should be written into the archive.
TYPE:
|
data_encode_func
|
Function converting each dataset item into raw bytes.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bytes
|
The complete gzipped tar archive as bytes. |
Source code in src/omnipy/data/serializer.py
deserialize
abstractmethod
classmethod
get_dataset_cls_for_new
abstractmethod
classmethod
get_dataset_cls_for_new() -> type[IsDataset]
Return the dataset class created when deserializing with this serializer.
get_output_file_suffix
abstractmethod
classmethod
is_dataset_directly_supported
abstractmethod
classmethod
is_dataset_directly_supported(dataset: IsDataset) -> bool
Return whether dataset can be reconstructed directly by this serializer.
serialize
abstractmethod
classmethod
Serialize dataset into bytes suitable for persistence or transport.