Kerfed APIs all consume and produce data defined as Protobuf 3 messages or the JSON mapping of these messages. The message definitions and documentation can be found on buf.build. Bindings for Typescript and Python are available through the default packaging systems:
- npm add @kerfed/protos
- pip install kerfed.protos
All APIs consuming and emitting JSON use the preserving_proto_field_name
option which prevents field names like geom_id
from being mapped to geomId
, and the use_integers_for_enums
option. Most users of the REST interface should use client libraries like kerfed.client instead of this package.
from google.protobuf.json_format import MessageToJson
json = MessageToJson(request,
preserving_proto_field_name=True,
use_integers_for_enums=True)