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

752 statements  

« prev     ^ index     » next       coverage.py v7.6.0, created at 2024-07-29 07:42 +0000

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

2 

3from enum import Enum 

4 

5from pydantic import HttpUrl 

6from pydantic.functional_serializers import PlainSerializer 

7from typing_extensions import Annotated 

8 

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

10 

11 

12class MyEnum(Enum): 

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

14 

15 def __str__(self): 

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

17 return self.value 

18 

19 

20class LicenseEnum(MyEnum): 

21 """SPDX license identifiers.""" 

22 

23 field_0BSD = "0BSD" 

24 AAL = "AAL" 

25 Abstyles = "Abstyles" 

26 Adobe_2006 = "Adobe-2006" 

27 Adobe_Glyph = "Adobe-Glyph" 

28 ADSL = "ADSL" 

29 AFL_1_1 = "AFL-1.1" 

30 AFL_1_2 = "AFL-1.2" 

31 AFL_2_0 = "AFL-2.0" 

32 AFL_2_1 = "AFL-2.1" 

33 AFL_3_0 = "AFL-3.0" 

34 Afmparse = "Afmparse" 

35 AGPL_1_0 = "AGPL-1.0" 

36 AGPL_1_0_only = "AGPL-1.0-only" 

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

38 AGPL_3_0 = "AGPL-3.0" 

39 AGPL_3_0_only = "AGPL-3.0-only" 

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

41 Aladdin = "Aladdin" 

42 AMDPLPA = "AMDPLPA" 

43 AML = "AML" 

44 AMPAS = "AMPAS" 

45 ANTLR_PD = "ANTLR-PD" 

46 ANTLR_PD_fallback = "ANTLR-PD-fallback" 

47 Apache_1_0 = "Apache-1.0" 

48 Apache_1_1 = "Apache-1.1" 

49 Apache_2_0 = "Apache-2.0" 

50 APAFML = "APAFML" 

51 APL_1_0 = "APL-1.0" 

52 APSL_1_0 = "APSL-1.0" 

53 APSL_1_1 = "APSL-1.1" 

54 APSL_1_2 = "APSL-1.2" 

55 APSL_2_0 = "APSL-2.0" 

56 Artistic_1_0 = "Artistic-1.0" 

57 Artistic_1_0_cl8 = "Artistic-1.0-cl8" 

58 Artistic_1_0_Perl = "Artistic-1.0-Perl" 

59 Artistic_2_0 = "Artistic-2.0" 

60 Bahyph = "Bahyph" 

61 Barr = "Barr" 

62 Beerware = "Beerware" 

63 BitTorrent_1_0 = "BitTorrent-1.0" 

64 BitTorrent_1_1 = "BitTorrent-1.1" 

65 blessing = "blessing" 

66 BlueOak_1_0_0 = "BlueOak-1.0.0" 

67 Borceux = "Borceux" 

68 BSD_1_Clause = "BSD-1-Clause" 

69 BSD_2_Clause = "BSD-2-Clause" 

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

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

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

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

74 BSD_3_Clause = "BSD-3-Clause" 

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

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

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

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

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

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

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

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

83 BSD_4_Clause = "BSD-4-Clause" 

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

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

86 BSD_Protection = "BSD-Protection" 

87 BSD_Source_Code = "BSD-Source-Code" 

88 BSL_1_0 = "BSL-1.0" 

89 BUSL_1_1 = "BUSL-1.1" 

90 bzip2_1_0_5 = "bzip2-1.0.5" 

91 bzip2_1_0_6 = "bzip2-1.0.6" 

92 C_UDA_1_0 = "C-UDA-1.0" 

93 CAL_1_0 = "CAL-1.0" 

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

95 Caldera = "Caldera" 

96 CATOSL_1_1 = "CATOSL-1.1" 

97 CC_BY_1_0 = "CC-BY-1.0" 

98 CC_BY_2_0 = "CC-BY-2.0" 

99 CC_BY_2_5 = "CC-BY-2.5" 

100 CC_BY_3_0 = "CC-BY-3.0" 

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

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

103 CC_BY_4_0 = "CC-BY-4.0" 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

133 CC_PDDC = "CC-PDDC" 

