Coverage for src/somesy/core/types.py: 99%

752 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2024-04-30 09:42 +0000

1"""Types and enums used in the somesy models.""" 

2from enum import Enum 

3 

4from pydantic import HttpUrl 

5from pydantic.functional_serializers import PlainSerializer 

6from typing_extensions import Annotated 

7 

8HttpUrlStr = Annotated[HttpUrl, PlainSerializer(lambda x: str(x), return_type=str)] 

9 

10 

11class MyEnum(Enum): 

12 """Override string serialization of enum to work better with Jinja templates.""" 

13 

14 def __str__(self): 

15 """Return string value of the enum object.""" 

16 return self.value 

17 

18 

19class LicenseEnum(MyEnum): 

20 """SPDX license identifiers.""" 

21 

22 field_0BSD = "0BSD" 

23 AAL = "AAL" 

24 Abstyles = "Abstyles" 

25 Adobe_2006 = "Adobe-2006" 

26 Adobe_Glyph = "Adobe-Glyph" 

27 ADSL = "ADSL" 

28 AFL_1_1 = "AFL-1.1" 

29 AFL_1_2 = "AFL-1.2" 

30 AFL_2_0 = "AFL-2.0" 

31 AFL_2_1 = "AFL-2.1" 

32 AFL_3_0 = "AFL-3.0" 

33 Afmparse = "Afmparse" 

34 AGPL_1_0 = "AGPL-1.0" 

35 AGPL_1_0_only = "AGPL-1.0-only" 

36 AGPL_1_0_or_later = "AGPL-1.0-or-later" 

37 AGPL_3_0 = "AGPL-3.0" 

38 AGPL_3_0_only = "AGPL-3.0-only" 

39 AGPL_3_0_or_later = "AGPL-3.0-or-later" 

40 Aladdin = "Aladdin" 

41 AMDPLPA = "AMDPLPA" 

42 AML = "AML" 

43 AMPAS = "AMPAS" 

44 ANTLR_PD = "ANTLR-PD" 

45 ANTLR_PD_fallback = "ANTLR-PD-fallback" 

46 Apache_1_0 = "Apache-1.0" 

47 Apache_1_1 = "Apache-1.1" 

48 Apache_2_0 = "Apache-2.0" 

49 APAFML = "APAFML" 

50 APL_1_0 = "APL-1.0" 

51 APSL_1_0 = "APSL-1.0" 

52 APSL_1_1 = "APSL-1.1" 

53 APSL_1_2 = "APSL-1.2" 

54 APSL_2_0 = "APSL-2.0" 

55 Artistic_1_0 = "Artistic-1.0" 

56 Artistic_1_0_cl8 = "Artistic-1.0-cl8" 

57 Artistic_1_0_Perl = "Artistic-1.0-Perl" 

58 Artistic_2_0 = "Artistic-2.0" 

59 Bahyph = "Bahyph" 

60 Barr = "Barr" 

61 Beerware = "Beerware" 

62 BitTorrent_1_0 = "BitTorrent-1.0" 

63 BitTorrent_1_1 = "BitTorrent-1.1" 

64 blessing = "blessing" 

65 BlueOak_1_0_0 = "BlueOak-1.0.0" 

66 Borceux = "Borceux" 

67 BSD_1_Clause = "BSD-1-Clause" 

68 BSD_2_Clause = "BSD-2-Clause" 

69 BSD_2_Clause_FreeBSD = "BSD-2-Clause-FreeBSD" 

70 BSD_2_Clause_NetBSD = "BSD-2-Clause-NetBSD" 

71 BSD_2_Clause_Patent = "BSD-2-Clause-Patent" 

72 BSD_2_Clause_Views = "BSD-2-Clause-Views" 

73 BSD_3_Clause = "BSD-3-Clause" 

74 BSD_3_Clause_Attribution = "BSD-3-Clause-Attribution" 

75 BSD_3_Clause_Clear = "BSD-3-Clause-Clear" 

76 BSD_3_Clause_LBNL = "BSD-3-Clause-LBNL" 

77 BSD_3_Clause_Modification = "BSD-3-Clause-Modification" 

78 BSD_3_Clause_No_Nuclear_License = "BSD-3-Clause-No-Nuclear-License" 

79 BSD_3_Clause_No_Nuclear_License_2014 = "BSD-3-Clause-No-Nuclear-License-2014" 

80 BSD_3_Clause_No_Nuclear_Warranty = "BSD-3-Clause-No-Nuclear-Warranty" 

81 BSD_3_Clause_Open_MPI = "BSD-3-Clause-Open-MPI" 

82 BSD_4_Clause = "BSD-4-Clause" 

