Module adcp.types.generated_poc.governance.attribute_definition
Classes
class AttributeDefinition (**data: Any)-
Expand source code
class AttributeDefinition(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) attribute_id: Annotated[ str, Field( description='Unique identifier for this attribute. Used in plan.restricted_attributes, signal-definition.restricted_attributes, and data marketplace catalog entries.', pattern='^[a-z][a-z0-9_]*$', ), ] name: Annotated[str, Field(description="Human-readable name (e.g., 'Health Data').")] description: Annotated[ str, Field( description='What this attribute category covers. Defines the boundary — what is and is not included.' ), ] regulatory_basis: Annotated[ list[RegulatoryBasi] | None, Field(description='Regulations that define or restrict this attribute category.'), ] = None includes: Annotated[ list[str] | None, Field( description="Specific data types that fall within this category (e.g., for health_data: 'medical conditions', 'disability status', 'prescription history', 'inferred health from behavioral signals')." ), ] = None excludes: Annotated[ list[str] | None, Field( description='Data types that might seem related but are explicitly outside this category. Helps with boundary cases.' ), ] = None signal_patterns: Annotated[ list[str] | None, Field( description="Common signal naming or tagging patterns that indicate this attribute (e.g., 'health:', 'condition_', 'diagnosis_'). Data providers and governance agents use these as hints when signals lack explicit restricted_attributes declarations." ), ] = None guidance: Annotated[ str | None, Field( description='Implementation notes. Covers edge cases, inferred vs. declared data, and common pitfalls.' ), ] = NoneBase model for AdCP types with spec-compliant serialization.
Defaults to
extra='ignore'so that unknown fields from newer spec versions are silently dropped rather than causing validation errors. Generated types whose schemas setadditionalProperties: trueoverride this withextra='allow'in their ownmodel_config. Consumers who want strict validation can override withextra='forbid'.Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var attribute_id : strvar description : strvar excludes : list[str] | Nonevar guidance : str | Nonevar includes : list[str] | Nonevar model_configvar name : strvar regulatory_basis : list[RegulatoryBasi] | Nonevar signal_patterns : list[str] | None
Inherited members
class RegulatoryBasi (**data: Any)-
Expand source code
class RegulatoryBasi(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) name: Annotated[str, Field(description="Name of the regulation (e.g., 'GDPR Article 9(1)').")] jurisdictions: Annotated[ list[str] | None, Field(description='ISO 3166-1 alpha-2 codes where this regulation applies.'), ] = None summary: Annotated[ str, Field(description='How this regulation defines or restricts the attribute.') ]Base model for AdCP types with spec-compliant serialization.
Defaults to
extra='ignore'so that unknown fields from newer spec versions are silently dropped rather than causing validation errors. Generated types whose schemas setadditionalProperties: trueoverride this withextra='allow'in their ownmodel_config. Consumers who want strict validation can override withextra='forbid'.Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var jurisdictions : list[str] | Nonevar model_configvar name : strvar summary : str
Inherited members