Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion cyclonedx/model/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
from .dependency import Dependable
from .issue import IssueType
from .license import License, LicenseRepository, _LicenseRepositorySerializationHelper
from .model_card import ModelCard
from .release_note import ReleaseNotes


Expand Down Expand Up @@ -1003,6 +1004,7 @@ def __init__(
external_references: Optional[Iterable[ExternalReference]] = None,
properties: Optional[Iterable[Property]] = None,
release_notes: Optional[ReleaseNotes] = None,
model_card: Optional[ModelCard] = None,
cpe: Optional[str] = None,
swid: Optional[Swid] = None,
pedigree: Optional[Pedigree] = None,
Expand Down Expand Up @@ -1043,6 +1045,7 @@ def __init__(
self.components = components or []
self.evidence = evidence
self.release_notes = release_notes
self.model_card = model_card
self.crypto_properties = crypto_properties
self.tags = tags or []
# spec-deprecated properties below
Expand Down Expand Up @@ -1602,6 +1605,26 @@ def release_notes(self) -> Optional[ReleaseNotes]:
def release_notes(self, release_notes: Optional[ReleaseNotes]) -> None:
self._release_notes = release_notes

@property
@serializable.view(SchemaVersion1Dot5)
@serializable.view(SchemaVersion1Dot6)
@serializable.view(SchemaVersion1Dot7)
@serializable.xml_sequence(26)
@serializable.json_name('modelCard')
@serializable.xml_name('modelCard')
def model_card(self) -> Optional[ModelCard]:
"""
Specifies the model card for components of type `machine-learning-model`.

Returns:
`ModelCard` or `None`
"""
return self._model_card

@model_card.setter
def model_card(self, model_card: Optional[ModelCard]) -> None:
self._model_card = model_card

# @property
# ...
# @serializable.view(SchemaVersion1Dot5)
Expand Down Expand Up @@ -1694,7 +1717,7 @@ def __comparable_tuple(self) -> _ComparableTuple:
_ComparableTuple(self.external_references), _ComparableTuple(self.properties),
_ComparableTuple(self.components), self.evidence, self.release_notes, self.modified,
_ComparableTuple(self.authors), _ComparableTuple(self.omnibor_ids), self.manufacturer,
self.crypto_properties, _ComparableTuple(self.tags),
self.crypto_properties, _ComparableTuple(self.tags), self.model_card,
))

def __eq__(self, other: object) -> bool:
Expand Down
Loading