83 BSD_4_Clause_Shortened = "BSD-4-Clause-Shortened" 

84 BSD_4_Clause_UC = "BSD-4-Clause-UC" 

85 BSD_Protection = "BSD-Protection" 

86 BSD_Source_Code = "BSD-Source-Code" 

87 BSL_1_0 = "BSL-1.0" 

88 BUSL_1_1 = "BUSL-1.1" 

89 bzip2_1_0_5 = "bzip2-1.0.5" 

90 bzip2_1_0_6 = "bzip2-1.0.6" 

91 C_UDA_1_0 = "C-UDA-1.0" 

92 CAL_1_0 = "CAL-1.0" 

93 CAL_1_0_Combined_Work_Exception = "CAL-1.0-Combined-Work-Exception" 

94 Caldera = "Caldera" 

95 CATOSL_1_1 = "CATOSL-1.1" 

96 CC_BY_1_0 = "CC-BY-1.0" 

97 CC_BY_2_0 = "CC-BY-2.0" 

98 CC_BY_2_5 = "CC-BY-2.5" 

99 CC_BY_3_0 = "CC-BY-3.0" 

100 CC_BY_3_0_AT = "CC-BY-3.0-AT" 

101 CC_BY_3_0_US = "CC-BY-3.0-US" 

102 CC_BY_4_0 = "CC-BY-4.0" 

103 CC_BY_NC_1_0 = "CC-BY-NC-1.0" 

104 CC_BY_NC_2_0 = "CC-BY-NC-2.0" 

105 CC_BY_NC_2_5 = "CC-BY-NC-2.5" 

106 CC_BY_NC_3_0 = "CC-BY-NC-3.0" 

107 CC_BY_NC_4_0 = "CC-BY-NC-4.0" 

108 CC_BY_NC_ND_1_0 = "CC-BY-NC-ND-1.0" 

109 CC_BY_NC_ND_2_0 = "CC-BY-NC-ND-2.0" 

110 CC_BY_NC_ND_2_5 = "CC-BY-NC-ND-2.5" 

111 CC_BY_NC_ND_3_0 = "CC-BY-NC-ND-3.0" 

112 CC_BY_NC_ND_3_0_IGO = "CC-BY-NC-ND-3.0-IGO" 

113 CC_BY_NC_ND_4_0 = "CC-BY-NC-ND-4.0" 

114 CC_BY_NC_SA_1_0 = "CC-BY-NC-SA-1.0" 

115 CC_BY_NC_SA_2_0 = "CC-BY-NC-SA-2.0" 

116 CC_BY_NC_SA_2_5 = "CC-BY-NC-SA-2.5" 

117 CC_BY_NC_SA_3_0 = "CC-BY-NC-SA-3.0" 

118 CC_BY_NC_SA_4_0 = "CC-BY-NC-SA-4.0" 

119 CC_BY_ND_1_0 = "CC-BY-ND-1.0" 

120 CC_BY_ND_2_0 = "CC-BY-ND-2.0" 

121 CC_BY_ND_2_5 = "CC-BY-ND-2.5" 

122 CC_BY_ND_3_0 = "CC-BY-ND-3.0" 

123 CC_BY_ND_4_0 = "CC-BY-ND-4.0" 

124 CC_BY_SA_1_0 = "CC-BY-SA-1.0" 

125 CC_BY_SA_2_0 = "CC-BY-SA-2.0" 

126 CC_BY_SA_2_0_UK = "CC-BY-SA-2.0-UK" 

127 CC_BY_SA_2_1_JP = "CC-BY-SA-2.1-JP" 

128 CC_BY_SA_2_5 = "CC-BY-SA-2.5" 

129 CC_BY_SA_3_0 = "CC-BY-SA-3.0" 

130 CC_BY_SA_3_0_AT = "CC-BY-SA-3.0-AT" 

131 CC_BY_SA_4_0 = "CC-BY-SA-4.0" 

132 CC_PDDC = "CC-PDDC" 

133 CC0_1_0 = "CC0-1.0" 

134 CDDL_1_0 = "CDDL-1.0" 

135 CDDL_1_1 = "CDDL-1.1" 

136 CDL_1_0 = "CDL-1.0" 

137 CDLA_Permissive_1_0 = "CDLA-Permissive-1.0" 

138 CDLA_Sharing_1_0 = "CDLA-Sharing-1.0" 

139 CECILL_1_0 = "CECILL-1.0" 

140 CECILL_1_1 = "CECILL-1.1" 

141 CECILL_2_0 = "CECILL-2.0" 

142 CECILL_2_1 = "CECILL-2.1" 

