Features
czml3 is built upon pydantic and leverages a lot of its capabilities to achieve its goal: making the process of writing CZML files in Python easy.
Type Checking
Inputs to classes are type checked, which ensures that the data is in the correct format before it is written to the CZML file.
Coercion of Data
Inputted data that is not of the specified type in the class is coerced to their right type. See Example 2 in Examples.
Forbid Unrecognised Properties
Unrecognised inputs to classes are forbidden, which ensures the CZML document contains only recognised and valid fields.
If a valid property of a czml3 class is missing then please open an issue.
Minimal CZML File Creation
czml3 will remove all fields that are not set (i.e. None), which ensures that the CZML file is as small as possible.
Fast JSON Serialisation
Pydantic is very fast at JSON serialisation. See here for a breakdown.