C3 AI Documentation Home

DataPrep Annotation Types

DataPrep Annotation Types

The Ann.Dp* annotation types define metadata for DataPrep pipeline operators. They are consumed by DataPrep.allOperatorDefinitions(), which reads annotated types and emits DataPrep.OperatorDefinition objects for the frontend.

Type-level annotations

AnnotationDescription
@dpOperatorMarks a type as a pipeline operator (classId, displayName, etc)
@dpPropertyGroupsArray of collapsible property-group definitions
@dpPropertyListsArray of repeatable add/remove property-list definitions

Field-level annotations

AnnotationDescription
@dpPropertyDeclares a property in the operator's property panel
@dpConditionsArray of conditional behavior rules for a property
@dpInputDeclares an input port (Data.Spark.DataFrame)
@dpOutputDeclares an output port (function returning DataFrame)

The @dpPropertyGroups, @dpPropertyLists, and @dpConditions annotations use a single json array field (groups, lists, conditions respectively) instead of stacking multiple annotations with the same name — C3 validation does not allow duplicate annotation names on a single type or field.

See dataPrepEngine/specs/annotation-based-operators.md for full annotation schemas and examples.

Was this page helpful?