143 CECILL_B = "CECILL-B" 

144 CECILL_C = "CECILL-C" 

145 CERN_OHL_1_1 = "CERN-OHL-1.1" 

146 CERN_OHL_1_2 = "CERN-OHL-1.2" 

147 CERN_OHL_P_2_0 = "CERN-OHL-P-2.0" 

148 CERN_OHL_S_2_0 = "CERN-OHL-S-2.0" 

149 CERN_OHL_W_2_0 = "CERN-OHL-W-2.0" 

150 ClArtistic = "ClArtistic" 

151 CNRI_Jython = "CNRI-Jython" 

152 CNRI_Python = "CNRI-Python" 

153 CNRI_Python_GPL_Compatible = "CNRI-Python-GPL-Compatible" 

154 Condor_1_1 = "Condor-1.1" 

155 copyleft_next_0_3_0 = "copyleft-next-0.3.0" 

156 copyleft_next_0_3_1 = "copyleft-next-0.3.1" 

157 CPAL_1_0 = "CPAL-1.0" 

158 CPL_1_0 = "CPL-1.0" 

159 CPOL_1_02 = "CPOL-1.02" 

160 Crossword = "Crossword" 

161 CrystalStacker = "CrystalStacker" 

162 CUA_OPL_1_0 = "CUA-OPL-1.0" 

163 Cube = "Cube" 

164 curl = "curl" 

165 D_FSL_1_0 = "D-FSL-1.0" 

166 diffmark = "diffmark" 

167 DOC = "DOC" 

168 Dotseqn = "Dotseqn" 

169 DRL_1_0 = "DRL-1.0" 

170 DSDP = "DSDP" 

171 dvipdfm = "dvipdfm" 

172 ECL_1_0 = "ECL-1.0" 

173 ECL_2_0 = "ECL-2.0" 

174 eCos_2_0 = "eCos-2.0" 

175 EFL_1_0 = "EFL-1.0" 

176 EFL_2_0 = "EFL-2.0" 

177 eGenix = "eGenix" 

178 Entessa = "Entessa" 

179 EPICS = "EPICS" 

180 EPL_1_0 = "EPL-1.0" 

181 EPL_2_0 = "EPL-2.0" 

182 ErlPL_1_1 = "ErlPL-1.1" 

183 etalab_2_0 = "etalab-2.0" 

184 EUDatagrid = "EUDatagrid" 

185 EUPL_1_0 = "EUPL-1.0" 

186 EUPL_1_1 = "EUPL-1.1" 

187 EUPL_1_2 = "EUPL-1.2" 

188 Eurosym = "Eurosym" 

189 Fair = "Fair" 

190 Frameworx_1_0 = "Frameworx-1.0" 

191 FreeBSD_DOC = "FreeBSD-DOC" 

192 FreeImage = "FreeImage" 

193 FSFAP = "FSFAP" 

194 FSFUL = "FSFUL" 

195 FSFULLR = "FSFULLR" 

196 FTL = "FTL" 

197 GD = "GD" 

198 GFDL_1_1 = "GFDL-1.1" 

199 GFDL_1_1_invariants_only = "GFDL-1.1-invariants-only" 

200 GFDL_1_1_invariants_or_later = "GFDL-1.1-invariants-or-later" 

201 GFDL_1_1_no_invariants_only = "GFDL-1.1-no-invariants-only" 

202 GFDL_1_1_no_invariants_or_later = "GFDL-1.1-no-invariants-or-later" 

203 GFDL_1_1_only = "GFDL-1.1-only" 

204 GFDL_1_1_or_later = "GFDL-1.1-or-later" 

205 GFDL_1_2 = "GFDL-1.2" 

206 GFDL_1_2_invariants_only = "GFDL-1.2-invariants-only" 

207 GFDL_1_2_invariants_or_later = "GFDL-1.2-invariants-or-later" 

208 GFDL_1_2_no_invariants_only = "GFDL-1.2-no-invariants-only" 

209 GFDL_1_2_no_invariants_or_later = "GFDL-1.2-no-invariants-or-later" 

210 GFDL_1_2_only = "GFDL-1.2-only" 

211 GFDL_1_2_or_later = "GFDL-1.2-or-later" 

212 GFDL_1_3 = "GFDL-1.3" 

213 GFDL_1_3_invariants_only = "GFDL-1.3-invariants-only" 

214 GFDL_1_3_invariants_or_later = "GFDL-1.3-invariants-or-later" 

215 GFDL_1_3_no_invariants_only = "GFDL-1.3-no-invariants-only" 

216 GFDL_1_3_no_invariants_or_later = "GFDL-1.3-no-invariants-or-later" 

