spdx_tools.spdx3.model.ai.ai_package
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from dataclasses import field 5from datetime import datetime 6from enum import Enum, auto 7 8from beartype.typing import Dict, List, Optional 9 10from spdx_tools.common.typing.dataclass_with_properties import dataclass_with_properties 11from spdx_tools.common.typing.type_checks import check_types_and_set_values 12from spdx_tools.spdx3.model import CreationInfo, ExternalIdentifier, ExternalReference, IntegrityMethod 13from spdx_tools.spdx3.model.licensing import LicenseField 14from spdx_tools.spdx3.model.software import Package, SoftwarePurpose 15 16 17class SafetyRiskAssessmentType(Enum): 18 SERIOUS = auto() 19 HIGH = auto() 20 MEDIUM = auto() 21 LOW = auto() 22 23 24@dataclass_with_properties 25class AIPackage(Package): 26 energy_consumption: Optional[str] = None 27 standard_compliance: List[str] = field(default_factory=list) 28 limitation: Optional[str] = None 29 type_of_model: List[str] = field(default_factory=list) 30 information_about_training: Optional[str] = None 31 information_about_application: Optional[str] = None 32 hyperparameter: Dict[str, Optional[str]] = field(default_factory=dict) 33 model_data_preprocessing: List[str] = field(default_factory=list) 34 model_explainability: List[str] = field(default_factory=list) 35 sensitive_personal_information: Optional[bool] = None 36 metric_decision_threshold: Dict[str, Optional[str]] = field(default_factory=dict) 37 metric: Dict[str, Optional[str]] = field(default_factory=dict) 38 domain: List[str] = field(default_factory=list) 39 autonomy_type: Optional[bool] = None 40 safety_risk_assessment: Optional[SafetyRiskAssessmentType] = None 41 42 def __init__( 43 self, 44 spdx_id: str, 45 name: str, 46 supplied_by: List[str], 47 download_location: str, 48 package_version: str, 49 primary_purpose: SoftwarePurpose, 50 release_time: datetime, 51 creation_info: Optional[CreationInfo] = None, 52 summary: Optional[str] = None, 53 description: Optional[str] = None, 54 comment: Optional[str] = None, 55 verified_using: List[IntegrityMethod] = None, 56 external_reference: List[ExternalReference] = None, 57 external_identifier: List[ExternalIdentifier] = None, 58 extension: Optional[str] = None, 59 originated_by: List[str] = None, 60 built_time: Optional[datetime] = None, 61 valid_until_time: Optional[datetime] = None, 62 standard: List[str] = None, 63 content_identifier: Optional[str] = None, 64 additional_purpose: List[SoftwarePurpose] = None, 65 concluded_license: Optional[LicenseField] = None, 66 declared_license: Optional[LicenseField] = None, 67 copyright_text: Optional[str] = None, 68 attribution_text: Optional[str] = None, 69 package_url: Optional[str] = None, 70 homepage: Optional[str] = None, 71 source_info: Optional[str] = None, 72 energy_consumption: Optional[str] = None, 73 standard_compliance: List[str] = None, 74 limitation: Optional[str] = None, 75 type_of_model: List[str] = None, 76 information_about_training: Optional[str] = None, 77 information_about_application: Optional[str] = None, 78 hyperparameter: Dict[str, Optional[str]] = None, 79 model_data_preprocessing: List[str] = None, 80 model_explainability: List[str] = None, 81 sensitive_personal_information: Optional[bool] = None, 82 metric_decision_threshold: Dict[str, Optional[str]] = None, 83 metric: Dict[str, Optional[str]] = None, 84 domain: List[str] = None, 85 autonomy_type: Optional[bool] = None, 86 safety_risk_assessment: Optional[SafetyRiskAssessmentType] = None, 87 ): 88 verified_using = [] if verified_using is None else verified_using 89 external_reference = [] if external_reference is None else external_reference 90 external_identifier = [] if external_identifier is None else external_identifier 91 originated_by = [] if originated_by is None else originated_by 92 additional_purpose = [] if additional_purpose is None else additional_purpose 93 standard = [] if standard is None else standard 94 standard_compliance = [] if standard_compliance is None else standard_compliance 95 type_of_model = [] if type_of_model is None else type_of_model 96 hyperparameter = {} if hyperparameter is None else hyperparameter 97 model_data_preprocessing = [] if model_data_preprocessing is None else model_data_preprocessing 98 model_explainability = [] if model_explainability is None else model_explainability 99 metric_decision_threshold = {} if metric_decision_threshold is None else metric_decision_threshold 100 metric = {} if metric is None else metric 101 domain = [] if domain is None else domain 102 check_types_and_set_values(self, locals())
class
SafetyRiskAssessmentType(enum.Enum):
18class SafetyRiskAssessmentType(Enum): 19 SERIOUS = auto() 20 HIGH = auto() 21 MEDIUM = auto() 22 LOW = auto()
SERIOUS =
<SafetyRiskAssessmentType.SERIOUS: 1>
HIGH =
<SafetyRiskAssessmentType.HIGH: 2>
MEDIUM =
<SafetyRiskAssessmentType.MEDIUM: 3>
LOW =
<SafetyRiskAssessmentType.LOW: 4>
Inherited Members
- enum.Enum
- name
- value
25@dataclass_with_properties 26class AIPackage(Package): 27 energy_consumption: Optional[str] = None 28 standard_compliance: List[str] = field(default_factory=list) 29 limitation: Optional[str] = None 30 type_of_model: List[str] = field(default_factory=list) 31 information_about_training: Optional[str] = None 32 information_about_application: Optional[str] = None 33 hyperparameter: Dict[str, Optional[str]] = field(default_factory=dict) 34 model_data_preprocessing: List[str] = field(default_factory=list) 35 model_explainability: List[str] = field(default_factory=list) 36 sensitive_personal_information: Optional[bool] = None 37 metric_decision_threshold: Dict[str, Optional[str]] = field(default_factory=dict) 38 metric: Dict[str, Optional[str]] = field(default_factory=dict) 39 domain: List[str] = field(default_factory=list) 40 autonomy_type: Optional[bool] = None 41 safety_risk_assessment: Optional[SafetyRiskAssessmentType] = None 42 43 def __init__( 44 self, 45 spdx_id: str, 46 name: str, 47 supplied_by: List[str], 48 download_location: str, 49 package_version: str, 50 primary_purpose: SoftwarePurpose, 51 release_time: datetime, 52 creation_info: Optional[CreationInfo] = None, 53 summary: Optional[str] = None, 54 description: Optional[str] = None, 55 comment: Optional[str] = None, 56 verified_using: List[IntegrityMethod] = None, 57 external_reference: List[ExternalReference] = None, 58 external_identifier: List[ExternalIdentifier] = None, 59 extension: Optional[str] = None, 60 originated_by: List[str] = None, 61 built_time: Optional[datetime] = None, 62 valid_until_time: Optional[datetime] = None, 63 standard: List[str] = None, 64 content_identifier: Optional[str] = None, 65 additional_purpose: List[SoftwarePurpose] = None, 66 concluded_license: Optional[LicenseField] = None, 67 declared_license: Optional[LicenseField] = None, 68 copyright_text: Optional[str] = None, 69 attribution_text: Optional[str] = None, 70 package_url: Optional[str] = None, 71 homepage: Optional[str] = None, 72 source_info: Optional[str] = None, 73 energy_consumption: Optional[str] = None, 74 standard_compliance: List[str] = None, 75 limitation: Optional[str] = None, 76 type_of_model: List[str] = None, 77 information_about_training: Optional[str] = None, 78 information_about_application: Optional[str] = None, 79 hyperparameter: Dict[str, Optional[str]] = None, 80 model_data_preprocessing: List[str] = None, 81 model_explainability: List[str] = None, 82 sensitive_personal_information: Optional[bool] = None, 83 metric_decision_threshold: Dict[str, Optional[str]] = None, 84 metric: Dict[str, Optional[str]] = None, 85 domain: List[str] = None, 86 autonomy_type: Optional[bool] = None, 87 safety_risk_assessment: Optional[SafetyRiskAssessmentType] = None, 88 ): 89 verified_using = [] if verified_using is None else verified_using 90 external_reference = [] if external_reference is None else external_reference 91 external_identifier = [] if external_identifier is None else external_identifier 92 originated_by = [] if originated_by is None else originated_by 93 additional_purpose = [] if additional_purpose is None else additional_purpose 94 standard = [] if standard is None else standard 95 standard_compliance = [] if standard_compliance is None else standard_compliance 96 type_of_model = [] if type_of_model is None else type_of_model 97 hyperparameter = {} if hyperparameter is None else hyperparameter 98 model_data_preprocessing = [] if model_data_preprocessing is None else model_data_preprocessing 99 model_explainability = [] if model_explainability is None else model_explainability 100 metric_decision_threshold = {} if metric_decision_threshold is None else metric_decision_threshold 101 metric = {} if metric is None else metric 102 domain = [] if domain is None else domain 103 check_types_and_set_values(self, locals())
AIPackage( spdx_id: str, name: str, supplied_by: list[str], download_location: str, package_version: str, primary_purpose: spdx_tools.spdx3.model.software.software_purpose.SoftwarePurpose, release_time: datetime.datetime, creation_info: Optional[spdx_tools.spdx3.model.creation_info.CreationInfo] = None, summary: Optional[str] = None, description: Optional[str] = None, comment: Optional[str] = None, verified_using: list[spdx_tools.spdx3.model.integrity_method.IntegrityMethod] = None, external_reference: list[spdx_tools.spdx3.model.external_reference.ExternalReference] = None, external_identifier: list[spdx_tools.spdx3.model.external_identifier.ExternalIdentifier] = None, extension: Optional[str] = None, originated_by: list[str] = None, built_time: Optional[datetime.datetime] = None, valid_until_time: Optional[datetime.datetime] = None, standard: list[str] = None, content_identifier: Optional[str] = None, additional_purpose: list[spdx_tools.spdx3.model.software.software_purpose.SoftwarePurpose] = None, concluded_license: Optional[spdx_tools.spdx3.model.licensing.license_field.LicenseField] = None, declared_license: Optional[spdx_tools.spdx3.model.licensing.license_field.LicenseField] = None, copyright_text: Optional[str] = None, attribution_text: Optional[str] = None, package_url: Optional[str] = None, homepage: Optional[str] = None, source_info: Optional[str] = None, energy_consumption: Optional[str] = None, standard_compliance: list[str] = None, limitation: Optional[str] = None, type_of_model: list[str] = None, information_about_training: Optional[str] = None, information_about_application: Optional[str] = None, hyperparameter: dict[str, typing.Optional[str]] = None, model_data_preprocessing: list[str] = None, model_explainability: list[str] = None, sensitive_personal_information: Optional[bool] = None, metric_decision_threshold: dict[str, typing.Optional[str]] = None, metric: dict[str, typing.Optional[str]] = None, domain: list[str] = None, autonomy_type: Optional[bool] = None, safety_risk_assessment: Optional[SafetyRiskAssessmentType] = None)
43 def __init__( 44 self, 45 spdx_id: str, 46 name: str, 47 supplied_by: List[str], 48 download_location: str, 49 package_version: str, 50 primary_purpose: SoftwarePurpose, 51 release_time: datetime, 52 creation_info: Optional[CreationInfo] = None, 53 summary: Optional[str] = None, 54 description: Optional[str] = None, 55 comment: Optional[str] = None, 56 verified_using: List[IntegrityMethod] = None, 57 external_reference: List[ExternalReference] = None, 58 external_identifier: List[ExternalIdentifier] = None, 59 extension: Optional[str] = None, 60 originated_by: List[str] = None, 61 built_time: Optional[datetime] = None, 62 valid_until_time: Optional[datetime] = None, 63 standard: List[str] = None, 64 content_identifier: Optional[str] = None, 65 additional_purpose: List[SoftwarePurpose] = None, 66 concluded_license: Optional[LicenseField] = None, 67 declared_license: Optional[LicenseField] = None, 68 copyright_text: Optional[str] = None, 69 attribution_text: Optional[str] = None, 70 package_url: Optional[str] = None, 71 homepage: Optional[str] = None, 72 source_info: Optional[str] = None, 73 energy_consumption: Optional[str] = None, 74 standard_compliance: List[str] = None, 75 limitation: Optional[str] = None, 76 type_of_model: List[str] = None, 77 information_about_training: Optional[str] = None, 78 information_about_application: Optional[str] = None, 79 hyperparameter: Dict[str, Optional[str]] = None, 80 model_data_preprocessing: List[str] = None, 81 model_explainability: List[str] = None, 82 sensitive_personal_information: Optional[bool] = None, 83 metric_decision_threshold: Dict[str, Optional[str]] = None, 84 metric: Dict[str, Optional[str]] = None, 85 domain: List[str] = None, 86 autonomy_type: Optional[bool] = None, 87 safety_risk_assessment: Optional[SafetyRiskAssessmentType] = None, 88 ): 89 verified_using = [] if verified_using is None else verified_using 90 external_reference = [] if external_reference is None else external_reference 91 external_identifier = [] if external_identifier is None else external_identifier 92 originated_by = [] if originated_by is None else originated_by 93 additional_purpose = [] if additional_purpose is None else additional_purpose 94 standard = [] if standard is None else standard 95 standard_compliance = [] if standard_compliance is None else standard_compliance 96 type_of_model = [] if type_of_model is None else type_of_model 97 hyperparameter = {} if hyperparameter is None else hyperparameter 98 model_data_preprocessing = [] if model_data_preprocessing is None else model_data_preprocessing 99 model_explainability = [] if model_explainability is None else model_explainability 100 metric_decision_threshold = {} if metric_decision_threshold is None else metric_decision_threshold 101 metric = {} if metric is None else metric 102 domain = [] if domain is None else domain 103 check_types_and_set_values(self, locals())
safety_risk_assessment: Optional[SafetyRiskAssessmentType]
Inherited Members
- spdx_tools.spdx3.model.software.package.Package
- package_version
- download_location
- package_url
- homepage
- source_info
- spdx_tools.spdx3.model.software.software_artifact.SoftwareArtifact
- content_identifier
- primary_purpose
- additional_purpose
- concluded_license
- declared_license
- copyright_text
- attribution_text