134 CC0_1_0 = "CC0-1.0" 

135 CDDL_1_0 = "CDDL-1.0" 

136 CDDL_1_1 = "CDDL-1.1" 

137 CDL_1_0 = "CDL-1.0" 

138 CDLA_Permissive_1_0 = "CDLA-Permissive-1.0" 

139 CDLA_Sharing_1_0 = "CDLA-Sharing-1.0" 

140 CECILL_1_0 = "CECILL-1.0" 

141 CECILL_1_1 = "CECILL-1.1" 

142 CECILL_2_0 = "CECILL-2.0" 

143 CECILL_2_1 = "CECILL-2.1" 

144 CECILL_B = "CECILL-B" 

145 CECILL_C = "CECILL-C" 

146 CERN_OHL_1_1 = "CERN-OHL-1.1" 

147 CERN_OHL_1_2 = "CERN-OHL-1.2" 

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

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

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

151 ClArtistic = "ClArtistic" 

152 CNRI_Jython = "CNRI-Jython" 

153 CNRI_Python = "CNRI-Python" 

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

155 Condor_1_1 = "Condor-1.1" 

156 copyleft_next_0_3_0 = "copyleft-next-0.3.0" 

157 copyleft_next_0_3_1 = "copyleft-next-0.3.1" 

158 CPAL_1_0 = "CPAL-1.0" 

159 CPL_1_0 = "CPL-1.0" 

160 CPOL_1_02 = "CPOL-1.02" 

161 Crossword = "Crossword" 

162 CrystalStacker = "CrystalStacker" 

163 CUA_OPL_1_0 = "CUA-OPL-1.0" 

164 Cube = "Cube" 

165 curl = "curl" 

166 D_FSL_1_0 = "D-FSL-1.0" 

167 diffmark = "diffmark" 

168 DOC = "DOC" 

169 Dotseqn = "Dotseqn" 

170 DRL_1_0 = "DRL-1.0" 

171 DSDP = "DSDP" 

172 dvipdfm = "dvipdfm" 

173 ECL_1_0 = "ECL-1.0" 

174 ECL_2_0 = "ECL-2.0" 

175 eCos_2_0 = "eCos-2.0" 

176 EFL_1_0 = "EFL-1.0" 

177 EFL_2_0 = "EFL-2.0" 

178 eGenix = "eGenix" 

179 Entessa = "Entessa" 

180 EPICS = "EPICS" 

181 EPL_1_0 = "EPL-1.0" 

182 EPL_2_0 = "EPL-2.0" 

183 ErlPL_1_1 = "ErlPL-1.1" 

184 etalab_2_0 = "etalab-2.0" 

185 EUDatagrid = "EUDatagrid" 

186 EUPL_1_0 = "EUPL-1.0" 

187 EUPL_1_1 = "EUPL-1.1" 

188 EUPL_1_2 = "EUPL-1.2" 

189 Eurosym = "Eurosym" 

190 Fair = "Fair" 

191 Frameworx_1_0 = "Frameworx-1.0" 

192 FreeBSD_DOC = "FreeBSD-DOC" 

193 FreeImage = "FreeImage" 

194 FSFAP = "FSFAP" 

195 FSFUL = "FSFUL" 

196 FSFULLR = "FSFULLR" 

197 FTL = "FTL" 

198 GD = "GD" 

199 GFDL_1_1 = "GFDL-1.1" 

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

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

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

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

204 GFDL_1_1_only = "GFDL-1.1-only" 

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

206 GFDL_1_2 = "GFDL-1.2" 

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

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

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

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

211 GFDL_1_2_only = "GFDL-1.2-only" 

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

213 GFDL_1_3 = "GFDL-1.3" 

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

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

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

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

218 GFDL_1_3_only = "GFDL-1.3-only" 

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

220 Giftware = "Giftware" 

221 GL2PS = "GL2PS" 

222 Glide = "Glide" 

223 Glulxe = "Glulxe" 

224 GLWTPL = "GLWTPL" 

225 gnuplot = "gnuplot" 

226 GPL_1_0 = "GPL-1.0" 

227 GPL_1_0_only = "GPL-1.0-only" 

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

229 GPL_1_0_ = "GPL-1.0+" 