217 GFDL_1_3_only = "GFDL-1.3-only" 

218 GFDL_1_3_or_later = "GFDL-1.3-or-later" 

219 Giftware = "Giftware" 

220 GL2PS = "GL2PS" 

221 Glide = "Glide" 

222 Glulxe = "Glulxe" 

223 GLWTPL = "GLWTPL" 

224 gnuplot = "gnuplot" 

225 GPL_1_0 = "GPL-1.0" 

226 GPL_1_0_only = "GPL-1.0-only" 

227 GPL_1_0_or_later = "GPL-1.0-or-later" 

228 GPL_1_0_ = "GPL-1.0+" 

229 GPL_2_0 = "GPL-2.0" 

230 GPL_2_0_only = "GPL-2.0-only" 

231 GPL_2_0_or_later = "GPL-2.0-or-later" 

232 GPL_2_0_with_autoconf_exception = "GPL-2.0-with-autoconf-exception" 

233 GPL_2_0_with_bison_exception = "GPL-2.0-with-bison-exception" 

234 GPL_2_0_with_classpath_exception = "GPL-2.0-with-classpath-exception" 

235 GPL_2_0_with_font_exception = "GPL-2.0-with-font-exception" 

236 GPL_2_0_with_GCC_exception = "GPL-2.0-with-GCC-exception" 

237 GPL_2_0_ = "GPL-2.0+" 

238 GPL_3_0 = "GPL-3.0" 

239 GPL_3_0_only = "GPL-3.0-only" 

240 GPL_3_0_or_later = "GPL-3.0-or-later" 

241 GPL_3_0_with_autoconf_exception = "GPL-3.0-with-autoconf-exception" 

242 GPL_3_0_with_GCC_exception = "GPL-3.0-with-GCC-exception" 

243 GPL_3_0_ = "GPL-3.0+" 

244 gSOAP_1_3b = "gSOAP-1.3b" 

245 HaskellReport = "HaskellReport" 

246 Hippocratic_2_1 = "Hippocratic-2.1" 

247 HPND = "HPND" 

248 HPND_sell_variant = "HPND-sell-variant" 

249 HTMLTIDY = "HTMLTIDY" 

250 IBM_pibs = "IBM-pibs" 

251 ICU = "ICU" 

252 IJG = "IJG" 

253 ImageMagick = "ImageMagick" 

254 iMatix = "iMatix" 

255 Imlib2 = "Imlib2" 

256 Info_ZIP = "Info-ZIP" 

257 Intel = "Intel" 

258 Intel_ACPI = "Intel-ACPI" 

259 Interbase_1_0 = "Interbase-1.0" 

260 IPA = "IPA" 

261 IPL_1_0 = "IPL-1.0" 

262 ISC = "ISC" 

263 JasPer_2_0 = "JasPer-2.0" 

264 JPNIC = "JPNIC" 

265 JSON = "JSON" 

266 LAL_1_2 = "LAL-1.2" 

267 LAL_1_3 = "LAL-1.3" 

268 Latex2e = "Latex2e" 

269 Leptonica = "Leptonica" 

270 LGPL_2_0 = "LGPL-2.0" 

271 LGPL_2_0_only = "LGPL-2.0-only" 

272 LGPL_2_0_or_later = "LGPL-2.0-or-later" 

273 LGPL_2_0_ = "LGPL-2.0+" 

274 LGPL_2_1 = "LGPL-2.1" 

275 LGPL_2_1_only = "LGPL-2.1-only" 

276 LGPL_2_1_or_later = "LGPL-2.1-or-later" 

277 LGPL_2_1_ = "LGPL-2.1+" 

278 LGPL_3_0 = "LGPL-3.0" 

279 LGPL_3_0_only = "LGPL-3.0-only" 

280 LGPL_3_0_or_later = "LGPL-3.0-or-later" 

281 LGPL_3_0_ = "LGPL-3.0+" 

282 LGPLLR = "LGPLLR" 

283 Libpng = "Libpng" 

284 libpng_2_0 = "libpng-2.0" 

285 libselinux_1_0 = "libselinux-1.0" 

286 libtiff = "libtiff" 

287 LiLiQ_P_1_1 = "LiLiQ-P-1.1" 

288 LiLiQ_R_1_1 = "LiLiQ-R-1.1" 

289 LiLiQ_Rplus_1_1 = "LiLiQ-Rplus-1.1" 

290 Linux_OpenIB = "Linux-OpenIB" 

291 LPL_1_0 = "LPL-1.0" 

292 LPL_1_02 = "LPL-1.02" 

293 LPPL_1_0 = "LPPL-1.0" 

