cyclonedx.model.model_card
This set of classes represents the model card types in the CycloneDX standard.
Note
Introduced in CycloneDX v1.5. Environmental considerations were added in v1.6.
Note
See the CycloneDX Schema for model cards:
Classes
Enumeration for machineLearningApproachType. |
|
Container for the approach element within modelParameters. |
|
Definition for items under modelParameters.inputs[] and outputs[]. |
|
modelParameters block within modelCard. |
|
Confidence interval with lower/upper bounds. |
|
A single performance metric entry. |
|
Graphic entry with optional name and image (AttachedText). |
|
A collection of graphics with optional description. |
|
quantitativeAnalysis block within modelCard. |
|
Entry in ethicalConsiderations with name and mitigation strategy. |
|
Entry in fairnessAssessments. |
|
Environmental considerations (1.6+). Energy consumptions and properties. |
|
Enumeration for lifecycle activity in energyConsumption.activity (1.6+). |
|
A measure of energy. Schema energyMeasure (1.6+): value + unit (kWh). |
|
A measure of CO2. Schema co2Measure (1.6+): value + unit (tCO2eq). |
|
Enumeration for provider energySource (1.6+). |
|
Energy provider per schema energyProvider (1.6+). |
|
Energy consumption entry. Matches schema energyConsumption (1.6+). |
|
considerations block within modelCard. |
|
Internal representation of CycloneDX modelCardType. |
Module Contents
- class cyclonedx.model.model_card.MachineLearningApproach
Bases:
str,enum.EnumEnumeration for machineLearningApproachType.
Values are stable across 1.5–1.7.
- SUPERVISED = 'supervised'
- UNSUPERVISED = 'unsupervised'
- REINFORCEMENT_LEARNING = 'reinforcement-learning'
- SEMI_SUPERVISED = 'semi-supervised'
- SELF_SUPERVISED = 'self-supervised'
- class cyclonedx.model.model_card.Approach(*, type: MachineLearningApproach | None = None)
Container for the approach element within modelParameters.
- property type: MachineLearningApproach | None
- class cyclonedx.model.model_card.InputOutputMLParameters(*, format: str)
Definition for items under modelParameters.inputs[] and outputs[].
- property format: str
- class cyclonedx.model.model_card.ModelParameters(*, approach: Approach | None = None, task: str | None = None, architecture_family: str | None = None, model_architecture: str | None = None, datasets: collections.abc.Iterable[Any] | None = None, inputs: collections.abc.Iterable[InputOutputMLParameters] | None = None, outputs: collections.abc.Iterable[InputOutputMLParameters] | None = None)
modelParameters block within modelCard.
- property task: str | None
- property architecture_family: str | None
- property model_architecture: str | None
- property inputs: SortedSet[InputOutputMLParameters]
- property outputs: SortedSet[InputOutputMLParameters]
- class cyclonedx.model.model_card.ConfidenceInterval(*, lower_bound: str | None = None, upper_bound: str | None = None)
Confidence interval with lower/upper bounds.
- property lower_bound: str | None
- property upper_bound: str | None
- class cyclonedx.model.model_card.PerformanceMetric(*, type: str | None = None, value: str | None = None, slice: str | None = None, confidence_interval: ConfidenceInterval | None = None)
A single performance metric entry.
- property type: str | None
- property value: str | None
- property slice: str | None
- property confidence_interval: ConfidenceInterval | None
- class cyclonedx.model.model_card.Graphic(*, name: str | None = None, image: cyclonedx.model.AttachedText | None = None)
Graphic entry with optional name and image (AttachedText).
- property name: str | None
- property image: cyclonedx.model.AttachedText | None
- class cyclonedx.model.model_card.GraphicsCollection(*, description: str | None = None, collection: collections.abc.Iterable[Graphic] | None = None)
A collection of graphics with optional description.
- property description: str | None
- class cyclonedx.model.model_card.QuantitativeAnalysis(*, performance_metrics: collections.abc.Iterable[PerformanceMetric] | None = None, graphics: GraphicsCollection | None = None)
quantitativeAnalysis block within modelCard.
- property performance_metrics: SortedSet[PerformanceMetric]
- property graphics: GraphicsCollection | None
- class cyclonedx.model.model_card.EthicalConsideration(*, name: str | None = None, mitigation_strategy: str | None = None)
Entry in ethicalConsiderations with name and mitigation strategy.
- property name: str | None
- property mitigation_strategy: str | None
- class cyclonedx.model.model_card.FairnessAssessment(*, group_at_risk: str | None = None, benefits: str | None = None, harms: str | None = None, mitigation_strategy: str | None = None)
Entry in fairnessAssessments.
- property group_at_risk: str | None
- property benefits: str | None
- property harms: str | None
- property mitigation_strategy: str | None
- class cyclonedx.model.model_card.EnvironmentalConsiderations(*, energy_consumptions: collections.abc.Iterable[EnergyConsumption] | None = None, properties: collections.abc.Iterable[cyclonedx.model.Property] | None = None)
Environmental considerations (1.6+). Energy consumptions and properties.
NOTE: Prior revisions kept energy_consumptions opaque. This has been replaced by concrete types that match CycloneDX 1.6+/1.7 schema: EnergyConsumption, EnergyMeasure, Co2Measure, EnergyProvider, and enumerations for activity and energySource.
- property energy_consumptions: SortedSet[EnergyConsumption]
- class cyclonedx.model.model_card.EnergyActivity
Bases:
str,enum.EnumEnumeration for lifecycle activity in energyConsumption.activity (1.6+).
- DESIGN = 'design'
- DATA_COLLECTION = 'data-collection'
- DATA_PREPARATION = 'data-preparation'
- TRAINING = 'training'
- FINE_TUNING = 'fine-tuning'
- VALIDATION = 'validation'
- DEPLOYMENT = 'deployment'
- INFERENCE = 'inference'
- OTHER = 'other'
- class cyclonedx.model.model_card.EnergyMeasure(*, value: float, unit: str = 'kWh')
A measure of energy. Schema energyMeasure (1.6+): value + unit (kWh).
- property value: float
- property unit: str
- class cyclonedx.model.model_card.Co2Measure(*, value: float, unit: str = 'tCO2eq')
A measure of CO2. Schema co2Measure (1.6+): value + unit (tCO2eq).
- property value: float
- property unit: str
- class cyclonedx.model.model_card.EnergySource
Bases:
str,enum.EnumEnumeration for provider energySource (1.6+).
- COAL = 'coal'
- OIL = 'oil'
- NATURAL_GAS = 'natural-gas'
- NUCLEAR = 'nuclear'
- WIND = 'wind'
- SOLAR = 'solar'
- GEOTHERMAL = 'geothermal'
- HYDROPOWER = 'hydropower'
- BIOFUEL = 'biofuel'
- UNKNOWN = 'unknown'
- OTHER = 'other'
- class cyclonedx.model.model_card.EnergyProvider(*, organization: cyclonedx.model.contact.OrganizationalEntity, energy_source: EnergySource, energy_provided: EnergyMeasure, bom_ref: str | cyclonedx.model.bom_ref.BomRef | None = None, description: str | None = None, external_references: collections.abc.Iterable[cyclonedx.model.ExternalReference] | None = None)
Energy provider per schema energyProvider (1.6+).
- property description: str | None
- property organization: cyclonedx.model.contact.OrganizationalEntity
- property energy_source: EnergySource
- property energy_provided: EnergyMeasure
- property external_references: SortedSet[ExternalReference]
- property bom_ref: cyclonedx.model.bom_ref.BomRef
- class cyclonedx.model.model_card.EnergyConsumption(*, activity: EnergyActivity, energy_providers: collections.abc.Iterable[EnergyProvider], activity_energy_cost: EnergyMeasure, co2_cost_equivalent: Co2Measure | None = None, co2_cost_offset: Co2Measure | None = None, properties: collections.abc.Iterable[cyclonedx.model.Property] | None = None)
Energy consumption entry. Matches schema energyConsumption (1.6+).
- property activity: EnergyActivity
- property energy_providers: SortedSet[EnergyProvider]
- property activity_energy_cost: EnergyMeasure
- property co2_cost_equivalent: Co2Measure | None
- property co2_cost_offset: Co2Measure | None
- class cyclonedx.model.model_card.Considerations(*, users: collections.abc.Iterable[str] | None = None, use_cases: collections.abc.Iterable[str] | None = None, technical_limitations: collections.abc.Iterable[str] | None = None, performance_tradeoffs: collections.abc.Iterable[str] | None = None, ethical_considerations: collections.abc.Iterable[EthicalConsideration] | None = None, environmental_considerations: EnvironmentalConsiderations | None = None, fairness_assessments: collections.abc.Iterable[FairnessAssessment] | None = None)
considerations block within modelCard.
- property users: SortedSet[str]
- property use_cases: SortedSet[str]
- property technical_limitations: SortedSet[str]
- property performance_tradeoffs: SortedSet[str]
- property ethical_considerations: SortedSet[EthicalConsideration]
- property environmental_considerations: EnvironmentalConsiderations | None
- property fairness_assessments: SortedSet[FairnessAssessment]
- class cyclonedx.model.model_card.ModelCard(*, bom_ref: str | cyclonedx.model.bom_ref.BomRef | None = None, model_parameters: ModelParameters | None = None, quantitative_analysis: QuantitativeAnalysis | None = None, considerations: Considerations | None = None, properties: collections.abc.Iterable[cyclonedx.model.Property] | None = None)
Internal representation of CycloneDX modelCardType.
Version gating: - Introduced in schema 1.5 - Unchanged structurally in 1.6 except for additional nested environmental considerations inside considerations - 1.7 retains 1.6 structure (additions in nested types only)
- property model_parameters: ModelParameters | None
- property quantitative_analysis: QuantitativeAnalysis | None
- property considerations: Considerations | None
- property properties: SortedSet[Property]
Provides the ability to document properties in a key/value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions.
- Return:
Set of Property
- property bom_ref: cyclonedx.model.bom_ref.BomRef