230 GPL_2_0 = "GPL-2.0" 

231 GPL_2_0_only = "GPL-2.0-only" 

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

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

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

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

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

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

238 GPL_2_0_ = "GPL-2.0+" 

239 GPL_3_0 = "GPL-3.0" 

240 GPL_3_0_only = "GPL-3.0-only" 

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

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

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

244 GPL_3_0_ = "GPL-3.0+" 

245 gSOAP_1_3b = "gSOAP-1.3b" 

246 HaskellReport = "HaskellReport" 

247 Hippocratic_2_1 = "Hippocratic-2.1" 

248 HPND = "HPND" 

249 HPND_sell_variant = "HPND-sell-variant" 

250 HTMLTIDY = "HTMLTIDY" 

251 IBM_pibs = "IBM-pibs" 

252 ICU = "ICU" 

253 IJG = "IJG" 

254 ImageMagick = "ImageMagick" 

255 iMatix = "iMatix" 

256 Imlib2 = "Imlib2" 

257 Info_ZIP = "Info-ZIP" 

258 Intel = "Intel" 

259 Intel_ACPI = "Intel-ACPI" 

260 Interbase_1_0 = "Interbase-1.0" 

261 IPA = "IPA" 

262 IPL_1_0 = "IPL-1.0" 

263 ISC = "ISC" 

264 JasPer_2_0 = "JasPer-2.0" 

265 JPNIC = "JPNIC" 

266 JSON = "JSON" 

267 LAL_1_2 = "LAL-1.2" 

268 LAL_1_3 = "LAL-1.3" 

269 Latex2e = "Latex2e" 

270 Leptonica = "Leptonica" 

271 LGPL_2_0 = "LGPL-2.0" 

272 LGPL_2_0_only = "LGPL-2.0-only" 

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

274 LGPL_2_0_ = "LGPL-2.0+" 

275 LGPL_2_1 = "LGPL-2.1" 

276 LGPL_2_1_only = "LGPL-2.1-only" 

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

278 LGPL_2_1_ = "LGPL-2.1+" 

279 LGPL_3_0 = "LGPL-3.0" 

280 LGPL_3_0_only = "LGPL-3.0-only" 

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

282 LGPL_3_0_ = "LGPL-3.0+" 

283 LGPLLR = "LGPLLR" 

284 Libpng = "Libpng" 

285 libpng_2_0 = "libpng-2.0" 

286 libselinux_1_0 = "libselinux-1.0" 

287 libtiff = "libtiff" 

288 LiLiQ_P_1_1 = "LiLiQ-P-1.1" 

289 LiLiQ_R_1_1 = "LiLiQ-R-1.1" 

290 LiLiQ_Rplus_1_1 = "LiLiQ-Rplus-1.1" 

291 Linux_OpenIB = "Linux-OpenIB" 

292 LPL_1_0 = "LPL-1.0" 

293 LPL_1_02 = "LPL-1.02" 

294 LPPL_1_0 = "LPPL-1.0" 

295 LPPL_1_1 = "LPPL-1.1" 

296 LPPL_1_2 = "LPPL-1.2" 

297 LPPL_1_3a = "LPPL-1.3a" 

298 LPPL_1_3c = "LPPL-1.3c" 

299 MakeIndex = "MakeIndex" 

300 MirOS = "MirOS" 

301 MIT = "MIT" 

302 MIT_0 = "MIT-0" 

303 MIT_advertising = "MIT-advertising" 

304 MIT_CMU = "MIT-CMU" 

305 MIT_enna = "MIT-enna" 

306 MIT_feh = "MIT-feh" 

307 MIT_Modern_Variant = "MIT-Modern-Variant" 

308 MIT_open_group = "MIT-open-group" 

309 MITNFA = "MITNFA" 

310 Motosoto = "Motosoto" 

311 mpich2 = "mpich2" 

312 MPL_1_0 = "MPL-1.0" 

313 MPL_1_1 = "MPL-1.1" 

314 MPL_2_0 = "MPL-2.0" 

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

316 MS_PL = "MS-PL" 

317 MS_RL = "MS-RL" 

318 MTLL = "MTLL" 

319 MulanPSL_1_0 = "MulanPSL-1.0" 