294 LPPL_1_1 = "LPPL-1.1" 

295 LPPL_1_2 = "LPPL-1.2" 

296 LPPL_1_3a = "LPPL-1.3a" 

297 LPPL_1_3c = "LPPL-1.3c" 

298 MakeIndex = "MakeIndex" 

299 MirOS = "MirOS" 

300 MIT = "MIT" 

301 MIT_0 = "MIT-0" 

302 MIT_advertising = "MIT-advertising" 

303 MIT_CMU = "MIT-CMU" 

304 MIT_enna = "MIT-enna" 

305 MIT_feh = "MIT-feh" 

306 MIT_Modern_Variant = "MIT-Modern-Variant" 

307 MIT_open_group = "MIT-open-group" 

308 MITNFA = "MITNFA" 

309 Motosoto = "Motosoto" 

310 mpich2 = "mpich2" 

311 MPL_1_0 = "MPL-1.0" 

312 MPL_1_1 = "MPL-1.1" 

313 MPL_2_0 = "MPL-2.0" 

314 MPL_2_0_no_copyleft_exception = "MPL-2.0-no-copyleft-exception" 

315 MS_PL = "MS-PL" 

316 MS_RL = "MS-RL" 

317 MTLL = "MTLL" 

318 MulanPSL_1_0 = "MulanPSL-1.0" 

319 MulanPSL_2_0 = "MulanPSL-2.0" 

320 Multics = "Multics" 

321 Mup = "Mup" 

322 NAIST_2003 = "NAIST-2003" 

323 NASA_1_3 = "NASA-1.3" 

324 Naumen = "Naumen" 

325 NBPL_1_0 = "NBPL-1.0" 

326 NCGL_UK_2_0 = "NCGL-UK-2.0" 

327 NCSA = "NCSA" 

328 Net_SNMP = "Net-SNMP" 

329 NetCDF = "NetCDF" 

330 Newsletr = "Newsletr" 

331 NGPL = "NGPL" 

332 NIST_PD = "NIST-PD" 

333 NIST_PD_fallback = "NIST-PD-fallback" 

334 NLOD_1_0 = "NLOD-1.0" 

335 NLPL = "NLPL" 

336 Nokia = "Nokia" 

337 NOSL = "NOSL" 

338 Noweb = "Noweb" 

339 NPL_1_0 = "NPL-1.0" 

340 NPL_1_1 = "NPL-1.1" 

341 NPOSL_3_0 = "NPOSL-3.0" 

342 NRL = "NRL" 

343 NTP = "NTP" 

344 NTP_0 = "NTP-0" 

345 Nunit = "Nunit" 

346 O_UDA_1_0 = "O-UDA-1.0" 

347 OCCT_PL = "OCCT-PL" 

348 OCLC_2_0 = "OCLC-2.0" 

349 ODbL_1_0 = "ODbL-1.0" 

350 ODC_By_1_0 = "ODC-By-1.0" 

351 OFL_1_0 = "OFL-1.0" 

352 OFL_1_0_no_RFN = "OFL-1.0-no-RFN" 

353 OFL_1_0_RFN = "OFL-1.0-RFN" 

354 OFL_1_1 = "OFL-1.1" 

355 OFL_1_1_no_RFN = "OFL-1.1-no-RFN" 

356 OFL_1_1_RFN = "OFL-1.1-RFN" 

357 OGC_1_0 = "OGC-1.0" 

358 OGDL_Taiwan_1_0 = "OGDL-Taiwan-1.0" 

359 OGL_Canada_2_0 = "OGL-Canada-2.0" 

360 OGL_UK_1_0 = "OGL-UK-1.0" 

361 OGL_UK_2_0 = "OGL-UK-2.0" 

362 OGL_UK_3_0 = "OGL-UK-3.0" 

363 OGTSL = "OGTSL" 

364 OLDAP_1_1 = "OLDAP-1.1" 

365 OLDAP_1_2 = "OLDAP-1.2" 

366 OLDAP_1_3 = "OLDAP-1.3" 

367 OLDAP_1_4 = "OLDAP-1.4" 

368 OLDAP_2_0 = "OLDAP-2.0" 

369 OLDAP_2_0_1 = "OLDAP-2.0.1" 

370 OLDAP_2_1 = "OLDAP-2.1" 

371 OLDAP_2_2 = "OLDAP-2.2" 

372 OLDAP_2_2_1 = "OLDAP-2.2.1" 

373 OLDAP_2_2_2 = "OLDAP-2.2.2" 

374 OLDAP_2_3 = "OLDAP-2.3" 

375 OLDAP_2_4 = "OLDAP-2.4" 

