spdx_tools.spdx3.model.software.software_purpose
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from enum import Enum, auto 5 6 7class SoftwarePurpose(Enum): 8 APPLICATION = auto() 9 ARCHIVE = auto() 10 BOM = auto() 11 CONFIGURATION = auto() 12 CONTAINER = auto() 13 DATA = auto() 14 DEVICE = auto() 15 DOCUMENTATION = auto() 16 EXECUTABLE = auto() 17 FILE = auto() 18 FIRMWARE = auto() 19 FRAMEWORK = auto() 20 INSTALL = auto() 21 LIBRARY = auto() 22 MODEL = auto() 23 MODULE = auto() 24 OPERATING_SYSTEM = auto() 25 OTHER = auto() 26 PATCH = auto() 27 SOURCE = auto() 28 TEST = auto()
class
SoftwarePurpose(enum.Enum):
8class SoftwarePurpose(Enum): 9 APPLICATION = auto() 10 ARCHIVE = auto() 11 BOM = auto() 12 CONFIGURATION = auto() 13 CONTAINER = auto() 14 DATA = auto() 15 DEVICE = auto() 16 DOCUMENTATION = auto() 17 EXECUTABLE = auto() 18 FILE = auto() 19 FIRMWARE = auto() 20 FRAMEWORK = auto() 21 INSTALL = auto() 22 LIBRARY = auto() 23 MODEL = auto() 24 MODULE = auto() 25 OPERATING_SYSTEM = auto() 26 OTHER = auto() 27 PATCH = auto() 28 SOURCE = auto() 29 TEST = auto()
Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum):
... RED = 1
... BLUE = 2
... GREEN = 3
Access them by:
- attribute access::
>>> Color.RED
<Color.RED: 1>
- value lookup:
>>> Color(1)
<Color.RED: 1>
- name lookup:
>>> Color['RED']
<Color.RED: 1>
Enumerations can be iterated over, and know how many members they have:
>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
Methods can be added to enumerations, and members can have their own attributes -- see the documentation for details.
APPLICATION =
<SoftwarePurpose.APPLICATION: 1>
ARCHIVE =
<SoftwarePurpose.ARCHIVE: 2>
BOM =
<SoftwarePurpose.BOM: 3>
CONFIGURATION =
<SoftwarePurpose.CONFIGURATION: 4>
CONTAINER =
<SoftwarePurpose.CONTAINER: 5>
DATA =
<SoftwarePurpose.DATA: 6>
DEVICE =
<SoftwarePurpose.DEVICE: 7>
DOCUMENTATION =
<SoftwarePurpose.DOCUMENTATION: 8>
EXECUTABLE =
<SoftwarePurpose.EXECUTABLE: 9>
FILE =
<SoftwarePurpose.FILE: 10>
FIRMWARE =
<SoftwarePurpose.FIRMWARE: 11>
FRAMEWORK =
<SoftwarePurpose.FRAMEWORK: 12>
INSTALL =
<SoftwarePurpose.INSTALL: 13>
LIBRARY =
<SoftwarePurpose.LIBRARY: 14>
MODEL =
<SoftwarePurpose.MODEL: 15>
MODULE =
<SoftwarePurpose.MODULE: 16>
OPERATING_SYSTEM =
<SoftwarePurpose.OPERATING_SYSTEM: 17>
OTHER =
<SoftwarePurpose.OTHER: 18>
PATCH =
<SoftwarePurpose.PATCH: 19>
SOURCE =
<SoftwarePurpose.SOURCE: 20>
TEST =
<SoftwarePurpose.TEST: 21>
Inherited Members
- enum.Enum
- name
- value