320 MulanPSL_2_0 = "MulanPSL-2.0" 

321 Multics = "Multics" 

322 Mup = "Mup" 

323 NAIST_2003 = "NAIST-2003" 

324 NASA_1_3 = "NASA-1.3" 

325 Naumen = "Naumen" 

326 NBPL_1_0 = "NBPL-1.0" 

327 NCGL_UK_2_0 = "NCGL-UK-2.0" 

328 NCSA = "NCSA" 

329 Net_SNMP = "Net-SNMP" 

330 NetCDF = "NetCDF" 

331 Newsletr = "Newsletr" 

332 NGPL = "NGPL" 

333 NIST_PD = "NIST-PD" 

334 NIST_PD_fallback = "NIST-PD-fallback" 

335 NLOD_1_0 = "NLOD-1.0" 

336 NLPL = "NLPL" 

337 Nokia = "Nokia" 

338 NOSL = "NOSL" 

339 Noweb = "Noweb" 

340 NPL_1_0 = "NPL-1.0" 

341 NPL_1_1 = "NPL-1.1" 

342 NPOSL_3_0 = "NPOSL-3.0" 

343 NRL = "NRL" 

344 NTP = "NTP" 

345 NTP_0 = "NTP-0" 

346 Nunit = "Nunit" 

347 O_UDA_1_0 = "O-UDA-1.0" 

348 OCCT_PL = "OCCT-PL" 

349 OCLC_2_0 = "OCLC-2.0" 

350 ODbL_1_0 = "ODbL-1.0" 

351 ODC_By_1_0 = "ODC-By-1.0" 

352 OFL_1_0 = "OFL-1.0" 

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

354 OFL_1_0_RFN = "OFL-1.0-RFN" 

355 OFL_1_1 = "OFL-1.1" 

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

357 OFL_1_1_RFN = "OFL-1.1-RFN" 

358 OGC_1_0 = "OGC-1.0" 

359 OGDL_Taiwan_1_0 = "OGDL-Taiwan-1.0" 

360 OGL_Canada_2_0 = "OGL-Canada-2.0" 

361 OGL_UK_1_0 = "OGL-UK-1.0" 

362 OGL_UK_2_0 = "OGL-UK-2.0" 

363 OGL_UK_3_0 = "OGL-UK-3.0" 

364 OGTSL = "OGTSL" 

365 OLDAP_1_1 = "OLDAP-1.1" 

366 OLDAP_1_2 = "OLDAP-1.2" 

367 OLDAP_1_3 = "OLDAP-1.3" 

368 OLDAP_1_4 = "OLDAP-1.4" 

369 OLDAP_2_0 = "OLDAP-2.0" 

370 OLDAP_2_0_1 = "OLDAP-2.0.1" 

371 OLDAP_2_1 = "OLDAP-2.1" 

372 OLDAP_2_2 = "OLDAP-2.2" 

373 OLDAP_2_2_1 = "OLDAP-2.2.1" 

374 OLDAP_2_2_2 = "OLDAP-2.2.2" 

375 OLDAP_2_3 = "OLDAP-2.3" 

376 OLDAP_2_4 = "OLDAP-2.4" 

377 OLDAP_2_5 = "OLDAP-2.5" 

378 OLDAP_2_6 = "OLDAP-2.6" 

379 OLDAP_2_7 = "OLDAP-2.7" 

380 OLDAP_2_8 = "OLDAP-2.8" 

381 OML = "OML" 

382 OpenSSL = "OpenSSL" 

383 OPL_1_0 = "OPL-1.0" 

384 OSET_PL_2_1 = "OSET-PL-2.1" 

385 OSL_1_0 = "OSL-1.0" 

386 OSL_1_1 = "OSL-1.1" 

387 OSL_2_0 = "OSL-2.0" 

388 OSL_2_1 = "OSL-2.1" 

389 OSL_3_0 = "OSL-3.0" 

390 Parity_6_0_0 = "Parity-6.0.0" 

391 Parity_7_0_0 = "Parity-7.0.0" 

392 PDDL_1_0 = "PDDL-1.0" 

393 PHP_3_0 = "PHP-3.0" 

394 PHP_3_01 = "PHP-3.01" 

395 Plexus = "Plexus" 