376 OLDAP_2_5 = "OLDAP-2.5" 

377 OLDAP_2_6 = "OLDAP-2.6" 

378 OLDAP_2_7 = "OLDAP-2.7" 

379 OLDAP_2_8 = "OLDAP-2.8" 

380 OML = "OML" 

381 OpenSSL = "OpenSSL" 

382 OPL_1_0 = "OPL-1.0" 

383 OSET_PL_2_1 = "OSET-PL-2.1" 

384 OSL_1_0 = "OSL-1.0" 

385 OSL_1_1 = "OSL-1.1" 

386 OSL_2_0 = "OSL-2.0" 

387 OSL_2_1 = "OSL-2.1" 

388 OSL_3_0 = "OSL-3.0" 

389 Parity_6_0_0 = "Parity-6.0.0" 

390 Parity_7_0_0 = "Parity-7.0.0" 

391 PDDL_1_0 = "PDDL-1.0" 

392 PHP_3_0 = "PHP-3.0" 

393 PHP_3_01 = "PHP-3.01" 

394 Plexus = "Plexus" 

395 PolyForm_Noncommercial_1_0_0 = "PolyForm-Noncommercial-1.0.0" 

396 PolyForm_Small_Business_1_0_0 = "PolyForm-Small-Business-1.0.0" 

397 PostgreSQL = "PostgreSQL" 

398 PSF_2_0 = "PSF-2.0" 

399 psfrag = "psfrag" 

400 psutils = "psutils" 

401 Python_2_0 = "Python-2.0" 

402 Qhull = "Qhull" 

403 QPL_1_0 = "QPL-1.0" 

404 Rdisc = "Rdisc" 

405 RHeCos_1_1 = "RHeCos-1.1" 

406 RPL_1_1 = "RPL-1.1" 

407 RPL_1_5 = "RPL-1.5" 

408 RPSL_1_0 = "RPSL-1.0" 

409 RSA_MD = "RSA-MD" 

410 RSCPL = "RSCPL" 

411 Ruby = "Ruby" 

412 SAX_PD = "SAX-PD" 

413 Saxpath = "Saxpath" 

414 SCEA = "SCEA" 

415 Sendmail = "Sendmail" 

416 Sendmail_8_23 = "Sendmail-8.23" 

417 SGI_B_1_0 = "SGI-B-1.0" 

418 SGI_B_1_1 = "SGI-B-1.1" 

419 SGI_B_2_0 = "SGI-B-2.0" 

420 SHL_0_5 = "SHL-0.5" 

421 SHL_0_51 = "SHL-0.51" 

422 SimPL_2_0 = "SimPL-2.0" 

423 SISSL = "SISSL" 

424 SISSL_1_2 = "SISSL-1.2" 

425 Sleepycat = "Sleepycat" 

426 SMLNJ = "SMLNJ" 

427 SMPPL = "SMPPL" 

428 SNIA = "SNIA" 

429 Spencer_86 = "Spencer-86" 

430 Spencer_94 = "Spencer-94" 

431 Spencer_99 = "Spencer-99" 

432 SPL_1_0 = "SPL-1.0" 

433 SSH_OpenSSH = "SSH-OpenSSH" 

434 SSH_short = "SSH-short" 

435 SSPL_1_0 = "SSPL-1.0" 

436 StandardML_NJ = "StandardML-NJ" 

437 SugarCRM_1_1_3 = "SugarCRM-1.1.3" 

438 SWL = "SWL" 

439 TAPR_OHL_1_0 = "TAPR-OHL-1.0" 

440 TCL = "TCL" 

441 TCP_wrappers = "TCP-wrappers" 

442 TMate = "TMate" 

443 TORQUE_1_1 = "TORQUE-1.1" 

444 TOSL = "TOSL" 

445 TU_Berlin_1_0 = "TU-Berlin-1.0" 

446 TU_Berlin_2_0 = "TU-Berlin-2.0" 

447 UCL_1_0 = "UCL-1.0" 

448 Unicode_DFS_2015 = "Unicode-DFS-2015" 

449 Unicode_DFS_2016 = "Unicode-DFS-2016" 

450 Unicode_TOU = "Unicode-TOU" 

451 Unlicense = "Unlicense" 

452 UPL_1_0 = "UPL-1.0" 

453 Vim = "Vim" 

454 VOSTROM = "VOSTROM" 

455 VSL_1_0 = "VSL-1.0" 

456 W3C = "W3C" 

457 W3C_19980720 = "W3C-19980720" 

458 W3C_20150513 = "W3C-20150513" 

459 Watcom_1_0 = "Watcom-1.0" 

460 Wsuipa = "Wsuipa" 

