Kognic OpenLABEL
Installation
Install the Kognic OpenLABEL package from pip with
pip install kognic-openlabel
Serialization and deserialization
Since all models inherit from pydantic
's BaseModel
, serialization and deserialization from dicts or json strings are relatively straight forward.
data = {
"openlabel": {
"metadata": {
"schema_version": "1.0.0"
}
}
}
import kognic.openlabel.models as OLM
openlabel_annotation = OLM.OpenLabelAnnotation.model_validate(data)
json_data = openlabel_annotation.model_dump_json(exclude_none=True)
openlabel_annotation = OLM.OpenLabelAnnotation.model_validate_json(json_data)
dict_data = openlabel_annotation.model_dump(exclude_none=True)
Further reading
https://www.asam.net/project-detail/asam-openlabel-v100/
Changelog
[2.0.2] - 2024-07-26
- Fix so that
model_dump
works correctly with ontologies
[2.0.1] - 2023-11-07
- Use
model_rebuild
instead of deprecated update_forward_refs
[2.0.0] - 2023-11-06
[1.0.1] - 2023-07-05
- Pin pydantic version to <2
[1.0.0] - 2022-10-18
[0.1.4] - 2022-01-24
- Improved serializability for enum classes
[0.1.3] - 2022-01-04
- Fixed issues with version 0.1.2
[0.1.2] - 2021-12-29
- Updated several fields with multiple types to fix issues with serialization and deserialization.
For example, the coordinates on
Poly2d
objects were previously always parsed to strings.
This update means that an attempt to parse them to floats is made. If this fails the they will be parsed to strings.
[0.1.1] - 2021-11-24
- Updated stream properties model generation to be nicer to work with
[0.1.0] - 2021-11-18
- Updated json schema and model to be true to the 1.0.0 release of openlabel. Previously it was based on the release-candidate