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.