461 WTFPL = "WTFPL" 

462 wxWindows = "wxWindows" 

463 X11 = "X11" 

464 Xerox = "Xerox" 

465 XFree86_1_1 = "XFree86-1.1" 

466 xinetd = "xinetd" 

467 Xnet = "Xnet" 

468 xpp = "xpp" 

469 XSkat = "XSkat" 

470 YPL_1_0 = "YPL-1.0" 

471 YPL_1_1 = "YPL-1.1" 

472 Zed = "Zed" 

473 Zend_2_0 = "Zend-2.0" 

474 Zimbra_1_3 = "Zimbra-1.3" 

475 Zimbra_1_4 = "Zimbra-1.4" 

476 Zlib = "Zlib" 

477 zlib_acknowledgement = "zlib-acknowledgement" 

478 ZPL_1_1 = "ZPL-1.1" 

479 ZPL_2_0 = "ZPL-2.0" 

480 ZPL_2_1 = "ZPL-2.1" 

481 

482 

483class ContributionTypeEnum(MyEnum): 

484 """Contribution type using emojis from https://allcontributors.org/docs/en/emoji-key .""" 

485 

486 audio = "audio" 

487 ally = "ally" 

488 bug = "bug" 

489 blog = "blog" 

490 business = "business" 

491 code = "code" 

492 content = "content" 

493 data = "data" 

494 doc = "doc" 

495 design = "design" 

496 example = "example" 

497 eventOrganizing = "eventOrganizing" 

498 financial = "financial" 

499 fundingFinding = "fundingFinding" 

500 ideas = "ideas" 

501 infra = "infra" 

502 maintenance = "maintenance" 

503 mentoring = "mentoring" 

504 platform = "platform" 

505 plugin = "plugin" 

506 projectManagement = "projectManagement" 

507 promotion = "promotion" 

508 question = "question" 

509 research = "research" 

510 review = "review" 

511 security = "security" 

512 tool = "tool" 

513 translation = "translation" 

514 test = "test" 

515 tutorial = "tutorial" 

516 talk = "talk" 

517 userTesting = "userTesting" 

518 video = "video" 

519 

520 

521class Country(MyEnum): 

522 """Country codes from https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. 

523 

524 It is used for the country of a person in project metadata. 

525 """ 

526 

527 AD = "AD" 

528 AE = "AE" 

529 AF = "AF" 

530 AG = "AG" 

531 AI = "AI" 

532 AL = "AL" 

533 AM = "AM" 

534 AO = "AO" 

535 AQ = "AQ" 

536 AR = "AR" 

537 AS = "AS" 

538 AT = "AT" 

539 AU = "AU" 

540 AW = "AW" 

541 AX = "AX" 

542 AZ = "AZ" 

543 BA = "BA" 

544 BB = "BB" 

545 BD = "BD" 

546 BE = "BE" 

547 BF = "BF" 

548 BG = "BG" 

549 BH = "BH" 

550 BI = "BI" 

551 BJ = "BJ" 

552 BL = "BL" 

553 BM = "BM" 

554 BN = "BN" 

555 BO = "BO" 

556 BQ = "BQ" 

557 BR = "BR" 

558 BS = "BS" 

559 BT = "BT" 

560 BV = "BV" 

561 BW = "BW" 

562 BY = "BY" 

563 BZ = "BZ" 

564 CA = "CA" 

565 CC = "CC" 

566 CD = "CD" 

567 CF = "CF" 

568 CG = "CG" 

569 CH = "CH" 

570 CI = "CI" 

571 CK = "CK" 

572 CL = "CL" 

573 CM = "CM" 

574 CN = "CN" 

575 CO = "CO" 

576 CR = "CR" 

577 CU = "CU" 

578 CV = "CV" 

579 CW = "CW" 

580 CX = "CX" 

581 CY = "CY" 

582 CZ = "CZ" 

583 DE = "DE" 

584 DJ = "DJ" 

585 DK = "DK" 

586 DM = "DM" 

587 DO = "DO" 

588 DZ = "DZ" 

589 EC = "EC" 

590 EE = "EE" 

591 EG = "EG" 

592 EH = "EH" 

593 ER = "ER" 

594 ES = "ES" 

595 ET = "ET" 

596 FI = "FI" 

597 FJ = "FJ" 

598 FK = "FK" 

599 FM = "FM" 

600 FO = "FO" 

601 FR = "FR" 

602 GA = "GA" 

603 GB = "GB" 

604 GD = "GD" 

605 GE = "GE" 

606 GF = "GF" 

607 GG = "GG" 

608 GH = "GH" 

609 GI = "GI" 

610 GL = "GL" 