396 PolyForm_Noncommercial_1_0_0 = "PolyForm-Noncommercial-1.0.0" 

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

398 PostgreSQL = "PostgreSQL" 

399 PSF_2_0 = "PSF-2.0" 

400 psfrag = "psfrag" 

401 psutils = "psutils" 

402 Python_2_0 = "Python-2.0" 

403 Qhull = "Qhull" 

404 QPL_1_0 = "QPL-1.0" 

405 Rdisc = "Rdisc" 

406 RHeCos_1_1 = "RHeCos-1.1" 

407 RPL_1_1 = "RPL-1.1" 

408 RPL_1_5 = "RPL-1.5" 

409 RPSL_1_0 = "RPSL-1.0" 

410 RSA_MD = "RSA-MD" 

411 RSCPL = "RSCPL" 

412 Ruby = "Ruby" 

413 SAX_PD = "SAX-PD" 

414 Saxpath = "Saxpath" 

415 SCEA = "SCEA" 

416 Sendmail = "Sendmail" 

417 Sendmail_8_23 = "Sendmail-8.23" 

418 SGI_B_1_0 = "SGI-B-1.0" 

419 SGI_B_1_1 = "SGI-B-1.1" 

420 SGI_B_2_0 = "SGI-B-2.0" 

421 SHL_0_5 = "SHL-0.5" 

422 SHL_0_51 = "SHL-0.51" 

423 SimPL_2_0 = "SimPL-2.0" 

424 SISSL = "SISSL" 

425 SISSL_1_2 = "SISSL-1.2" 

426 Sleepycat = "Sleepycat" 

427 SMLNJ = "SMLNJ" 

428 SMPPL = "SMPPL" 

429 SNIA = "SNIA" 

430 Spencer_86 = "Spencer-86" 

431 Spencer_94 = "Spencer-94" 

432 Spencer_99 = "Spencer-99" 

433 SPL_1_0 = "SPL-1.0" 

434 SSH_OpenSSH = "SSH-OpenSSH" 

435 SSH_short = "SSH-short" 

436 SSPL_1_0 = "SSPL-1.0" 

437 StandardML_NJ = "StandardML-NJ" 

438 SugarCRM_1_1_3 = "SugarCRM-1.1.3" 

439 SWL = "SWL" 

440 TAPR_OHL_1_0 = "TAPR-OHL-1.0" 

441 TCL = "TCL" 

442 TCP_wrappers = "TCP-wrappers" 

443 TMate = "TMate" 

444 TORQUE_1_1 = "TORQUE-1.1" 

445 TOSL = "TOSL" 

446 TU_Berlin_1_0 = "TU-Berlin-1.0" 

447 TU_Berlin_2_0 = "TU-Berlin-2.0" 

448 UCL_1_0 = "UCL-1.0" 

449 Unicode_DFS_2015 = "Unicode-DFS-2015" 

450 Unicode_DFS_2016 = "Unicode-DFS-2016" 

451 Unicode_TOU = "Unicode-TOU" 

452 Unlicense = "Unlicense" 

453 UPL_1_0 = "UPL-1.0" 

454 Vim = "Vim" 

455 VOSTROM = "VOSTROM" 

456 VSL_1_0 = "VSL-1.0" 

457 W3C = "W3C" 

458 W3C_19980720 = "W3C-19980720" 

459 W3C_20150513 = "W3C-20150513" 

460 Watcom_1_0 = "Watcom-1.0" 

461 Wsuipa = "Wsuipa" 

462 WTFPL = "WTFPL" 

463 wxWindows = "wxWindows" 

464 X11 = "X11" 

465 Xerox = "Xerox" 

466 XFree86_1_1 = "XFree86-1.1" 

467 xinetd = "xinetd" 

468 Xnet = "Xnet" 

469 xpp = "xpp" 

470 XSkat = "XSkat" 

471 YPL_1_0 = "YPL-1.0" 

472 YPL_1_1 = "YPL-1.1" 

473 Zed = "Zed" 

474 Zend_2_0 = "Zend-2.0" 

475 Zimbra_1_3 = "Zimbra-1.3" 

476 Zimbra_1_4 = "Zimbra-1.4" 

477 Zlib = "Zlib" 