611 GM = "GM" 

612 GN = "GN" 

613 GP = "GP" 

614 GQ = "GQ" 

615 GR = "GR" 

616 GS = "GS" 

617 GT = "GT" 

618 GU = "GU" 

619 GW = "GW" 

620 GY = "GY" 

621 HK = "HK" 

622 HM = "HM" 

623 HN = "HN" 

624 HR = "HR" 

625 HT = "HT" 

626 HU = "HU" 

627 ID = "ID" 

628 IE = "IE" 

629 IL = "IL" 

630 IM = "IM" 

631 IN = "IN" 

632 IO = "IO" 

633 IQ = "IQ" 

634 IR = "IR" 

635 IS = "IS" 

636 IT = "IT" 

637 JE = "JE" 

638 JM = "JM" 

639 JO = "JO" 

640 JP = "JP" 

641 KE = "KE" 

642 KG = "KG" 

643 KH = "KH" 

644 KI = "KI" 

645 KM = "KM" 

646 KN = "KN" 

647 KP = "KP" 

648 KR = "KR" 

649 KW = "KW" 

650 KY = "KY" 

651 KZ = "KZ" 

652 LA = "LA" 

653 LB = "LB" 

654 LC = "LC" 

655 LI = "LI" 

656 LK = "LK" 

657 LR = "LR" 

658 LS = "LS" 

659 LT = "LT" 

660 LU = "LU" 

661 LV = "LV" 

662 LY = "LY" 

663 MA = "MA" 

664 MC = "MC" 

665 MD = "MD" 

666 ME = "ME" 

667 MF = "MF" 

668 MG = "MG" 

669 MH = "MH" 

670 MK = "MK" 

671 ML = "ML" 

672 MM = "MM" 

673 MN = "MN" 

674 MO = "MO" 

675 MP = "MP" 

676 MQ = "MQ" 

677 MR = "MR" 

678 MS = "MS" 

679 MT = "MT" 

680 MU = "MU" 

681 MV = "MV" 

682 MW = "MW" 

683 MX = "MX" 

684 MY = "MY" 

685 MZ = "MZ" 

686 NA = "NA" 

687 NC = "NC" 

688 NE = "NE" 

689 NF = "NF" 

690 NG = "NG" 

691 NI = "NI" 

692 NL = "NL" 

693 NO = "NO" 

694 NP = "NP" 

695 NR = "NR" 

696 NU = "NU" 

697 NZ = "NZ" 

698 OM = "OM" 

699 PA = "PA" 

700 PE = "PE" 

701 PF = "PF" 

702 PG = "PG" 

703 PH = "PH" 

704 PK = "PK" 

705 PL = "PL" 

706 PM = "PM" 

707 PN = "PN" 

708 PR = "PR" 

709 PS = "PS" 

710 PT = "PT" 

711 PW = "PW" 

712 PY = "PY" 

713 QA = "QA" 

714 RE = "RE" 

715 RO = "RO" 

716 RS = "RS" 

717 RU = "RU" 

718 RW = "RW" 

719 SA = "SA" 

720 SB = "SB" 

721 SC = "SC" 

722 SD = "SD" 

723 SE = "SE" 

724 SG = "SG" 

725 SH = "SH" 

726 SI = "SI" 

727 SJ = "SJ" 

728 SK = "SK" 

729 SL = "SL" 

730 SM = "SM" 

731 SN = "SN" 

732 SO = "SO" 

733 SR = "SR" 

734 SS = "SS" 

735 ST = "ST" 

736 SV = "SV" 

737 SX = "SX" 

738 SY = "SY" 

739 SZ = "SZ" 

740 TC = "TC" 

741 TD = "TD" 

742 TF = "TF" 

743 TG = "TG" 

744 TH = "TH" 

745 TJ = "TJ" 

746 TK = "TK" 

747 TL = "TL" 

748 TM = "TM" 

749 TN = "TN" 

750 TO = "TO" 

751 TR = "TR" 

752 TT = "TT" 

753 TV = "TV" 

754 TW = "TW" 

755 TZ = "TZ" 

756 UA = "UA" 

757 UG = "UG" 

758 UM = "UM" 

759 US = "US" 

760 UY = "UY" 

761 UZ = "UZ" 

762 VA = "VA" 

763 VC = "VC" 

764 VE = "VE" 

765 VG = "VG" 

766 VI = "VI" 

767 VN = "VN" 

768 VU = "VU" 

769 WF = "WF" 

770 WS = "WS" 

771 YE = "YE" 

772 YT = "YT" 

773 ZA = "ZA" 

774 ZM = "ZM" 

775 ZW = "ZW"