478 zlib_acknowledgement = "zlib-acknowledgement" 

479 ZPL_1_1 = "ZPL-1.1" 

480 ZPL_2_0 = "ZPL-2.0" 

481 ZPL_2_1 = "ZPL-2.1" 

482 

483 

484class ContributionTypeEnum(MyEnum): 

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

486 

487 audio = "audio" 

488 ally = "ally" 

489 bug = "bug" 

490 blog = "blog" 

491 business = "business" 

492 code = "code" 

493 content = "content" 

494 data = "data" 

495 doc = "doc" 

496 design = "design" 

497 example = "example" 

498 eventOrganizing = "eventOrganizing" 

499 financial = "financial" 

500 fundingFinding = "fundingFinding" 

501 ideas = "ideas" 

502 infra = "infra" 

503 maintenance = "maintenance" 

504 mentoring = "mentoring" 

505 platform = "platform" 

506 plugin = "plugin" 

507 projectManagement = "projectManagement" 

508 promotion = "promotion" 

509 question = "question" 

510 research = "research" 

511 review = "review" 

512 security = "security" 

513 tool = "tool" 

514 translation = "translation" 

515 test = "test" 

516 tutorial = "tutorial" 

517 talk = "talk" 

518 userTesting = "userTesting" 

519 video = "video" 

520 

521 

522class Country(MyEnum): 

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

524 

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

526 """ 

527 

528 AD = "AD" 

529 AE = "AE" 

530 AF = "AF" 

531 AG = "AG" 

532 AI = "AI" 

533 AL = "AL" 

534 AM = "AM" 

535 AO = "AO" 

536 AQ = "AQ" 

537 AR = "AR" 

538 AS = "AS" 

539 AT = "AT" 

540 AU = "AU" 

541 AW = "AW" 

542 AX = "AX" 

543 AZ = "AZ" 

544 BA = "BA" 

545 BB = "BB" 

546 BD = "BD" 

547 BE = "BE" 

548 BF = "BF" 

549 BG = "BG" 

550 BH = "BH" 

551 BI = "BI" 

552 BJ = "BJ" 

553 BL = "BL" 

554 BM = "BM" 

555 BN = "BN" 

556 BO = "BO" 

557 BQ = "BQ" 

558 BR = "BR" 

559 BS = "BS" 

560 BT = "BT" 

561 BV = "BV" 

562 BW = "BW" 

563 BY = "BY" 

564 BZ = "BZ" 

565 CA = "CA" 

566 CC = "CC" 

567 CD = "CD" 

568 CF = "CF" 

569 CG = "CG" 

570 CH = "CH" 

571 CI = "CI" 

572 CK = "CK" 

573 CL = "CL" 

574 CM = "CM" 

575 CN = "CN" 

576 CO = "CO" 

577 CR = "CR" 

578 CU = "CU" 

579 CV = "CV" 

580 CW = "CW" 

581 CX = "CX" 

582 CY = "CY" 

583 CZ = "CZ" 

584 DE = "DE" 

585 DJ = "DJ" 

586 DK = "DK" 

587 DM = "DM" 

588 DO = "DO" 

589 DZ = "DZ" 

590 EC = "EC" 

591 EE = "EE" 

592 EG = "EG" 

593 EH = "EH" 

594 ER = "ER" 

595 ES = "ES" 

596 ET = "ET" 

597 FI = "FI" 

598 FJ = "FJ" 

599 FK = "FK" 

600 FM = "FM" 

601 FO = "FO" 

602 FR = "FR" 

603 GA = "GA" 

604 GB = "GB" 

605 GD = "GD" 

606 GE = "GE" 

607 GF = "GF" 

608 GG = "GG" 

609 GH = "GH" 

610 GI = "GI" 

611 GL = "GL" 

612 GM = "GM" 

613 GN = "GN" 

614 GP = "GP" 

615 GQ = "GQ" 

616 GR = "GR" 

617 GS = "GS" 

618 GT = "GT" 

619 GU = "GU" 

620 GW = "GW" 

621 GY = "GY" 

622 HK = "HK" 

623 HM = "HM" 

624 HN = "HN" 

625 HR = "HR" 

626 HT = "HT" 

627 HU = "HU" 

628 ID = "ID" 

629 IE = "IE" 

630 IL = "IL" 

631 IM = "IM" 

632 IN = "IN" 

633 IO = "IO" 

634 IQ = "IQ" 

635 IR = "IR" 

636 IS = "IS" 

637 IT = "IT" 

638 JE = "JE" 

639 JM = "JM" 

640 JO = "JO" 

641 JP = "JP" 

642 KE = "KE" 

643 KG = "KG" 

644 KH = "KH" 

645 KI = "KI" 

646 KM = "KM" 

647 KN = "KN" 

648 KP = "KP" 

649 KR = "KR" 

650 KW = "KW" 

651 KY = "KY" 

652 KZ = "KZ" 

653 LA = "LA" 

654 LB = "LB" 

655 LC = "LC" 

656 LI = "LI" 

657 LK = "LK" 

658 LR = "LR" 

659 LS = "LS" 

660 LT = "LT" 

661 LU = "LU" 

662 LV = "LV" 

663 LY = "LY" 

664 MA = "MA" 

665 MC = "MC" 

666 MD = "MD" 

667 ME = "ME" 

668 MF = "MF" 

669 MG = "MG" 

670 MH = "MH" 

671 MK = "MK" 

672 ML = "ML" 

673 MM = "MM" 

674 MN = "MN" 

675 MO = "MO" 

676 MP = "MP" 

677 MQ = "MQ" 

678 MR = "MR" 

679 MS = "MS" 

680 MT = "MT" 

681 MU = "MU" 

682 MV = "MV" 

683 MW = "MW" 

684 MX = "MX" 

685 MY = "MY" 

686 MZ = "MZ" 

687 NA = "NA" 

688 NC = "NC" 

689 NE = "NE" 

690 NF = "NF" 

691 NG = "NG" 

692 NI = "NI" 

693 NL = "NL" 

694 NO = "NO" 

695 NP = "NP" 

696 NR = "NR" 

697 NU = "NU" 

698 NZ = "NZ" 

699 OM = "OM" 

700 PA = "PA" 

701 PE = "PE" 

702 PF = "PF" 

703 PG = "PG" 

704 PH = "PH" 

705 PK = "PK" 

706 PL = "PL" 

707 PM = "PM" 

708 PN = "PN" 

709 PR = "PR" 

710 PS = "PS" 

711 PT = "PT" 

712 PW = "PW" 

713 PY = "PY" 

714 QA = "QA" 

715 RE = "RE" 

716 RO = "RO" 

717 RS = "RS" 

718 RU = "RU" 

719 RW = "RW" 

720 SA = "SA" 

721 SB = "SB" 

722 SC = "SC" 

723 SD = "SD" 

724 SE = "SE" 

725 SG = "SG" 

726 SH = "SH" 

727 SI = "SI" 

728 SJ = "SJ" 

729 SK = "SK" 

730 SL = "SL" 

731 SM = "SM" 

732 SN = "SN" 

733 SO = "SO" 

734 SR = "SR" 

735 SS = "SS" 

736 ST = "ST" 

737 SV = "SV" 

738 SX = "SX" 

739 SY = "SY" 

740 SZ = "SZ" 

741 TC = "TC" 

742 TD = "TD" 

743 TF = "TF" 

744 TG = "TG" 

745 TH = "TH" 

746 TJ = "TJ" 

747 TK = "TK" 

748 TL = "TL" 

749 TM = "TM" 

750 TN = "TN" 

751 TO = "TO" 

752 TR = "TR" 

753 TT = "TT" 

754 TV = "TV" 

755 TW = "TW" 

756 TZ = "TZ" 

757 UA = "UA" 

758 UG = "UG" 

759 UM = "UM" 

760 US = "US" 

761 UY = "UY" 

762 UZ = "UZ" 

763 VA = "VA" 

764 VC = "VC" 

765 VE = "VE" 

766 VG = "VG" 

767 VI = "VI" 

768 VN = "VN" 

769 VU = "VU" 

770 WF = "WF" 

771 WS = "WS" 

772 YE = "YE" 

773 YT = "YT" 

774 ZA = "ZA" 

775 ZM = "ZM" 

776 ZW = "ZW"