trove_classifiers/
lib.rs

1//! Python packaging classifiers as an Enum.
2//!
3//! trove-classifiers encompass all valid PyPI classifiers, which can be found at
4//! https://pypi.org/classifiers/.
5//!
6//! The exact set of classifiers that is supported is pulled from
7//! [trove-classifiers](https://pypi.org/project/trove-classifiers/) which is the
8//! canonical source of PyPI's classifiers.
9//!
10//! Trove classifiers were first defined in
11//! [PEP-301](https://peps.python.org/pep-0301/#distutils-trove-classification)
12//! and are metadata tags that can be added to python package distributions.
13//!
14//! Examples
15//!
16//! ```
17//! use std::str::FromStr;
18//! use trove_classifiers::Classifier;
19//!
20//! let possible_classifier = "Development Status :: 5 - Production/Stable";
21//!
22//! match Classifier::from_str(possible_classifier) {
23//!     Ok(classifier) => println!("Yes, {classifier} is a classifier known to pypi.org"),
24//!     Err(_) => println!("No, {possible_classifier} is unknown to pypi.org"),
25//! }
26//! ```
27
28use std::str::Split;
29use strum_macros::{AsRefStr, Display, EnumString, IntoStaticStr};
30
31/// The version of the python package pypa/trove-classifiers that is captured by Classifier
32pub const PYPA_VERSION: &str = "2024.10.16";
33
34/// # Examples
35///
36/// ```
37/// use trove_classifiers::Classifier;
38///
39/// let license_classifier = Classifier::License__OSIApproved__GNUGeneralPublicLicensev3orlaterGPLv3plus;
40/// assert_eq!(license_classifier.as_ref(), "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)");
41/// ```
42///
43/// ```
44/// use std::str::FromStr;
45/// use trove_classifiers::Classifier;
46///
47/// let py3 = Classifier::from_str("Programming Language :: Python :: 3 :: Only")?;
48/// assert_eq!(py3, Classifier::ProgrammingLanguage__Python__3__Only);
49/// # Ok::<(), strum::ParseError>(())
50/// ```
51#[derive(AsRefStr, Debug, Display, EnumString, Eq, IntoStaticStr, PartialEq)]
52#[allow(non_camel_case_types)]
53pub enum Classifier {
54    #[strum(serialize = "Development Status :: 1 - Planning")]
55    DevelopmentStatus__1Planning,
56    #[strum(serialize = "Development Status :: 2 - Pre-Alpha")]
57    DevelopmentStatus__2PreAlpha,
58    #[strum(serialize = "Development Status :: 3 - Alpha")]
59    DevelopmentStatus__3Alpha,
60    #[strum(serialize = "Development Status :: 4 - Beta")]
61    DevelopmentStatus__4Beta,
62    #[strum(serialize = "Development Status :: 5 - Production/Stable")]
63    DevelopmentStatus__5ProductionStable,
64    #[strum(serialize = "Development Status :: 6 - Mature")]
65    DevelopmentStatus__6Mature,
66    #[strum(serialize = "Development Status :: 7 - Inactive")]
67    DevelopmentStatus__7Inactive,
68    #[strum(serialize = "Environment :: Console")]
69    Environment__Console,
70    #[strum(serialize = "Environment :: Console :: Curses")]
71    Environment__Console__Curses,
72    #[strum(serialize = "Environment :: Console :: Framebuffer")]
73    Environment__Console__Framebuffer,
74    #[strum(serialize = "Environment :: Console :: Newt")]
75    Environment__Console__Newt,
76    #[strum(serialize = "Environment :: Console :: svgalib")]
77    Environment__Console__svgalib,
78    #[strum(serialize = "Environment :: GPU")]
79    Environment__GPU,
80    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA")]
81    Environment__GPU__NVIDIACUDA,
82    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 1.0")]
83    Environment__GPU__NVIDIACUDA__1_0,
84    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 1.1")]
85    Environment__GPU__NVIDIACUDA__1_1,
86    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 2.0")]
87    Environment__GPU__NVIDIACUDA__2_0,
88    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 2.1")]
89    Environment__GPU__NVIDIACUDA__2_1,
90    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 2.2")]
91    Environment__GPU__NVIDIACUDA__2_2,
92    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 2.3")]
93    Environment__GPU__NVIDIACUDA__2_3,
94    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 3.0")]
95    Environment__GPU__NVIDIACUDA__3_0,
96    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 3.1")]
97    Environment__GPU__NVIDIACUDA__3_1,
98    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 3.2")]
99    Environment__GPU__NVIDIACUDA__3_2,
100    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 4.0")]
101    Environment__GPU__NVIDIACUDA__4_0,
102    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 4.1")]
103    Environment__GPU__NVIDIACUDA__4_1,
104    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 4.2")]
105    Environment__GPU__NVIDIACUDA__4_2,
106    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 5.0")]
107    Environment__GPU__NVIDIACUDA__5_0,
108    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 5.5")]
109    Environment__GPU__NVIDIACUDA__5_5,
110    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 6.0")]
111    Environment__GPU__NVIDIACUDA__6_0,
112    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 6.5")]
113    Environment__GPU__NVIDIACUDA__6_5,
114    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 7.0")]
115    Environment__GPU__NVIDIACUDA__7_0,
116    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 7.5")]
117    Environment__GPU__NVIDIACUDA__7_5,
118    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 8.0")]
119    Environment__GPU__NVIDIACUDA__8_0,
120    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 9.0")]
121    Environment__GPU__NVIDIACUDA__9_0,
122    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 9.1")]
123    Environment__GPU__NVIDIACUDA__9_1,
124    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 9.2")]
125    Environment__GPU__NVIDIACUDA__9_2,
126    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 10.0")]
127    Environment__GPU__NVIDIACUDA__10_0,
128    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 10.1")]
129    Environment__GPU__NVIDIACUDA__10_1,
130    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 10.2")]
131    Environment__GPU__NVIDIACUDA__10_2,
132    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11")]
133    Environment__GPU__NVIDIACUDA__11,
134    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.0")]
135    Environment__GPU__NVIDIACUDA__11_0,
136    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.1")]
137    Environment__GPU__NVIDIACUDA__11_1,
138    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.2")]
139    Environment__GPU__NVIDIACUDA__11_2,
140    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.3")]
141    Environment__GPU__NVIDIACUDA__11_3,
142    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.4")]
143    Environment__GPU__NVIDIACUDA__11_4,
144    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.5")]
145    Environment__GPU__NVIDIACUDA__11_5,
146    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.6")]
147    Environment__GPU__NVIDIACUDA__11_6,
148    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.7")]
149    Environment__GPU__NVIDIACUDA__11_7,
150    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 11.8")]
151    Environment__GPU__NVIDIACUDA__11_8,
152    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12")]
153    Environment__GPU__NVIDIACUDA__12,
154    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.0")]
155    Environment__GPU__NVIDIACUDA__12__12_0,
156    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.1")]
157    Environment__GPU__NVIDIACUDA__12__12_1,
158    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.2")]
159    Environment__GPU__NVIDIACUDA__12__12_2,
160    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.3")]
161    Environment__GPU__NVIDIACUDA__12__12_3,
162    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.4")]
163    Environment__GPU__NVIDIACUDA__12__12_4,
164    #[strum(serialize = "Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.5")]
165    Environment__GPU__NVIDIACUDA__12__12_5,
166    #[strum(serialize = "Environment :: Handhelds/PDA's")]
167    Environment__HandheldsPDAs,
168    #[strum(serialize = "Environment :: MacOS X")]
169    Environment__MacOSX,
170    #[strum(serialize = "Environment :: MacOS X :: Aqua")]
171    Environment__MacOSX__Aqua,
172    #[strum(serialize = "Environment :: MacOS X :: Carbon")]
173    Environment__MacOSX__Carbon,
174    #[strum(serialize = "Environment :: MacOS X :: Cocoa")]
175    Environment__MacOSX__Cocoa,
176    #[strum(serialize = "Environment :: No Input/Output (Daemon)")]
177    Environment__NoInputOutputDaemon,
178    #[strum(serialize = "Environment :: OpenStack")]
179    Environment__OpenStack,
180    #[strum(serialize = "Environment :: Other Environment")]
181    Environment__OtherEnvironment,
182    #[strum(serialize = "Environment :: Plugins")]
183    Environment__Plugins,
184    #[strum(serialize = "Environment :: Web Environment")]
185    Environment__WebEnvironment,
186    #[strum(serialize = "Environment :: Web Environment :: Buffet")]
187    Environment__WebEnvironment__Buffet,
188    #[strum(serialize = "Environment :: Web Environment :: Mozilla")]
189    Environment__WebEnvironment__Mozilla,
190    #[strum(serialize = "Environment :: Web Environment :: ToscaWidgets")]
191    Environment__WebEnvironment__ToscaWidgets,
192    #[strum(serialize = "Environment :: WebAssembly")]
193    Environment__WebAssembly,
194    #[strum(serialize = "Environment :: WebAssembly :: Emscripten")]
195    Environment__WebAssembly__Emscripten,
196    #[strum(serialize = "Environment :: WebAssembly :: WASI")]
197    Environment__WebAssembly__WASI,
198    #[strum(serialize = "Environment :: Win32 (MS Windows)")]
199    Environment__Win32MSWindows,
200    #[strum(serialize = "Environment :: X11 Applications")]
201    Environment__X11Applications,
202    #[strum(serialize = "Environment :: X11 Applications :: GTK")]
203    Environment__X11Applications__GTK,
204    #[strum(serialize = "Environment :: X11 Applications :: Gnome")]
205    Environment__X11Applications__Gnome,
206    #[strum(serialize = "Environment :: X11 Applications :: KDE")]
207    Environment__X11Applications__KDE,
208    #[strum(serialize = "Environment :: X11 Applications :: Qt")]
209    Environment__X11Applications__Qt,
210    #[strum(serialize = "Framework :: AWS CDK")]
211    Framework__AWSCDK,
212    #[strum(serialize = "Framework :: AWS CDK :: 1")]
213    Framework__AWSCDK__1,
214    #[strum(serialize = "Framework :: AWS CDK :: 2")]
215    Framework__AWSCDK__2,
216    #[strum(serialize = "Framework :: AiiDA")]
217    Framework__AiiDA,
218    #[strum(serialize = "Framework :: Ansible")]
219    Framework__Ansible,
220    #[strum(serialize = "Framework :: AnyIO")]
221    Framework__AnyIO,
222    #[strum(serialize = "Framework :: Apache Airflow")]
223    Framework__ApacheAirflow,
224    #[strum(serialize = "Framework :: Apache Airflow :: Provider")]
225    Framework__ApacheAirflow__Provider,
226    #[strum(serialize = "Framework :: AsyncIO")]
227    Framework__AsyncIO,
228    #[strum(serialize = "Framework :: BEAT")]
229    Framework__BEAT,
230    #[strum(serialize = "Framework :: BFG")]
231    Framework__BFG,
232    #[strum(serialize = "Framework :: Bob")]
233    Framework__Bob,
234    #[strum(serialize = "Framework :: Bottle")]
235    Framework__Bottle,
236    #[strum(serialize = "Framework :: Buildout")]
237    Framework__Buildout,
238    #[strum(serialize = "Framework :: Buildout :: Extension")]
239    Framework__Buildout__Extension,
240    #[strum(serialize = "Framework :: Buildout :: Recipe")]
241    Framework__Buildout__Recipe,
242    #[strum(serialize = "Framework :: CastleCMS")]
243    Framework__CastleCMS,
244    #[strum(serialize = "Framework :: CastleCMS :: Theme")]
245    Framework__CastleCMS__Theme,
246    #[strum(serialize = "Framework :: Celery")]
247    Framework__Celery,
248    #[strum(serialize = "Framework :: Chandler")]
249    Framework__Chandler,
250    #[strum(serialize = "Framework :: CherryPy")]
251    Framework__CherryPy,
252    #[strum(serialize = "Framework :: CubicWeb")]
253    Framework__CubicWeb,
254    #[strum(serialize = "Framework :: Dash")]
255    Framework__Dash,
256    #[strum(serialize = "Framework :: Datasette")]
257    Framework__Datasette,
258    #[strum(serialize = "Framework :: Django")]
259    Framework__Django,
260    #[strum(serialize = "Framework :: Django :: 1")]
261    Framework__Django__1,
262    #[strum(serialize = "Framework :: Django :: 1.4")]
263    Framework__Django__1_4,
264    #[strum(serialize = "Framework :: Django :: 1.5")]
265    Framework__Django__1_5,
266    #[strum(serialize = "Framework :: Django :: 1.6")]
267    Framework__Django__1_6,
268    #[strum(serialize = "Framework :: Django :: 1.7")]
269    Framework__Django__1_7,
270    #[strum(serialize = "Framework :: Django :: 1.8")]
271    Framework__Django__1_8,
272    #[strum(serialize = "Framework :: Django :: 1.9")]
273    Framework__Django__1_9,
274    #[strum(serialize = "Framework :: Django :: 1.10")]
275    Framework__Django__1_10,
276    #[strum(serialize = "Framework :: Django :: 1.11")]
277    Framework__Django__1_11,
278    #[strum(serialize = "Framework :: Django :: 2")]
279    Framework__Django__2,
280    #[strum(serialize = "Framework :: Django :: 2.0")]
281    Framework__Django__2_0,
282    #[strum(serialize = "Framework :: Django :: 2.1")]
283    Framework__Django__2_1,
284    #[strum(serialize = "Framework :: Django :: 2.2")]
285    Framework__Django__2_2,
286    #[strum(serialize = "Framework :: Django :: 3")]
287    Framework__Django__3,
288    #[strum(serialize = "Framework :: Django :: 3.0")]
289    Framework__Django__3_0,
290    #[strum(serialize = "Framework :: Django :: 3.1")]
291    Framework__Django__3_1,
292    #[strum(serialize = "Framework :: Django :: 3.2")]
293    Framework__Django__3_2,
294    #[strum(serialize = "Framework :: Django :: 4")]
295    Framework__Django__4,
296    #[strum(serialize = "Framework :: Django :: 4.0")]
297    Framework__Django__4_0,
298    #[strum(serialize = "Framework :: Django :: 4.1")]
299    Framework__Django__4_1,
300    #[strum(serialize = "Framework :: Django :: 4.2")]
301    Framework__Django__4_2,
302    #[strum(serialize = "Framework :: Django :: 5")]
303    Framework__Django__5,
304    #[strum(serialize = "Framework :: Django :: 5.0")]
305    Framework__Django__5_0,
306    #[strum(serialize = "Framework :: Django :: 5.1")]
307    Framework__Django__5_1,
308    #[strum(serialize = "Framework :: Django :: 5.2")]
309    Framework__Django__5_2,
310    #[strum(serialize = "Framework :: Django CMS")]
311    Framework__DjangoCMS,
312    #[strum(serialize = "Framework :: Django CMS :: 3.4")]
313    Framework__DjangoCMS__3_4,
314    #[strum(serialize = "Framework :: Django CMS :: 3.5")]
315    Framework__DjangoCMS__3_5,
316    #[strum(serialize = "Framework :: Django CMS :: 3.6")]
317    Framework__DjangoCMS__3_6,
318    #[strum(serialize = "Framework :: Django CMS :: 3.7")]
319    Framework__DjangoCMS__3_7,
320    #[strum(serialize = "Framework :: Django CMS :: 3.8")]
321    Framework__DjangoCMS__3_8,
322    #[strum(serialize = "Framework :: Django CMS :: 3.9")]
323    Framework__DjangoCMS__3_9,
324    #[strum(serialize = "Framework :: Django CMS :: 3.10")]
325    Framework__DjangoCMS__3_10,
326    #[strum(serialize = "Framework :: Django CMS :: 3.11")]
327    Framework__DjangoCMS__3_11,
328    #[strum(serialize = "Framework :: Django CMS :: 4.0")]
329    Framework__DjangoCMS__4_0,
330    #[strum(serialize = "Framework :: Django CMS :: 4.1")]
331    Framework__DjangoCMS__4_1,
332    #[strum(serialize = "Framework :: FastAPI")]
333    Framework__FastAPI,
334    #[strum(serialize = "Framework :: Flake8")]
335    Framework__Flake8,
336    #[strum(serialize = "Framework :: Flask")]
337    Framework__Flask,
338    #[strum(serialize = "Framework :: Hatch")]
339    Framework__Hatch,
340    #[strum(serialize = "Framework :: Hypothesis")]
341    Framework__Hypothesis,
342    #[strum(serialize = "Framework :: IDLE")]
343    Framework__IDLE,
344    #[strum(serialize = "Framework :: IPython")]
345    Framework__IPython,
346    #[strum(serialize = "Framework :: Jupyter")]
347    Framework__Jupyter,
348    #[strum(serialize = "Framework :: Jupyter :: JupyterLab")]
349    Framework__Jupyter__JupyterLab,
350    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: 1")]
351    Framework__Jupyter__JupyterLab__1,
352    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: 2")]
353    Framework__Jupyter__JupyterLab__2,
354    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: 3")]
355    Framework__Jupyter__JupyterLab__3,
356    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: 4")]
357    Framework__Jupyter__JupyterLab__4,
358    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: Extensions")]
359    Framework__Jupyter__JupyterLab__Extensions,
360    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: Extensions :: Mime Renderers")]
361    Framework__Jupyter__JupyterLab__Extensions__MimeRenderers,
362    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt")]
363    Framework__Jupyter__JupyterLab__Extensions__Prebuilt,
364    #[strum(serialize = "Framework :: Jupyter :: JupyterLab :: Extensions :: Themes")]
365    Framework__Jupyter__JupyterLab__Extensions__Themes,
366    #[strum(serialize = "Framework :: Kedro")]
367    Framework__Kedro,
368    #[strum(serialize = "Framework :: Lektor")]
369    Framework__Lektor,
370    #[strum(serialize = "Framework :: Masonite")]
371    Framework__Masonite,
372    #[strum(serialize = "Framework :: Matplotlib")]
373    Framework__Matplotlib,
374    #[strum(serialize = "Framework :: MkDocs")]
375    Framework__MkDocs,
376    #[strum(serialize = "Framework :: Nengo")]
377    Framework__Nengo,
378    #[strum(serialize = "Framework :: Odoo")]
379    Framework__Odoo,
380    #[strum(serialize = "Framework :: Odoo :: 8.0")]
381    Framework__Odoo__8_0,
382    #[strum(serialize = "Framework :: Odoo :: 9.0")]
383    Framework__Odoo__9_0,
384    #[strum(serialize = "Framework :: Odoo :: 10.0")]
385    Framework__Odoo__10_0,
386    #[strum(serialize = "Framework :: Odoo :: 11.0")]
387    Framework__Odoo__11_0,
388    #[strum(serialize = "Framework :: Odoo :: 12.0")]
389    Framework__Odoo__12_0,
390    #[strum(serialize = "Framework :: Odoo :: 13.0")]
391    Framework__Odoo__13_0,
392    #[strum(serialize = "Framework :: Odoo :: 14.0")]
393    Framework__Odoo__14_0,
394    #[strum(serialize = "Framework :: Odoo :: 15.0")]
395    Framework__Odoo__15_0,
396    #[strum(serialize = "Framework :: Odoo :: 16.0")]
397    Framework__Odoo__16_0,
398    #[strum(serialize = "Framework :: Odoo :: 17.0")]
399    Framework__Odoo__17_0,
400    #[strum(serialize = "Framework :: Odoo :: 18.0")]
401    Framework__Odoo__18_0,
402    #[strum(serialize = "Framework :: OpenTelemetry")]
403    Framework__OpenTelemetry,
404    #[strum(serialize = "Framework :: OpenTelemetry :: Distros")]
405    Framework__OpenTelemetry__Distros,
406    #[strum(serialize = "Framework :: OpenTelemetry :: Exporters")]
407    Framework__OpenTelemetry__Exporters,
408    #[strum(serialize = "Framework :: OpenTelemetry :: Instrumentations")]
409    Framework__OpenTelemetry__Instrumentations,
410    #[strum(serialize = "Framework :: Opps")]
411    Framework__Opps,
412    #[strum(serialize = "Framework :: Paste")]
413    Framework__Paste,
414    #[strum(serialize = "Framework :: Pelican")]
415    Framework__Pelican,
416    #[strum(serialize = "Framework :: Pelican :: Plugins")]
417    Framework__Pelican__Plugins,
418    #[strum(serialize = "Framework :: Pelican :: Themes")]
419    Framework__Pelican__Themes,
420    #[strum(serialize = "Framework :: Plone")]
421    Framework__Plone,
422    #[strum(serialize = "Framework :: Plone :: 3.2")]
423    Framework__Plone__3_2,
424    #[strum(serialize = "Framework :: Plone :: 3.3")]
425    Framework__Plone__3_3,
426    #[strum(serialize = "Framework :: Plone :: 4.0")]
427    Framework__Plone__4_0,
428    #[strum(serialize = "Framework :: Plone :: 4.1")]
429    Framework__Plone__4_1,
430    #[strum(serialize = "Framework :: Plone :: 4.2")]
431    Framework__Plone__4_2,
432    #[strum(serialize = "Framework :: Plone :: 4.3")]
433    Framework__Plone__4_3,
434    #[strum(serialize = "Framework :: Plone :: 5.0")]
435    Framework__Plone__5_0,
436    #[strum(serialize = "Framework :: Plone :: 5.1")]
437    Framework__Plone__5_1,
438    #[strum(serialize = "Framework :: Plone :: 5.2")]
439    Framework__Plone__5_2,
440    #[strum(serialize = "Framework :: Plone :: 5.3")]
441    Framework__Plone__5_3,
442    #[strum(serialize = "Framework :: Plone :: 6.0")]
443    Framework__Plone__6_0,
444    #[strum(serialize = "Framework :: Plone :: 6.1")]
445    Framework__Plone__6_1,
446    #[strum(serialize = "Framework :: Plone :: Addon")]
447    Framework__Plone__Addon,
448    #[strum(serialize = "Framework :: Plone :: Core")]
449    Framework__Plone__Core,
450    #[strum(serialize = "Framework :: Plone :: Distribution")]
451    Framework__Plone__Distribution,
452    #[strum(serialize = "Framework :: Plone :: Theme")]
453    Framework__Plone__Theme,
454    #[strum(serialize = "Framework :: PySimpleGUI")]
455    Framework__PySimpleGUI,
456    #[strum(serialize = "Framework :: PySimpleGUI :: 4")]
457    Framework__PySimpleGUI__4,
458    #[strum(serialize = "Framework :: PySimpleGUI :: 5")]
459    Framework__PySimpleGUI__5,
460    #[strum(serialize = "Framework :: Pycsou")]
461    Framework__Pycsou,
462    #[strum(serialize = "Framework :: Pydantic")]
463    Framework__Pydantic,
464    #[strum(serialize = "Framework :: Pydantic :: 1")]
465    Framework__Pydantic__1,
466    #[strum(serialize = "Framework :: Pydantic :: 2")]
467    Framework__Pydantic__2,
468    #[strum(serialize = "Framework :: Pylons")]
469    Framework__Pylons,
470    #[strum(serialize = "Framework :: Pyramid")]
471    Framework__Pyramid,
472    #[strum(serialize = "Framework :: Pytest")]
473    Framework__Pytest,
474    #[strum(serialize = "Framework :: Review Board")]
475    Framework__ReviewBoard,
476    #[strum(serialize = "Framework :: Robot Framework")]
477    Framework__RobotFramework,
478    #[strum(serialize = "Framework :: Robot Framework :: Library")]
479    Framework__RobotFramework__Library,
480    #[strum(serialize = "Framework :: Robot Framework :: Tool")]
481    Framework__RobotFramework__Tool,
482    #[strum(serialize = "Framework :: Scrapy")]
483    Framework__Scrapy,
484    #[strum(serialize = "Framework :: Setuptools Plugin")]
485    Framework__SetuptoolsPlugin,
486    #[strum(serialize = "Framework :: Sphinx")]
487    Framework__Sphinx,
488    #[strum(serialize = "Framework :: Sphinx :: Domain")]
489    Framework__Sphinx__Domain,
490    #[strum(serialize = "Framework :: Sphinx :: Extension")]
491    Framework__Sphinx__Extension,
492    #[strum(serialize = "Framework :: Sphinx :: Theme")]
493    Framework__Sphinx__Theme,
494    #[strum(serialize = "Framework :: Trac")]
495    Framework__Trac,
496    #[strum(serialize = "Framework :: Trio")]
497    Framework__Trio,
498    #[strum(serialize = "Framework :: Tryton")]
499    Framework__Tryton,
500    #[strum(serialize = "Framework :: TurboGears")]
501    Framework__TurboGears,
502    #[strum(serialize = "Framework :: TurboGears :: Applications")]
503    Framework__TurboGears__Applications,
504    #[strum(serialize = "Framework :: TurboGears :: Widgets")]
505    Framework__TurboGears__Widgets,
506    #[strum(serialize = "Framework :: Twisted")]
507    Framework__Twisted,
508    #[strum(serialize = "Framework :: Wagtail")]
509    Framework__Wagtail,
510    #[strum(serialize = "Framework :: Wagtail :: 1")]
511    Framework__Wagtail__1,
512    #[strum(serialize = "Framework :: Wagtail :: 2")]
513    Framework__Wagtail__2,
514    #[strum(serialize = "Framework :: Wagtail :: 3")]
515    Framework__Wagtail__3,
516    #[strum(serialize = "Framework :: Wagtail :: 4")]
517    Framework__Wagtail__4,
518    #[strum(serialize = "Framework :: Wagtail :: 5")]
519    Framework__Wagtail__5,
520    #[strum(serialize = "Framework :: Wagtail :: 6")]
521    Framework__Wagtail__6,
522    #[strum(serialize = "Framework :: ZODB")]
523    Framework__ZODB,
524    #[strum(serialize = "Framework :: Zope")]
525    Framework__Zope,
526    #[strum(serialize = "Framework :: Zope2")]
527    Framework__Zope2,
528    #[strum(serialize = "Framework :: Zope3")]
529    Framework__Zope3,
530    #[strum(serialize = "Framework :: Zope :: 2")]
531    Framework__Zope__2,
532    #[strum(serialize = "Framework :: Zope :: 3")]
533    Framework__Zope__3,
534    #[strum(serialize = "Framework :: Zope :: 4")]
535    Framework__Zope__4,
536    #[strum(serialize = "Framework :: Zope :: 5")]
537    Framework__Zope__5,
538    #[strum(serialize = "Framework :: aiohttp")]
539    Framework__aiohttp,
540    #[strum(serialize = "Framework :: cocotb")]
541    Framework__cocotb,
542    #[strum(serialize = "Framework :: napari")]
543    Framework__napari,
544    #[strum(serialize = "Framework :: tox")]
545    Framework__tox,
546    #[strum(serialize = "Intended Audience :: Customer Service")]
547    IntendedAudience__CustomerService,
548    #[strum(serialize = "Intended Audience :: Developers")]
549    IntendedAudience__Developers,
550    #[strum(serialize = "Intended Audience :: Education")]
551    IntendedAudience__Education,
552    #[strum(serialize = "Intended Audience :: End Users/Desktop")]
553    IntendedAudience__EndUsersDesktop,
554    #[strum(serialize = "Intended Audience :: Financial and Insurance Industry")]
555    IntendedAudience__FinancialandInsuranceIndustry,
556    #[strum(serialize = "Intended Audience :: Healthcare Industry")]
557    IntendedAudience__HealthcareIndustry,
558    #[strum(serialize = "Intended Audience :: Information Technology")]
559    IntendedAudience__InformationTechnology,
560    #[strum(serialize = "Intended Audience :: Legal Industry")]
561    IntendedAudience__LegalIndustry,
562    #[strum(serialize = "Intended Audience :: Manufacturing")]
563    IntendedAudience__Manufacturing,
564    #[strum(serialize = "Intended Audience :: Other Audience")]
565    IntendedAudience__OtherAudience,
566    #[strum(serialize = "Intended Audience :: Religion")]
567    IntendedAudience__Religion,
568    #[strum(serialize = "Intended Audience :: Science/Research")]
569    IntendedAudience__ScienceResearch,
570    #[strum(serialize = "Intended Audience :: System Administrators")]
571    IntendedAudience__SystemAdministrators,
572    #[strum(serialize = "Intended Audience :: Telecommunications Industry")]
573    IntendedAudience__TelecommunicationsIndustry,
574    #[strum(serialize = "License :: Aladdin Free Public License (AFPL)")]
575    License__AladdinFreePublicLicenseAFPL,
576    #[strum(serialize = "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication")]
577    License__CC01_0UniversalCC01_0PublicDomainDedication,
578    #[strum(serialize = "License :: CeCILL-B Free Software License Agreement (CECILL-B)")]
579    License__CeCILLBFreeSoftwareLicenseAgreementCECILLB,
580    #[strum(serialize = "License :: CeCILL-C Free Software License Agreement (CECILL-C)")]
581    License__CeCILLCFreeSoftwareLicenseAgreementCECILLC,
582    #[strum(serialize = "License :: DFSG approved")]
583    License__DFSGapproved,
584    #[strum(serialize = "License :: Eiffel Forum License (EFL)")]
585    License__EiffelForumLicenseEFL,
586    #[strum(serialize = "License :: Free For Educational Use")]
587    License__FreeForEducationalUse,
588    #[strum(serialize = "License :: Free For Home Use")]
589    License__FreeForHomeUse,
590    #[strum(serialize = "License :: Free To Use But Restricted")]
591    License__FreeToUseButRestricted,
592    #[strum(serialize = "License :: Free for non-commercial use")]
593    License__Freefornoncommercialuse,
594    #[strum(serialize = "License :: Freely Distributable")]
595    License__FreelyDistributable,
596    #[strum(serialize = "License :: Freeware")]
597    License__Freeware,
598    #[strum(serialize = "License :: GUST Font License 1.0")]
599    License__GUSTFontLicense1_0,
600    #[strum(serialize = "License :: GUST Font License 2006-09-30")]
601    License__GUSTFontLicense20060930,
602    #[strum(serialize = "License :: Netscape Public License (NPL)")]
603    License__NetscapePublicLicenseNPL,
604    #[strum(serialize = "License :: Nokia Open Source License (NOKOS)")]
605    License__NokiaOpenSourceLicenseNOKOS,
606    #[strum(serialize = "License :: OSI Approved")]
607    License__OSIApproved,
608    #[strum(serialize = "License :: OSI Approved :: Academic Free License (AFL)")]
609    License__OSIApproved__AcademicFreeLicenseAFL,
610    #[strum(serialize = "License :: OSI Approved :: Apache Software License")]
611    License__OSIApproved__ApacheSoftwareLicense,
612    #[strum(serialize = "License :: OSI Approved :: Apple Public Source License")]
613    License__OSIApproved__ApplePublicSourceLicense,
614    #[strum(serialize = "License :: OSI Approved :: Artistic License")]
615    License__OSIApproved__ArtisticLicense,
616    #[strum(serialize = "License :: OSI Approved :: Attribution Assurance License")]
617    License__OSIApproved__AttributionAssuranceLicense,
618    #[strum(serialize = "License :: OSI Approved :: BSD License")]
619    License__OSIApproved__BSDLicense,
620    #[strum(serialize = "License :: OSI Approved :: Blue Oak Model License (BlueOak-1.0.0)")]
621    License__OSIApproved__BlueOakModelLicenseBlueOak1_0_0,
622    #[strum(serialize = "License :: OSI Approved :: Boost Software License 1.0 (BSL-1.0)")]
623    License__OSIApproved__BoostSoftwareLicense1_0BSL1_0,
624    #[strum(
625        serialize = "License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)"
626    )]
627    License__OSIApproved__CEACNRSInriaLogicielLibreLicense,
628    version2_1CeCILL2_1,
629    #[strum(serialize = "License :: OSI Approved :: CMU License (MIT-CMU)")]
630    License__OSIApproved__CMULicenseMITCMU,
631    #[strum(
632        serialize = "License :: OSI Approved :: Common Development and Distribution License 1.0 (CDDL-1.0)"
633    )]
634    License__OSIApproved__CommonDevelopmentandDistributionLicense1_0CDDL1_0,
635    #[strum(serialize = "License :: OSI Approved :: Common Public License")]
636    License__OSIApproved__CommonPublicLicense,
637    #[strum(serialize = "License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)")]
638    License__OSIApproved__EclipsePublicLicense1_0EPL1_0,
639    #[strum(serialize = "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)")]
640    License__OSIApproved__EclipsePublicLicense2_0EPL2_0,
641    #[strum(
642        serialize = "License :: OSI Approved :: Educational Community License, Version 2.0 (ECL-2.0)"
643    )]
644    License__OSIApproved__EducationalCommunityLicense,
645    Version2_0ECL2_0,
646    #[strum(serialize = "License :: OSI Approved :: Eiffel Forum License")]
647    License__OSIApproved__EiffelForumLicense,
648    #[strum(serialize = "License :: OSI Approved :: European Union Public Licence 1.0 (EUPL 1.0)")]
649    License__OSIApproved__EuropeanUnionPublicLicence1_0EUPL1_0,
650    #[strum(serialize = "License :: OSI Approved :: European Union Public Licence 1.1 (EUPL 1.1)")]
651    License__OSIApproved__EuropeanUnionPublicLicence1_1EUPL1_1,
652    #[strum(serialize = "License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)")]
653    License__OSIApproved__EuropeanUnionPublicLicence1_2EUPL1_2,
654    #[strum(serialize = "License :: OSI Approved :: GNU Affero General Public License v3")]
655    License__OSIApproved__GNUAfferoGeneralPublicLicensev3,
656    #[strum(
657        serialize = "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)"
658    )]
659    License__OSIApproved__GNUAfferoGeneralPublicLicensev3orlaterAGPLv3plus,
660    #[strum(serialize = "License :: OSI Approved :: GNU Free Documentation License (FDL)")]
661    License__OSIApproved__GNUFreeDocumentationLicenseFDL,
662    #[strum(serialize = "License :: OSI Approved :: GNU General Public License (GPL)")]
663    License__OSIApproved__GNUGeneralPublicLicenseGPL,
664    #[strum(serialize = "License :: OSI Approved :: GNU General Public License v2 (GPLv2)")]
665    License__OSIApproved__GNUGeneralPublicLicensev2GPLv2,
666    #[strum(
667        serialize = "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)"
668    )]
669    License__OSIApproved__GNUGeneralPublicLicensev2orlaterGPLv2plus,
670    #[strum(serialize = "License :: OSI Approved :: GNU General Public License v3 (GPLv3)")]
671    License__OSIApproved__GNUGeneralPublicLicensev3GPLv3,
672    #[strum(
673        serialize = "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)"
674    )]
675    License__OSIApproved__GNUGeneralPublicLicensev3orlaterGPLv3plus,
676    #[strum(
677        serialize = "License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)"
678    )]
679    License__OSIApproved__GNULesserGeneralPublicLicensev2LGPLv2,
680    #[strum(
681        serialize = "License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)"
682    )]
683    License__OSIApproved__GNULesserGeneralPublicLicensev2orlaterLGPLv2plus,
684    #[strum(
685        serialize = "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)"
686    )]
687    License__OSIApproved__GNULesserGeneralPublicLicensev3LGPLv3,
688    #[strum(
689        serialize = "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)"
690    )]
691    License__OSIApproved__GNULesserGeneralPublicLicensev3orlaterLGPLv3plus,
692    #[strum(
693        serialize = "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)"
694    )]
695    License__OSIApproved__GNULibraryorLesserGeneralPublicLicenseLGPL,
696    #[strum(
697        serialize = "License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)"
698    )]
699    License__OSIApproved__HistoricalPermissionNoticeandDisclaimerHPND,
700    #[strum(serialize = "License :: OSI Approved :: IBM Public License")]
701    License__OSIApproved__IBMPublicLicense,
702    #[strum(serialize = "License :: OSI Approved :: ISC License (ISCL)")]
703    License__OSIApproved__ISCLicenseISCL,
704    #[strum(serialize = "License :: OSI Approved :: Intel Open Source License")]
705    License__OSIApproved__IntelOpenSourceLicense,
706    #[strum(serialize = "License :: OSI Approved :: Jabber Open Source License")]
707    License__OSIApproved__JabberOpenSourceLicense,
708    #[strum(serialize = "License :: OSI Approved :: MIT License")]
709    License__OSIApproved__MITLicense,
710    #[strum(serialize = "License :: OSI Approved :: MIT No Attribution License (MIT-0)")]
711    License__OSIApproved__MITNoAttributionLicenseMIT0,
712    #[strum(
713        serialize = "License :: OSI Approved :: MITRE Collaborative Virtual Workspace License (CVW)"
714    )]
715    License__OSIApproved__MITRECollaborativeVirtualWorkspaceLicenseCVW,
716    #[strum(serialize = "License :: OSI Approved :: MirOS License (MirOS)")]
717    License__OSIApproved__MirOSLicenseMirOS,
718    #[strum(serialize = "License :: OSI Approved :: Motosoto License")]
719    License__OSIApproved__MotosotoLicense,
720    #[strum(serialize = "License :: OSI Approved :: Mozilla Public License 1.0 (MPL)")]
721    License__OSIApproved__MozillaPublicLicense1_0MPL,
722    #[strum(serialize = "License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)")]
723    License__OSIApproved__MozillaPublicLicense1_1MPL1_1,
724    #[strum(serialize = "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)")]
725    License__OSIApproved__MozillaPublicLicense2_0MPL2_0,
726    #[strum(
727        serialize = "License :: OSI Approved :: Mulan Permissive Software License v2 (MulanPSL-2.0)"
728    )]
729    License__OSIApproved__MulanPermissiveSoftwareLicensev2MulanPSL2_0,
730    #[strum(serialize = "License :: OSI Approved :: NASA Open Source Agreement v1.3 (NASA-1.3)")]
731    License__OSIApproved__NASAOpenSourceAgreementv1_3NASA1_3,
732    #[strum(serialize = "License :: OSI Approved :: Nethack General Public License")]
733    License__OSIApproved__NethackGeneralPublicLicense,
734    #[strum(serialize = "License :: OSI Approved :: Nokia Open Source License")]
735    License__OSIApproved__NokiaOpenSourceLicense,
736    #[strum(serialize = "License :: OSI Approved :: Open Group Test Suite License")]
737    License__OSIApproved__OpenGroupTestSuiteLicense,
738    #[strum(serialize = "License :: OSI Approved :: Open Software License 3.0 (OSL-3.0)")]
739    License__OSIApproved__OpenSoftwareLicense3_0OSL3_0,
740    #[strum(serialize = "License :: OSI Approved :: PostgreSQL License")]
741    License__OSIApproved__PostgreSQLLicense,
742    #[strum(serialize = "License :: OSI Approved :: Python License (CNRI Python License)")]
743    License__OSIApproved__PythonLicenseCNRIPythonLicense,
744    #[strum(serialize = "License :: OSI Approved :: Python Software Foundation License")]
745    License__OSIApproved__PythonSoftwareFoundationLicense,
746    #[strum(serialize = "License :: OSI Approved :: Qt Public License (QPL)")]
747    License__OSIApproved__QtPublicLicenseQPL,
748    #[strum(serialize = "License :: OSI Approved :: Ricoh Source Code Public License")]
749    License__OSIApproved__RicohSourceCodePublicLicense,
750    #[strum(serialize = "License :: OSI Approved :: SIL Open Font License 1.1 (OFL-1.1)")]
751    License__OSIApproved__SILOpenFontLicense1_1OFL1_1,
752    #[strum(serialize = "License :: OSI Approved :: Sleepycat License")]
753    License__OSIApproved__SleepycatLicense,
754    #[strum(
755        serialize = "License :: OSI Approved :: Sun Industry Standards Source License (SISSL)"
756    )]
757    License__OSIApproved__SunIndustryStandardsSourceLicenseSISSL,
758    #[strum(serialize = "License :: OSI Approved :: Sun Public License")]
759    License__OSIApproved__SunPublicLicense,
760    #[strum(serialize = "License :: OSI Approved :: The Unlicense (Unlicense)")]
761    License__OSIApproved__TheUnlicenseUnlicense,
762    #[strum(serialize = "License :: OSI Approved :: Universal Permissive License (UPL)")]
763    License__OSIApproved__UniversalPermissiveLicenseUPL,
764    #[strum(
765        serialize = "License :: OSI Approved :: University of Illinois/NCSA Open Source License"
766    )]
767    License__OSIApproved__UniversityofIllinoisNCSAOpenSourceLicense,
768    #[strum(serialize = "License :: OSI Approved :: Vovida Software License 1.0")]
769    License__OSIApproved__VovidaSoftwareLicense1_0,
770    #[strum(serialize = "License :: OSI Approved :: W3C License")]
771    License__OSIApproved__W3CLicense,
772    #[strum(serialize = "License :: OSI Approved :: X.Net License")]
773    License__OSIApproved__X_NetLicense,
774    #[strum(serialize = "License :: OSI Approved :: Zero-Clause BSD (0BSD)")]
775    License__OSIApproved__ZeroClauseBSD0BSD,
776    #[strum(serialize = "License :: OSI Approved :: Zope Public License")]
777    License__OSIApproved__ZopePublicLicense,
778    #[strum(serialize = "License :: OSI Approved :: zlib/libpng License")]
779    License__OSIApproved__zliblibpngLicense,
780    #[strum(serialize = "License :: Other/Proprietary License")]
781    License__OtherProprietaryLicense,
782    #[strum(serialize = "License :: Public Domain")]
783    License__PublicDomain,
784    #[strum(serialize = "License :: Repoze Public License")]
785    License__RepozePublicLicense,
786    #[strum(serialize = "Natural Language :: Afrikaans")]
787    NaturalLanguage__Afrikaans,
788    #[strum(serialize = "Natural Language :: Arabic")]
789    NaturalLanguage__Arabic,
790    #[strum(serialize = "Natural Language :: Basque")]
791    NaturalLanguage__Basque,
792    #[strum(serialize = "Natural Language :: Bengali")]
793    NaturalLanguage__Bengali,
794    #[strum(serialize = "Natural Language :: Bosnian")]
795    NaturalLanguage__Bosnian,
796    #[strum(serialize = "Natural Language :: Bulgarian")]
797    NaturalLanguage__Bulgarian,
798    #[strum(serialize = "Natural Language :: Cantonese")]
799    NaturalLanguage__Cantonese,
800    #[strum(serialize = "Natural Language :: Catalan")]
801    NaturalLanguage__Catalan,
802    #[strum(serialize = "Natural Language :: Catalan (Valencian)")]
803    NaturalLanguage__CatalanValencian,
804    #[strum(serialize = "Natural Language :: Chinese (Simplified)")]
805    NaturalLanguage__ChineseSimplified,
806    #[strum(serialize = "Natural Language :: Chinese (Traditional)")]
807    NaturalLanguage__ChineseTraditional,
808    #[strum(serialize = "Natural Language :: Croatian")]
809    NaturalLanguage__Croatian,
810    #[strum(serialize = "Natural Language :: Czech")]
811    NaturalLanguage__Czech,
812    #[strum(serialize = "Natural Language :: Danish")]
813    NaturalLanguage__Danish,
814    #[strum(serialize = "Natural Language :: Dutch")]
815    NaturalLanguage__Dutch,
816    #[strum(serialize = "Natural Language :: English")]
817    NaturalLanguage__English,
818    #[strum(serialize = "Natural Language :: Esperanto")]
819    NaturalLanguage__Esperanto,
820    #[strum(serialize = "Natural Language :: Finnish")]
821    NaturalLanguage__Finnish,
822    #[strum(serialize = "Natural Language :: French")]
823    NaturalLanguage__French,
824    #[strum(serialize = "Natural Language :: Galician")]
825    NaturalLanguage__Galician,
826    #[strum(serialize = "Natural Language :: Georgian")]
827    NaturalLanguage__Georgian,
828    #[strum(serialize = "Natural Language :: German")]
829    NaturalLanguage__German,
830    #[strum(serialize = "Natural Language :: Greek")]
831    NaturalLanguage__Greek,
832    #[strum(serialize = "Natural Language :: Hebrew")]
833    NaturalLanguage__Hebrew,
834    #[strum(serialize = "Natural Language :: Hindi")]
835    NaturalLanguage__Hindi,
836    #[strum(serialize = "Natural Language :: Hungarian")]
837    NaturalLanguage__Hungarian,
838    #[strum(serialize = "Natural Language :: Icelandic")]
839    NaturalLanguage__Icelandic,
840    #[strum(serialize = "Natural Language :: Indonesian")]
841    NaturalLanguage__Indonesian,
842    #[strum(serialize = "Natural Language :: Irish")]
843    NaturalLanguage__Irish,
844    #[strum(serialize = "Natural Language :: Italian")]
845    NaturalLanguage__Italian,
846    #[strum(serialize = "Natural Language :: Japanese")]
847    NaturalLanguage__Japanese,
848    #[strum(serialize = "Natural Language :: Javanese")]
849    NaturalLanguage__Javanese,
850    #[strum(serialize = "Natural Language :: Korean")]
851    NaturalLanguage__Korean,
852    #[strum(serialize = "Natural Language :: Latin")]
853    NaturalLanguage__Latin,
854    #[strum(serialize = "Natural Language :: Latvian")]
855    NaturalLanguage__Latvian,
856    #[strum(serialize = "Natural Language :: Lithuanian")]
857    NaturalLanguage__Lithuanian,
858    #[strum(serialize = "Natural Language :: Macedonian")]
859    NaturalLanguage__Macedonian,
860    #[strum(serialize = "Natural Language :: Malay")]
861    NaturalLanguage__Malay,
862    #[strum(serialize = "Natural Language :: Marathi")]
863    NaturalLanguage__Marathi,
864    #[strum(serialize = "Natural Language :: Nepali")]
865    NaturalLanguage__Nepali,
866    #[strum(serialize = "Natural Language :: Norwegian")]
867    NaturalLanguage__Norwegian,
868    #[strum(serialize = "Natural Language :: Panjabi")]
869    NaturalLanguage__Panjabi,
870    #[strum(serialize = "Natural Language :: Persian")]
871    NaturalLanguage__Persian,
872    #[strum(serialize = "Natural Language :: Polish")]
873    NaturalLanguage__Polish,
874    #[strum(serialize = "Natural Language :: Portuguese")]
875    NaturalLanguage__Portuguese,
876    #[strum(serialize = "Natural Language :: Portuguese (Brazilian)")]
877    NaturalLanguage__PortugueseBrazilian,
878    #[strum(serialize = "Natural Language :: Romanian")]
879    NaturalLanguage__Romanian,
880    #[strum(serialize = "Natural Language :: Russian")]
881    NaturalLanguage__Russian,
882    #[strum(serialize = "Natural Language :: Serbian")]
883    NaturalLanguage__Serbian,
884    #[strum(serialize = "Natural Language :: Slovak")]
885    NaturalLanguage__Slovak,
886    #[strum(serialize = "Natural Language :: Slovenian")]
887    NaturalLanguage__Slovenian,
888    #[strum(serialize = "Natural Language :: Spanish")]
889    NaturalLanguage__Spanish,
890    #[strum(serialize = "Natural Language :: Swedish")]
891    NaturalLanguage__Swedish,
892    #[strum(serialize = "Natural Language :: Tamil")]
893    NaturalLanguage__Tamil,
894    #[strum(serialize = "Natural Language :: Telugu")]
895    NaturalLanguage__Telugu,
896    #[strum(serialize = "Natural Language :: Thai")]
897    NaturalLanguage__Thai,
898    #[strum(serialize = "Natural Language :: Tibetan")]
899    NaturalLanguage__Tibetan,
900    #[strum(serialize = "Natural Language :: Turkish")]
901    NaturalLanguage__Turkish,
902    #[strum(serialize = "Natural Language :: Ukrainian")]
903    NaturalLanguage__Ukrainian,
904    #[strum(serialize = "Natural Language :: Urdu")]
905    NaturalLanguage__Urdu,
906    #[strum(serialize = "Natural Language :: Vietnamese")]
907    NaturalLanguage__Vietnamese,
908    #[strum(serialize = "Operating System :: Android")]
909    OperatingSystem__Android,
910    #[strum(serialize = "Operating System :: BeOS")]
911    OperatingSystem__BeOS,
912    #[strum(serialize = "Operating System :: MacOS")]
913    OperatingSystem__MacOS,
914    #[strum(serialize = "Operating System :: MacOS :: MacOS 9")]
915    OperatingSystem__MacOS__MacOS9,
916    #[strum(serialize = "Operating System :: MacOS :: MacOS X")]
917    OperatingSystem__MacOS__MacOSX,
918    #[strum(serialize = "Operating System :: Microsoft")]
919    OperatingSystem__Microsoft,
920    #[strum(serialize = "Operating System :: Microsoft :: MS-DOS")]
921    OperatingSystem__Microsoft__MSDOS,
922    #[strum(serialize = "Operating System :: Microsoft :: Windows")]
923    OperatingSystem__Microsoft__Windows,
924    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 3.1 or Earlier")]
925    OperatingSystem__Microsoft__Windows__Windows3_1orEarlier,
926    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 7")]
927    OperatingSystem__Microsoft__Windows__Windows7,
928    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 8")]
929    OperatingSystem__Microsoft__Windows__Windows8,
930    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 8.1")]
931    OperatingSystem__Microsoft__Windows__Windows8_1,
932    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 10")]
933    OperatingSystem__Microsoft__Windows__Windows10,
934    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 11")]
935    OperatingSystem__Microsoft__Windows__Windows11,
936    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows 95/98/2000")]
937    OperatingSystem__Microsoft__Windows__Windows95982000,
938    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows CE")]
939    OperatingSystem__Microsoft__Windows__WindowsCE,
940    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows NT/2000")]
941    OperatingSystem__Microsoft__Windows__WindowsNT2000,
942    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows Server 2003")]
943    OperatingSystem__Microsoft__Windows__WindowsServer2003,
944    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows Server 2008")]
945    OperatingSystem__Microsoft__Windows__WindowsServer2008,
946    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows Vista")]
947    OperatingSystem__Microsoft__Windows__WindowsVista,
948    #[strum(serialize = "Operating System :: Microsoft :: Windows :: Windows XP")]
949    OperatingSystem__Microsoft__Windows__WindowsXP,
950    #[strum(serialize = "Operating System :: OS Independent")]
951    OperatingSystem__OSIndependent,
952    #[strum(serialize = "Operating System :: OS/2")]
953    OperatingSystem__OS2,
954    #[strum(serialize = "Operating System :: Other OS")]
955    OperatingSystem__OtherOS,
956    #[strum(serialize = "Operating System :: PDA Systems")]
957    OperatingSystem__PDASystems,
958    #[strum(serialize = "Operating System :: POSIX")]
959    OperatingSystem__POSIX,
960    #[strum(serialize = "Operating System :: POSIX :: AIX")]
961    OperatingSystem__POSIX__AIX,
962    #[strum(serialize = "Operating System :: POSIX :: BSD")]
963    OperatingSystem__POSIX__BSD,
964    #[strum(serialize = "Operating System :: POSIX :: BSD :: BSD/OS")]
965    OperatingSystem__POSIX__BSD__BSDOS,
966    #[strum(serialize = "Operating System :: POSIX :: BSD :: FreeBSD")]
967    OperatingSystem__POSIX__BSD__FreeBSD,
968    #[strum(serialize = "Operating System :: POSIX :: BSD :: NetBSD")]
969    OperatingSystem__POSIX__BSD__NetBSD,
970    #[strum(serialize = "Operating System :: POSIX :: BSD :: OpenBSD")]
971    OperatingSystem__POSIX__BSD__OpenBSD,
972    #[strum(serialize = "Operating System :: POSIX :: GNU Hurd")]
973    OperatingSystem__POSIX__GNUHurd,
974    #[strum(serialize = "Operating System :: POSIX :: HP-UX")]
975    OperatingSystem__POSIX__HPUX,
976    #[strum(serialize = "Operating System :: POSIX :: IRIX")]
977    OperatingSystem__POSIX__IRIX,
978    #[strum(serialize = "Operating System :: POSIX :: Linux")]
979    OperatingSystem__POSIX__Linux,
980    #[strum(serialize = "Operating System :: POSIX :: Other")]
981    OperatingSystem__POSIX__Other,
982    #[strum(serialize = "Operating System :: POSIX :: SCO")]
983    OperatingSystem__POSIX__SCO,
984    #[strum(serialize = "Operating System :: POSIX :: SunOS/Solaris")]
985    OperatingSystem__POSIX__SunOSSolaris,
986    #[strum(serialize = "Operating System :: PalmOS")]
987    OperatingSystem__PalmOS,
988    #[strum(serialize = "Operating System :: RISC OS")]
989    OperatingSystem__RISCOS,
990    #[strum(serialize = "Operating System :: Unix")]
991    OperatingSystem__Unix,
992    #[strum(serialize = "Operating System :: iOS")]
993    OperatingSystem__iOS,
994    #[strum(serialize = "Programming Language :: APL")]
995    ProgrammingLanguage__APL,
996    #[strum(serialize = "Programming Language :: ASP")]
997    ProgrammingLanguage__ASP,
998    #[strum(serialize = "Programming Language :: Ada")]
999    ProgrammingLanguage__Ada,
1000    #[strum(serialize = "Programming Language :: Assembly")]
1001    ProgrammingLanguage__Assembly,
1002    #[strum(serialize = "Programming Language :: Awk")]
1003    ProgrammingLanguage__Awk,
1004    #[strum(serialize = "Programming Language :: Basic")]
1005    ProgrammingLanguage__Basic,
1006    #[strum(serialize = "Programming Language :: C")]
1007    ProgrammingLanguage__C,
1008    #[strum(serialize = "Programming Language :: C#")]
1009    ProgrammingLanguage__Csharp,
1010    #[strum(serialize = "Programming Language :: C++")]
1011    ProgrammingLanguage__Cplusplus,
1012    #[strum(serialize = "Programming Language :: Cold Fusion")]
1013    ProgrammingLanguage__ColdFusion,
1014    #[strum(serialize = "Programming Language :: Cython")]
1015    ProgrammingLanguage__Cython,
1016    #[strum(serialize = "Programming Language :: D")]
1017    ProgrammingLanguage__D,
1018    #[strum(serialize = "Programming Language :: Delphi/Kylix")]
1019    ProgrammingLanguage__DelphiKylix,
1020    #[strum(serialize = "Programming Language :: Dylan")]
1021    ProgrammingLanguage__Dylan,
1022    #[strum(serialize = "Programming Language :: Eiffel")]
1023    ProgrammingLanguage__Eiffel,
1024    #[strum(serialize = "Programming Language :: Emacs-Lisp")]
1025    ProgrammingLanguage__EmacsLisp,
1026    #[strum(serialize = "Programming Language :: Erlang")]
1027    ProgrammingLanguage__Erlang,
1028    #[strum(serialize = "Programming Language :: Euler")]
1029    ProgrammingLanguage__Euler,
1030    #[strum(serialize = "Programming Language :: Euphoria")]
1031    ProgrammingLanguage__Euphoria,
1032    #[strum(serialize = "Programming Language :: F#")]
1033    ProgrammingLanguage__Fsharp,
1034    #[strum(serialize = "Programming Language :: Forth")]
1035    ProgrammingLanguage__Forth,
1036    #[strum(serialize = "Programming Language :: Fortran")]
1037    ProgrammingLanguage__Fortran,
1038    #[strum(serialize = "Programming Language :: Go")]
1039    ProgrammingLanguage__Go,
1040    #[strum(serialize = "Programming Language :: Haskell")]
1041    ProgrammingLanguage__Haskell,
1042    #[strum(serialize = "Programming Language :: Hy")]
1043    ProgrammingLanguage__Hy,
1044    #[strum(serialize = "Programming Language :: Java")]
1045    ProgrammingLanguage__Java,
1046    #[strum(serialize = "Programming Language :: JavaScript")]
1047    ProgrammingLanguage__JavaScript,
1048    #[strum(serialize = "Programming Language :: Kotlin")]
1049    ProgrammingLanguage__Kotlin,
1050    #[strum(serialize = "Programming Language :: Lisp")]
1051    ProgrammingLanguage__Lisp,
1052    #[strum(serialize = "Programming Language :: Logo")]
1053    ProgrammingLanguage__Logo,
1054    #[strum(serialize = "Programming Language :: Lua")]
1055    ProgrammingLanguage__Lua,
1056    #[strum(serialize = "Programming Language :: ML")]
1057    ProgrammingLanguage__ML,
1058    #[strum(serialize = "Programming Language :: Modula")]
1059    ProgrammingLanguage__Modula,
1060    #[strum(serialize = "Programming Language :: OCaml")]
1061    ProgrammingLanguage__OCaml,
1062    #[strum(serialize = "Programming Language :: Object Pascal")]
1063    ProgrammingLanguage__ObjectPascal,
1064    #[strum(serialize = "Programming Language :: Objective C")]
1065    ProgrammingLanguage__ObjectiveC,
1066    #[strum(serialize = "Programming Language :: Other")]
1067    ProgrammingLanguage__Other,
1068    #[strum(serialize = "Programming Language :: Other Scripting Engines")]
1069    ProgrammingLanguage__OtherScriptingEngines,
1070    #[strum(serialize = "Programming Language :: PHP")]
1071    ProgrammingLanguage__PHP,
1072    #[strum(serialize = "Programming Language :: PL/SQL")]
1073    ProgrammingLanguage__PLSQL,
1074    #[strum(serialize = "Programming Language :: PROGRESS")]
1075    ProgrammingLanguage__PROGRESS,
1076    #[strum(serialize = "Programming Language :: Pascal")]
1077    ProgrammingLanguage__Pascal,
1078    #[strum(serialize = "Programming Language :: Perl")]
1079    ProgrammingLanguage__Perl,
1080    #[strum(serialize = "Programming Language :: Pike")]
1081    ProgrammingLanguage__Pike,
1082    #[strum(serialize = "Programming Language :: Pliant")]
1083    ProgrammingLanguage__Pliant,
1084    #[strum(serialize = "Programming Language :: Prolog")]
1085    ProgrammingLanguage__Prolog,
1086    #[strum(serialize = "Programming Language :: Python")]
1087    ProgrammingLanguage__Python,
1088    #[strum(serialize = "Programming Language :: Python :: 2")]
1089    ProgrammingLanguage__Python__2,
1090    #[strum(serialize = "Programming Language :: Python :: 2 :: Only")]
1091    ProgrammingLanguage__Python__2__Only,
1092    #[strum(serialize = "Programming Language :: Python :: 2.3")]
1093    ProgrammingLanguage__Python__2_3,
1094    #[strum(serialize = "Programming Language :: Python :: 2.4")]
1095    ProgrammingLanguage__Python__2_4,
1096    #[strum(serialize = "Programming Language :: Python :: 2.5")]
1097    ProgrammingLanguage__Python__2_5,
1098    #[strum(serialize = "Programming Language :: Python :: 2.6")]
1099    ProgrammingLanguage__Python__2_6,
1100    #[strum(serialize = "Programming Language :: Python :: 2.7")]
1101    ProgrammingLanguage__Python__2_7,
1102    #[strum(serialize = "Programming Language :: Python :: 3")]
1103    ProgrammingLanguage__Python__3,
1104    #[strum(serialize = "Programming Language :: Python :: 3 :: Only")]
1105    ProgrammingLanguage__Python__3__Only,
1106    #[strum(serialize = "Programming Language :: Python :: 3.0")]
1107    ProgrammingLanguage__Python__3_0,
1108    #[strum(serialize = "Programming Language :: Python :: 3.1")]
1109    ProgrammingLanguage__Python__3_1,
1110    #[strum(serialize = "Programming Language :: Python :: 3.2")]
1111    ProgrammingLanguage__Python__3_2,
1112    #[strum(serialize = "Programming Language :: Python :: 3.3")]
1113    ProgrammingLanguage__Python__3_3,
1114    #[strum(serialize = "Programming Language :: Python :: 3.4")]
1115    ProgrammingLanguage__Python__3_4,
1116    #[strum(serialize = "Programming Language :: Python :: 3.5")]
1117    ProgrammingLanguage__Python__3_5,
1118    #[strum(serialize = "Programming Language :: Python :: 3.6")]
1119    ProgrammingLanguage__Python__3_6,
1120    #[strum(serialize = "Programming Language :: Python :: 3.7")]
1121    ProgrammingLanguage__Python__3_7,
1122    #[strum(serialize = "Programming Language :: Python :: 3.8")]
1123    ProgrammingLanguage__Python__3_8,
1124    #[strum(serialize = "Programming Language :: Python :: 3.9")]
1125    ProgrammingLanguage__Python__3_9,
1126    #[strum(serialize = "Programming Language :: Python :: 3.10")]
1127    ProgrammingLanguage__Python__3_10,
1128    #[strum(serialize = "Programming Language :: Python :: 3.11")]
1129    ProgrammingLanguage__Python__3_11,
1130    #[strum(serialize = "Programming Language :: Python :: 3.12")]
1131    ProgrammingLanguage__Python__3_12,
1132    #[strum(serialize = "Programming Language :: Python :: 3.13")]
1133    ProgrammingLanguage__Python__3_13,
1134    #[strum(serialize = "Programming Language :: Python :: 3.14")]
1135    ProgrammingLanguage__Python__3_14,
1136    #[strum(serialize = "Programming Language :: Python :: Implementation")]
1137    ProgrammingLanguage__Python__Implementation,
1138    #[strum(serialize = "Programming Language :: Python :: Implementation :: CPython")]
1139    ProgrammingLanguage__Python__Implementation__CPython,
1140    #[strum(serialize = "Programming Language :: Python :: Implementation :: IronPython")]
1141    ProgrammingLanguage__Python__Implementation__IronPython,
1142    #[strum(serialize = "Programming Language :: Python :: Implementation :: Jython")]
1143    ProgrammingLanguage__Python__Implementation__Jython,
1144    #[strum(serialize = "Programming Language :: Python :: Implementation :: MicroPython")]
1145    ProgrammingLanguage__Python__Implementation__MicroPython,
1146    #[strum(serialize = "Programming Language :: Python :: Implementation :: PyPy")]
1147    ProgrammingLanguage__Python__Implementation__PyPy,
1148    #[strum(serialize = "Programming Language :: Python :: Implementation :: Stackless")]
1149    ProgrammingLanguage__Python__Implementation__Stackless,
1150    #[strum(serialize = "Programming Language :: R")]
1151    ProgrammingLanguage__R,
1152    #[strum(serialize = "Programming Language :: REBOL")]
1153    ProgrammingLanguage__REBOL,
1154    #[strum(serialize = "Programming Language :: Rexx")]
1155    ProgrammingLanguage__Rexx,
1156    #[strum(serialize = "Programming Language :: Ruby")]
1157    ProgrammingLanguage__Ruby,
1158    #[strum(serialize = "Programming Language :: Rust")]
1159    ProgrammingLanguage__Rust,
1160    #[strum(serialize = "Programming Language :: SQL")]
1161    ProgrammingLanguage__SQL,
1162    #[strum(serialize = "Programming Language :: Scheme")]
1163    ProgrammingLanguage__Scheme,
1164    #[strum(serialize = "Programming Language :: Simula")]
1165    ProgrammingLanguage__Simula,
1166    #[strum(serialize = "Programming Language :: Smalltalk")]
1167    ProgrammingLanguage__Smalltalk,
1168    #[strum(serialize = "Programming Language :: Tcl")]
1169    ProgrammingLanguage__Tcl,
1170    #[strum(serialize = "Programming Language :: Unix Shell")]
1171    ProgrammingLanguage__UnixShell,
1172    #[strum(serialize = "Programming Language :: Visual Basic")]
1173    ProgrammingLanguage__VisualBasic,
1174    #[strum(serialize = "Programming Language :: XBasic")]
1175    ProgrammingLanguage__XBasic,
1176    #[strum(serialize = "Programming Language :: YACC")]
1177    ProgrammingLanguage__YACC,
1178    #[strum(serialize = "Programming Language :: Zope")]
1179    ProgrammingLanguage__Zope,
1180    #[strum(serialize = "Topic :: Adaptive Technologies")]
1181    Topic__AdaptiveTechnologies,
1182    #[strum(serialize = "Topic :: Artistic Software")]
1183    Topic__ArtisticSoftware,
1184    #[strum(serialize = "Topic :: Communications")]
1185    Topic__Communications,
1186    #[strum(serialize = "Topic :: Communications :: BBS")]
1187    Topic__Communications__BBS,
1188    #[strum(serialize = "Topic :: Communications :: Chat")]
1189    Topic__Communications__Chat,
1190    #[strum(serialize = "Topic :: Communications :: Chat :: ICQ")]
1191    Topic__Communications__Chat__ICQ,
1192    #[strum(serialize = "Topic :: Communications :: Chat :: Internet Relay Chat")]
1193    Topic__Communications__Chat__InternetRelayChat,
1194    #[strum(serialize = "Topic :: Communications :: Chat :: Unix Talk")]
1195    Topic__Communications__Chat__UnixTalk,
1196    #[strum(serialize = "Topic :: Communications :: Conferencing")]
1197    Topic__Communications__Conferencing,
1198    #[strum(serialize = "Topic :: Communications :: Email")]
1199    Topic__Communications__Email,
1200    #[strum(serialize = "Topic :: Communications :: Email :: Address Book")]
1201    Topic__Communications__Email__AddressBook,
1202    #[strum(serialize = "Topic :: Communications :: Email :: Email Clients (MUA)")]
1203    Topic__Communications__Email__EmailClientsMUA,
1204    #[strum(serialize = "Topic :: Communications :: Email :: Filters")]
1205    Topic__Communications__Email__Filters,
1206    #[strum(serialize = "Topic :: Communications :: Email :: Mail Transport Agents")]
1207    Topic__Communications__Email__MailTransportAgents,
1208    #[strum(serialize = "Topic :: Communications :: Email :: Mailing List Servers")]
1209    Topic__Communications__Email__MailingListServers,
1210    #[strum(serialize = "Topic :: Communications :: Email :: Post-Office")]
1211    Topic__Communications__Email__PostOffice,
1212    #[strum(serialize = "Topic :: Communications :: Email :: Post-Office :: IMAP")]
1213    Topic__Communications__Email__PostOffice__IMAP,
1214    #[strum(serialize = "Topic :: Communications :: Email :: Post-Office :: POP3")]
1215    Topic__Communications__Email__PostOffice__POP3,
1216    #[strum(serialize = "Topic :: Communications :: FIDO")]
1217    Topic__Communications__FIDO,
1218    #[strum(serialize = "Topic :: Communications :: Fax")]
1219    Topic__Communications__Fax,
1220    #[strum(serialize = "Topic :: Communications :: File Sharing")]
1221    Topic__Communications__FileSharing,
1222    #[strum(serialize = "Topic :: Communications :: File Sharing :: Gnutella")]
1223    Topic__Communications__FileSharing__Gnutella,
1224    #[strum(serialize = "Topic :: Communications :: File Sharing :: Napster")]
1225    Topic__Communications__FileSharing__Napster,
1226    #[strum(serialize = "Topic :: Communications :: Ham Radio")]
1227    Topic__Communications__HamRadio,
1228    #[strum(serialize = "Topic :: Communications :: Internet Phone")]
1229    Topic__Communications__InternetPhone,
1230    #[strum(serialize = "Topic :: Communications :: Telephony")]
1231    Topic__Communications__Telephony,
1232    #[strum(serialize = "Topic :: Communications :: Usenet News")]
1233    Topic__Communications__UsenetNews,
1234    #[strum(serialize = "Topic :: Database")]
1235    Topic__Database,
1236    #[strum(serialize = "Topic :: Database :: Database Engines/Servers")]
1237    Topic__Database__DatabaseEnginesServers,
1238    #[strum(serialize = "Topic :: Database :: Front-Ends")]
1239    Topic__Database__FrontEnds,
1240    #[strum(serialize = "Topic :: Desktop Environment")]
1241    Topic__DesktopEnvironment,
1242    #[strum(serialize = "Topic :: Desktop Environment :: File Managers")]
1243    Topic__DesktopEnvironment__FileManagers,
1244    #[strum(serialize = "Topic :: Desktop Environment :: GNUstep")]
1245    Topic__DesktopEnvironment__GNUstep,
1246    #[strum(serialize = "Topic :: Desktop Environment :: Gnome")]
1247    Topic__DesktopEnvironment__Gnome,
1248    #[strum(serialize = "Topic :: Desktop Environment :: K Desktop Environment (KDE)")]
1249    Topic__DesktopEnvironment__KDesktopEnvironmentKDE,
1250    #[strum(serialize = "Topic :: Desktop Environment :: K Desktop Environment (KDE) :: Themes")]
1251    Topic__DesktopEnvironment__KDesktopEnvironmentKDE__Themes,
1252    #[strum(serialize = "Topic :: Desktop Environment :: PicoGUI")]
1253    Topic__DesktopEnvironment__PicoGUI,
1254    #[strum(serialize = "Topic :: Desktop Environment :: PicoGUI :: Applications")]
1255    Topic__DesktopEnvironment__PicoGUI__Applications,
1256    #[strum(serialize = "Topic :: Desktop Environment :: PicoGUI :: Themes")]
1257    Topic__DesktopEnvironment__PicoGUI__Themes,
1258    #[strum(serialize = "Topic :: Desktop Environment :: Screen Savers")]
1259    Topic__DesktopEnvironment__ScreenSavers,
1260    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers")]
1261    Topic__DesktopEnvironment__WindowManagers,
1262    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Afterstep")]
1263    Topic__DesktopEnvironment__WindowManagers__Afterstep,
1264    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Afterstep :: Themes")]
1265    Topic__DesktopEnvironment__WindowManagers__Afterstep__Themes,
1266    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Applets")]
1267    Topic__DesktopEnvironment__WindowManagers__Applets,
1268    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Blackbox")]
1269    Topic__DesktopEnvironment__WindowManagers__Blackbox,
1270    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Blackbox :: Themes")]
1271    Topic__DesktopEnvironment__WindowManagers__Blackbox__Themes,
1272    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: CTWM")]
1273    Topic__DesktopEnvironment__WindowManagers__CTWM,
1274    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: CTWM :: Themes")]
1275    Topic__DesktopEnvironment__WindowManagers__CTWM__Themes,
1276    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Enlightenment")]
1277    Topic__DesktopEnvironment__WindowManagers__Enlightenment,
1278    #[strum(
1279        serialize = "Topic :: Desktop Environment :: Window Managers :: Enlightenment :: Epplets"
1280    )]
1281    Topic__DesktopEnvironment__WindowManagers__Enlightenment__Epplets,
1282    #[strum(
1283        serialize = "Topic :: Desktop Environment :: Window Managers :: Enlightenment :: Themes DR15"
1284    )]
1285    Topic__DesktopEnvironment__WindowManagers__Enlightenment__ThemesDR15,
1286    #[strum(
1287        serialize = "Topic :: Desktop Environment :: Window Managers :: Enlightenment :: Themes DR16"
1288    )]
1289    Topic__DesktopEnvironment__WindowManagers__Enlightenment__ThemesDR16,
1290    #[strum(
1291        serialize = "Topic :: Desktop Environment :: Window Managers :: Enlightenment :: Themes DR17"
1292    )]
1293    Topic__DesktopEnvironment__WindowManagers__Enlightenment__ThemesDR17,
1294    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: FVWM")]
1295    Topic__DesktopEnvironment__WindowManagers__FVWM,
1296    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: FVWM :: Themes")]
1297    Topic__DesktopEnvironment__WindowManagers__FVWM__Themes,
1298    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Fluxbox")]
1299    Topic__DesktopEnvironment__WindowManagers__Fluxbox,
1300    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Fluxbox :: Themes")]
1301    Topic__DesktopEnvironment__WindowManagers__Fluxbox__Themes,
1302    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: IceWM")]
1303    Topic__DesktopEnvironment__WindowManagers__IceWM,
1304    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: IceWM :: Themes")]
1305    Topic__DesktopEnvironment__WindowManagers__IceWM__Themes,
1306    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: MetaCity")]
1307    Topic__DesktopEnvironment__WindowManagers__MetaCity,
1308    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: MetaCity :: Themes")]
1309    Topic__DesktopEnvironment__WindowManagers__MetaCity__Themes,
1310    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Oroborus")]
1311    Topic__DesktopEnvironment__WindowManagers__Oroborus,
1312    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Oroborus :: Themes")]
1313    Topic__DesktopEnvironment__WindowManagers__Oroborus__Themes,
1314    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Sawfish")]
1315    Topic__DesktopEnvironment__WindowManagers__Sawfish,
1316    #[strum(
1317        serialize = "Topic :: Desktop Environment :: Window Managers :: Sawfish :: Themes 0.30"
1318    )]
1319    Topic__DesktopEnvironment__WindowManagers__Sawfish__Themes0_30,
1320    #[strum(
1321        serialize = "Topic :: Desktop Environment :: Window Managers :: Sawfish :: Themes pre-0.30"
1322    )]
1323    Topic__DesktopEnvironment__WindowManagers__Sawfish__Themespre0_30,
1324    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Waimea")]
1325    Topic__DesktopEnvironment__WindowManagers__Waimea,
1326    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Waimea :: Themes")]
1327    Topic__DesktopEnvironment__WindowManagers__Waimea__Themes,
1328    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: Window Maker")]
1329    Topic__DesktopEnvironment__WindowManagers__WindowMaker,
1330    #[strum(
1331        serialize = "Topic :: Desktop Environment :: Window Managers :: Window Maker :: Applets"
1332    )]
1333    Topic__DesktopEnvironment__WindowManagers__WindowMaker__Applets,
1334    #[strum(
1335        serialize = "Topic :: Desktop Environment :: Window Managers :: Window Maker :: Themes"
1336    )]
1337    Topic__DesktopEnvironment__WindowManagers__WindowMaker__Themes,
1338    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: XFCE")]
1339    Topic__DesktopEnvironment__WindowManagers__XFCE,
1340    #[strum(serialize = "Topic :: Desktop Environment :: Window Managers :: XFCE :: Themes")]
1341    Topic__DesktopEnvironment__WindowManagers__XFCE__Themes,
1342    #[strum(serialize = "Topic :: Documentation")]
1343    Topic__Documentation,
1344    #[strum(serialize = "Topic :: Documentation :: Sphinx")]
1345    Topic__Documentation__Sphinx,
1346    #[strum(serialize = "Topic :: Education")]
1347    Topic__Education,
1348    #[strum(serialize = "Topic :: Education :: Computer Aided Instruction (CAI)")]
1349    Topic__Education__ComputerAidedInstructionCAI,
1350    #[strum(serialize = "Topic :: Education :: Testing")]
1351    Topic__Education__Testing,
1352    #[strum(serialize = "Topic :: File Formats")]
1353    Topic__FileFormats,
1354    #[strum(serialize = "Topic :: File Formats :: JSON")]
1355    Topic__FileFormats__JSON,
1356    #[strum(serialize = "Topic :: File Formats :: JSON :: JSON Schema")]
1357    Topic__FileFormats__JSON__JSONSchema,
1358    #[strum(serialize = "Topic :: Games/Entertainment")]
1359    Topic__GamesEntertainment,
1360    #[strum(serialize = "Topic :: Games/Entertainment :: Arcade")]
1361    Topic__GamesEntertainment__Arcade,
1362    #[strum(serialize = "Topic :: Games/Entertainment :: Board Games")]
1363    Topic__GamesEntertainment__BoardGames,
1364    #[strum(serialize = "Topic :: Games/Entertainment :: First Person Shooters")]
1365    Topic__GamesEntertainment__FirstPersonShooters,
1366    #[strum(serialize = "Topic :: Games/Entertainment :: Fortune Cookies")]
1367    Topic__GamesEntertainment__FortuneCookies,
1368    #[strum(serialize = "Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)")]
1369    Topic__GamesEntertainment__MultiUserDungeonsMUD,
1370    #[strum(serialize = "Topic :: Games/Entertainment :: Puzzle Games")]
1371    Topic__GamesEntertainment__PuzzleGames,
1372    #[strum(serialize = "Topic :: Games/Entertainment :: Real Time Strategy")]
1373    Topic__GamesEntertainment__RealTimeStrategy,
1374    #[strum(serialize = "Topic :: Games/Entertainment :: Role-Playing")]
1375    Topic__GamesEntertainment__RolePlaying,
1376    #[strum(serialize = "Topic :: Games/Entertainment :: Side-Scrolling/Arcade Games")]
1377    Topic__GamesEntertainment__SideScrollingArcadeGames,
1378    #[strum(serialize = "Topic :: Games/Entertainment :: Simulation")]
1379    Topic__GamesEntertainment__Simulation,
1380    #[strum(serialize = "Topic :: Games/Entertainment :: Turn Based Strategy")]
1381    Topic__GamesEntertainment__TurnBasedStrategy,
1382    #[strum(serialize = "Topic :: Home Automation")]
1383    Topic__HomeAutomation,
1384    #[strum(serialize = "Topic :: Internet")]
1385    Topic__Internet,
1386    #[strum(serialize = "Topic :: Internet :: File Transfer Protocol (FTP)")]
1387    Topic__Internet__FileTransferProtocolFTP,
1388    #[strum(serialize = "Topic :: Internet :: Finger")]
1389    Topic__Internet__Finger,
1390    #[strum(serialize = "Topic :: Internet :: Log Analysis")]
1391    Topic__Internet__LogAnalysis,
1392    #[strum(serialize = "Topic :: Internet :: Name Service (DNS)")]
1393    Topic__Internet__NameServiceDNS,
1394    #[strum(serialize = "Topic :: Internet :: Proxy Servers")]
1395    Topic__Internet__ProxyServers,
1396    #[strum(serialize = "Topic :: Internet :: WAP")]
1397    Topic__Internet__WAP,
1398    #[strum(serialize = "Topic :: Internet :: WWW/HTTP")]
1399    Topic__Internet__WWWHTTP,
1400    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Browsers")]
1401    Topic__Internet__WWWHTTP__Browsers,
1402    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content")]
1403    Topic__Internet__WWWHTTP__DynamicContent,
1404    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries")]
1405    Topic__Internet__WWWHTTP__DynamicContent__CGIToolsLibraries,
1406    #[strum(
1407        serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Content Management System"
1408    )]
1409    Topic__Internet__WWWHTTP__DynamicContent__ContentManagementSystem,
1410    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Message Boards")]
1411    Topic__Internet__WWWHTTP__DynamicContent__MessageBoards,
1412    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary")]
1413    Topic__Internet__WWWHTTP__DynamicContent__NewsDiary,
1414    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Page Counters")]
1415    Topic__Internet__WWWHTTP__DynamicContent__PageCounters,
1416    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Wiki")]
1417    Topic__Internet__WWWHTTP__DynamicContent__Wiki,
1418    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: HTTP Servers")]
1419    Topic__Internet__WWWHTTP__HTTPServers,
1420    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Indexing/Search")]
1421    Topic__Internet__WWWHTTP__IndexingSearch,
1422    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Session")]
1423    Topic__Internet__WWWHTTP__Session,
1424    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Site Management")]
1425    Topic__Internet__WWWHTTP__SiteManagement,
1426    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: Site Management :: Link Checking")]
1427    Topic__Internet__WWWHTTP__SiteManagement__LinkChecking,
1428    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: WSGI")]
1429    Topic__Internet__WWWHTTP__WSGI,
1430    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: WSGI :: Application")]
1431    Topic__Internet__WWWHTTP__WSGI__Application,
1432    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware")]
1433    Topic__Internet__WWWHTTP__WSGI__Middleware,
1434    #[strum(serialize = "Topic :: Internet :: WWW/HTTP :: WSGI :: Server")]
1435    Topic__Internet__WWWHTTP__WSGI__Server,
1436    #[strum(serialize = "Topic :: Internet :: XMPP")]
1437    Topic__Internet__XMPP,
1438    #[strum(serialize = "Topic :: Internet :: Z39.50")]
1439    Topic__Internet__Z39_50,
1440    #[strum(serialize = "Topic :: Multimedia")]
1441    Topic__Multimedia,
1442    #[strum(serialize = "Topic :: Multimedia :: Graphics")]
1443    Topic__Multimedia__Graphics,
1444    #[strum(serialize = "Topic :: Multimedia :: Graphics :: 3D Modeling")]
1445    Topic__Multimedia__Graphics__3DModeling,
1446    #[strum(serialize = "Topic :: Multimedia :: Graphics :: 3D Rendering")]
1447    Topic__Multimedia__Graphics__3DRendering,
1448    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Capture")]
1449    Topic__Multimedia__Graphics__Capture,
1450    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Capture :: Digital Camera")]
1451    Topic__Multimedia__Graphics__Capture__DigitalCamera,
1452    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Capture :: Scanners")]
1453    Topic__Multimedia__Graphics__Capture__Scanners,
1454    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Capture :: Screen Capture")]
1455    Topic__Multimedia__Graphics__Capture__ScreenCapture,
1456    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Editors")]
1457    Topic__Multimedia__Graphics__Editors,
1458    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Editors :: Raster-Based")]
1459    Topic__Multimedia__Graphics__Editors__RasterBased,
1460    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Editors :: Vector-Based")]
1461    Topic__Multimedia__Graphics__Editors__VectorBased,
1462    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Graphics Conversion")]
1463    Topic__Multimedia__Graphics__GraphicsConversion,
1464    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Presentation")]
1465    Topic__Multimedia__Graphics__Presentation,
1466    #[strum(serialize = "Topic :: Multimedia :: Graphics :: Viewers")]
1467    Topic__Multimedia__Graphics__Viewers,
1468    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio")]
1469    Topic__Multimedia__SoundAudio,
1470    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Analysis")]
1471    Topic__Multimedia__SoundAudio__Analysis,
1472    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: CD Audio")]
1473    Topic__Multimedia__SoundAudio__CDAudio,
1474    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: CD Audio :: CD Playing")]
1475    Topic__Multimedia__SoundAudio__CDAudio__CDPlaying,
1476    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: CD Audio :: CD Ripping")]
1477    Topic__Multimedia__SoundAudio__CDAudio__CDRipping,
1478    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: CD Audio :: CD Writing")]
1479    Topic__Multimedia__SoundAudio__CDAudio__CDWriting,
1480    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Capture/Recording")]
1481    Topic__Multimedia__SoundAudio__CaptureRecording,
1482    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Conversion")]
1483    Topic__Multimedia__SoundAudio__Conversion,
1484    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Editors")]
1485    Topic__Multimedia__SoundAudio__Editors,
1486    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: MIDI")]
1487    Topic__Multimedia__SoundAudio__MIDI,
1488    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Mixers")]
1489    Topic__Multimedia__SoundAudio__Mixers,
1490    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Players")]
1491    Topic__Multimedia__SoundAudio__Players,
1492    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Players :: MP3")]
1493    Topic__Multimedia__SoundAudio__Players__MP3,
1494    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Sound Synthesis")]
1495    Topic__Multimedia__SoundAudio__SoundSynthesis,
1496    #[strum(serialize = "Topic :: Multimedia :: Sound/Audio :: Speech")]
1497    Topic__Multimedia__SoundAudio__Speech,
1498    #[strum(serialize = "Topic :: Multimedia :: Video")]
1499    Topic__Multimedia__Video,
1500    #[strum(serialize = "Topic :: Multimedia :: Video :: Capture")]
1501    Topic__Multimedia__Video__Capture,
1502    #[strum(serialize = "Topic :: Multimedia :: Video :: Conversion")]
1503    Topic__Multimedia__Video__Conversion,
1504    #[strum(serialize = "Topic :: Multimedia :: Video :: Display")]
1505    Topic__Multimedia__Video__Display,
1506    #[strum(serialize = "Topic :: Multimedia :: Video :: Non-Linear Editor")]
1507    Topic__Multimedia__Video__NonLinearEditor,
1508    #[strum(serialize = "Topic :: Office/Business")]
1509    Topic__OfficeBusiness,
1510    #[strum(serialize = "Topic :: Office/Business :: Financial")]
1511    Topic__OfficeBusiness__Financial,
1512    #[strum(serialize = "Topic :: Office/Business :: Financial :: Accounting")]
1513    Topic__OfficeBusiness__Financial__Accounting,
1514    #[strum(serialize = "Topic :: Office/Business :: Financial :: Investment")]
1515    Topic__OfficeBusiness__Financial__Investment,
1516    #[strum(serialize = "Topic :: Office/Business :: Financial :: Point-Of-Sale")]
1517    Topic__OfficeBusiness__Financial__PointOfSale,
1518    #[strum(serialize = "Topic :: Office/Business :: Financial :: Spreadsheet")]
1519    Topic__OfficeBusiness__Financial__Spreadsheet,
1520    #[strum(serialize = "Topic :: Office/Business :: Groupware")]
1521    Topic__OfficeBusiness__Groupware,
1522    #[strum(serialize = "Topic :: Office/Business :: News/Diary")]
1523    Topic__OfficeBusiness__NewsDiary,
1524    #[strum(serialize = "Topic :: Office/Business :: Office Suites")]
1525    Topic__OfficeBusiness__OfficeSuites,
1526    #[strum(serialize = "Topic :: Office/Business :: Scheduling")]
1527    Topic__OfficeBusiness__Scheduling,
1528    #[strum(serialize = "Topic :: Other/Nonlisted Topic")]
1529    Topic__OtherNonlistedTopic,
1530    #[strum(serialize = "Topic :: Printing")]
1531    Topic__Printing,
1532    #[strum(serialize = "Topic :: Religion")]
1533    Topic__Religion,
1534    #[strum(serialize = "Topic :: Scientific/Engineering")]
1535    Topic__ScientificEngineering,
1536    #[strum(serialize = "Topic :: Scientific/Engineering :: Artificial Intelligence")]
1537    Topic__ScientificEngineering__ArtificialIntelligence,
1538    #[strum(serialize = "Topic :: Scientific/Engineering :: Artificial Life")]
1539    Topic__ScientificEngineering__ArtificialLife,
1540    #[strum(serialize = "Topic :: Scientific/Engineering :: Astronomy")]
1541    Topic__ScientificEngineering__Astronomy,
1542    #[strum(serialize = "Topic :: Scientific/Engineering :: Atmospheric Science")]
1543    Topic__ScientificEngineering__AtmosphericScience,
1544    #[strum(serialize = "Topic :: Scientific/Engineering :: Bio-Informatics")]
1545    Topic__ScientificEngineering__BioInformatics,
1546    #[strum(serialize = "Topic :: Scientific/Engineering :: Chemistry")]
1547    Topic__ScientificEngineering__Chemistry,
1548    #[strum(serialize = "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)")]
1549    Topic__ScientificEngineering__ElectronicDesignAutomationEDA,
1550    #[strum(serialize = "Topic :: Scientific/Engineering :: GIS")]
1551    Topic__ScientificEngineering__GIS,
1552    #[strum(serialize = "Topic :: Scientific/Engineering :: Human Machine Interfaces")]
1553    Topic__ScientificEngineering__HumanMachineInterfaces,
1554    #[strum(serialize = "Topic :: Scientific/Engineering :: Hydrology")]
1555    Topic__ScientificEngineering__Hydrology,
1556    #[strum(serialize = "Topic :: Scientific/Engineering :: Image Processing")]
1557    Topic__ScientificEngineering__ImageProcessing,
1558    #[strum(serialize = "Topic :: Scientific/Engineering :: Image Recognition")]
1559    Topic__ScientificEngineering__ImageRecognition,
1560    #[strum(serialize = "Topic :: Scientific/Engineering :: Information Analysis")]
1561    Topic__ScientificEngineering__InformationAnalysis,
1562    #[strum(serialize = "Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator")]
1563    Topic__ScientificEngineering__InterfaceEngineProtocolTranslator,
1564    #[strum(serialize = "Topic :: Scientific/Engineering :: Mathematics")]
1565    Topic__ScientificEngineering__Mathematics,
1566    #[strum(serialize = "Topic :: Scientific/Engineering :: Medical Science Apps.")]
1567    Topic__ScientificEngineering__MedicalScienceApps_,
1568    #[strum(serialize = "Topic :: Scientific/Engineering :: Oceanography")]
1569    Topic__ScientificEngineering__Oceanography,
1570    #[strum(serialize = "Topic :: Scientific/Engineering :: Physics")]
1571    Topic__ScientificEngineering__Physics,
1572    #[strum(serialize = "Topic :: Scientific/Engineering :: Visualization")]
1573    Topic__ScientificEngineering__Visualization,
1574    #[strum(serialize = "Topic :: Security")]
1575    Topic__Security,
1576    #[strum(serialize = "Topic :: Security :: Cryptography")]
1577    Topic__Security__Cryptography,
1578    #[strum(serialize = "Topic :: Sociology")]
1579    Topic__Sociology,
1580    #[strum(serialize = "Topic :: Sociology :: Genealogy")]
1581    Topic__Sociology__Genealogy,
1582    #[strum(serialize = "Topic :: Sociology :: History")]
1583    Topic__Sociology__History,
1584    #[strum(serialize = "Topic :: Software Development")]
1585    Topic__SoftwareDevelopment,
1586    #[strum(serialize = "Topic :: Software Development :: Assemblers")]
1587    Topic__SoftwareDevelopment__Assemblers,
1588    #[strum(serialize = "Topic :: Software Development :: Bug Tracking")]
1589    Topic__SoftwareDevelopment__BugTracking,
1590    #[strum(serialize = "Topic :: Software Development :: Build Tools")]
1591    Topic__SoftwareDevelopment__BuildTools,
1592    #[strum(serialize = "Topic :: Software Development :: Code Generators")]
1593    Topic__SoftwareDevelopment__CodeGenerators,
1594    #[strum(serialize = "Topic :: Software Development :: Compilers")]
1595    Topic__SoftwareDevelopment__Compilers,
1596    #[strum(serialize = "Topic :: Software Development :: Debuggers")]
1597    Topic__SoftwareDevelopment__Debuggers,
1598    #[strum(serialize = "Topic :: Software Development :: Disassemblers")]
1599    Topic__SoftwareDevelopment__Disassemblers,
1600    #[strum(serialize = "Topic :: Software Development :: Documentation")]
1601    Topic__SoftwareDevelopment__Documentation,
1602    #[strum(serialize = "Topic :: Software Development :: Embedded Systems")]
1603    Topic__SoftwareDevelopment__EmbeddedSystems,
1604    #[strum(
1605        serialize = "Topic :: Software Development :: Embedded Systems :: Controller Area Network (CAN)"
1606    )]
1607    Topic__SoftwareDevelopment__EmbeddedSystems__ControllerAreaNetworkCAN,
1608    #[strum(
1609        serialize = "Topic :: Software Development :: Embedded Systems :: Controller Area Network (CAN) :: CANopen"
1610    )]
1611    Topic__SoftwareDevelopment__EmbeddedSystems__ControllerAreaNetworkCAN__CANopen,
1612    #[strum(
1613        serialize = "Topic :: Software Development :: Embedded Systems :: Controller Area Network (CAN) :: J1939"
1614    )]
1615    Topic__SoftwareDevelopment__EmbeddedSystems__ControllerAreaNetworkCAN__J1939,
1616    #[strum(serialize = "Topic :: Software Development :: Internationalization")]
1617    Topic__SoftwareDevelopment__Internationalization,
1618    #[strum(serialize = "Topic :: Software Development :: Interpreters")]
1619    Topic__SoftwareDevelopment__Interpreters,
1620    #[strum(serialize = "Topic :: Software Development :: Libraries")]
1621    Topic__SoftwareDevelopment__Libraries,
1622    #[strum(serialize = "Topic :: Software Development :: Libraries :: Application Frameworks")]
1623    Topic__SoftwareDevelopment__Libraries__ApplicationFrameworks,
1624    #[strum(serialize = "Topic :: Software Development :: Libraries :: Java Libraries")]
1625    Topic__SoftwareDevelopment__Libraries__JavaLibraries,
1626    #[strum(serialize = "Topic :: Software Development :: Libraries :: PHP Classes")]
1627    Topic__SoftwareDevelopment__Libraries__PHPClasses,
1628    #[strum(serialize = "Topic :: Software Development :: Libraries :: Perl Modules")]
1629    Topic__SoftwareDevelopment__Libraries__PerlModules,
1630    #[strum(serialize = "Topic :: Software Development :: Libraries :: Pike Modules")]
1631    Topic__SoftwareDevelopment__Libraries__PikeModules,
1632    #[strum(serialize = "Topic :: Software Development :: Libraries :: Python Modules")]
1633    Topic__SoftwareDevelopment__Libraries__PythonModules,
1634    #[strum(serialize = "Topic :: Software Development :: Libraries :: Ruby Modules")]
1635    Topic__SoftwareDevelopment__Libraries__RubyModules,
1636    #[strum(serialize = "Topic :: Software Development :: Libraries :: Tcl Extensions")]
1637    Topic__SoftwareDevelopment__Libraries__TclExtensions,
1638    #[strum(serialize = "Topic :: Software Development :: Libraries :: pygame")]
1639    Topic__SoftwareDevelopment__Libraries__pygame,
1640    #[strum(serialize = "Topic :: Software Development :: Localization")]
1641    Topic__SoftwareDevelopment__Localization,
1642    #[strum(serialize = "Topic :: Software Development :: Object Brokering")]
1643    Topic__SoftwareDevelopment__ObjectBrokering,
1644    #[strum(serialize = "Topic :: Software Development :: Object Brokering :: CORBA")]
1645    Topic__SoftwareDevelopment__ObjectBrokering__CORBA,
1646    #[strum(serialize = "Topic :: Software Development :: Pre-processors")]
1647    Topic__SoftwareDevelopment__Preprocessors,
1648    #[strum(serialize = "Topic :: Software Development :: Quality Assurance")]
1649    Topic__SoftwareDevelopment__QualityAssurance,
1650    #[strum(serialize = "Topic :: Software Development :: Testing")]
1651    Topic__SoftwareDevelopment__Testing,
1652    #[strum(serialize = "Topic :: Software Development :: Testing :: Acceptance")]
1653    Topic__SoftwareDevelopment__Testing__Acceptance,
1654    #[strum(serialize = "Topic :: Software Development :: Testing :: BDD")]
1655    Topic__SoftwareDevelopment__Testing__BDD,
1656    #[strum(serialize = "Topic :: Software Development :: Testing :: Mocking")]
1657    Topic__SoftwareDevelopment__Testing__Mocking,
1658    #[strum(serialize = "Topic :: Software Development :: Testing :: Traffic Generation")]
1659    Topic__SoftwareDevelopment__Testing__TrafficGeneration,
1660    #[strum(serialize = "Topic :: Software Development :: Testing :: Unit")]
1661    Topic__SoftwareDevelopment__Testing__Unit,
1662    #[strum(serialize = "Topic :: Software Development :: User Interfaces")]
1663    Topic__SoftwareDevelopment__UserInterfaces,
1664    #[strum(serialize = "Topic :: Software Development :: Version Control")]
1665    Topic__SoftwareDevelopment__VersionControl,
1666    #[strum(serialize = "Topic :: Software Development :: Version Control :: Bazaar")]
1667    Topic__SoftwareDevelopment__VersionControl__Bazaar,
1668    #[strum(serialize = "Topic :: Software Development :: Version Control :: CVS")]
1669    Topic__SoftwareDevelopment__VersionControl__CVS,
1670    #[strum(serialize = "Topic :: Software Development :: Version Control :: Git")]
1671    Topic__SoftwareDevelopment__VersionControl__Git,
1672    #[strum(serialize = "Topic :: Software Development :: Version Control :: Mercurial")]
1673    Topic__SoftwareDevelopment__VersionControl__Mercurial,
1674    #[strum(serialize = "Topic :: Software Development :: Version Control :: RCS")]
1675    Topic__SoftwareDevelopment__VersionControl__RCS,
1676    #[strum(serialize = "Topic :: Software Development :: Version Control :: SCCS")]
1677    Topic__SoftwareDevelopment__VersionControl__SCCS,
1678    #[strum(serialize = "Topic :: Software Development :: Widget Sets")]
1679    Topic__SoftwareDevelopment__WidgetSets,
1680    #[strum(serialize = "Topic :: System")]
1681    Topic__System,
1682    #[strum(serialize = "Topic :: System :: Archiving")]
1683    Topic__System__Archiving,
1684    #[strum(serialize = "Topic :: System :: Archiving :: Backup")]
1685    Topic__System__Archiving__Backup,
1686    #[strum(serialize = "Topic :: System :: Archiving :: Compression")]
1687    Topic__System__Archiving__Compression,
1688    #[strum(serialize = "Topic :: System :: Archiving :: Mirroring")]
1689    Topic__System__Archiving__Mirroring,
1690    #[strum(serialize = "Topic :: System :: Archiving :: Packaging")]
1691    Topic__System__Archiving__Packaging,
1692    #[strum(serialize = "Topic :: System :: Benchmark")]
1693    Topic__System__Benchmark,
1694    #[strum(serialize = "Topic :: System :: Boot")]
1695    Topic__System__Boot,
1696    #[strum(serialize = "Topic :: System :: Boot :: Init")]
1697    Topic__System__Boot__Init,
1698    #[strum(serialize = "Topic :: System :: Clustering")]
1699    Topic__System__Clustering,
1700    #[strum(serialize = "Topic :: System :: Console Fonts")]
1701    Topic__System__ConsoleFonts,
1702    #[strum(serialize = "Topic :: System :: Distributed Computing")]
1703    Topic__System__DistributedComputing,
1704    #[strum(serialize = "Topic :: System :: Emulators")]
1705    Topic__System__Emulators,
1706    #[strum(serialize = "Topic :: System :: Filesystems")]
1707    Topic__System__Filesystems,
1708    #[strum(serialize = "Topic :: System :: Hardware")]
1709    Topic__System__Hardware,
1710    #[strum(serialize = "Topic :: System :: Hardware :: Hardware Drivers")]
1711    Topic__System__Hardware__HardwareDrivers,
1712    #[strum(serialize = "Topic :: System :: Hardware :: Mainframes")]
1713    Topic__System__Hardware__Mainframes,
1714    #[strum(serialize = "Topic :: System :: Hardware :: Symmetric Multi-processing")]
1715    Topic__System__Hardware__SymmetricMultiprocessing,
1716    #[strum(serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB)")]
1717    Topic__System__Hardware__UniversalSerialBusUSB,
1718    #[strum(serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Audio")]
1719    Topic__System__Hardware__UniversalSerialBusUSB__Audio,
1720    #[strum(
1721        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Audio/Video (AV)"
1722    )]
1723    Topic__System__Hardware__UniversalSerialBusUSB__AudioVideoAV,
1724    #[strum(
1725        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Communications Device Class (CDC)"
1726    )]
1727    Topic__System__Hardware__UniversalSerialBusUSB__CommunicationsDeviceClassCDC,
1728    #[strum(
1729        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Diagnostic Device"
1730    )]
1731    Topic__System__Hardware__UniversalSerialBusUSB__DiagnosticDevice,
1732    #[strum(serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Hub")]
1733    Topic__System__Hardware__UniversalSerialBusUSB__Hub,
1734    #[strum(
1735        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Human Interface Device (HID)"
1736    )]
1737    Topic__System__Hardware__UniversalSerialBusUSB__HumanInterfaceDeviceHID,
1738    #[strum(
1739        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Mass Storage"
1740    )]
1741    Topic__System__Hardware__UniversalSerialBusUSB__MassStorage,
1742    #[strum(
1743        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Miscellaneous"
1744    )]
1745    Topic__System__Hardware__UniversalSerialBusUSB__Miscellaneous,
1746    #[strum(serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Printer")]
1747    Topic__System__Hardware__UniversalSerialBusUSB__Printer,
1748    #[strum(serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Smart Card")]
1749    Topic__System__Hardware__UniversalSerialBusUSB__SmartCard,
1750    #[strum(serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Vendor")]
1751    Topic__System__Hardware__UniversalSerialBusUSB__Vendor,
1752    #[strum(
1753        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Video (UVC)"
1754    )]
1755    Topic__System__Hardware__UniversalSerialBusUSB__VideoUVC,
1756    #[strum(
1757        serialize = "Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Wireless Controller"
1758    )]
1759    Topic__System__Hardware__UniversalSerialBusUSB__WirelessController,
1760    #[strum(serialize = "Topic :: System :: Installation/Setup")]
1761    Topic__System__InstallationSetup,
1762    #[strum(serialize = "Topic :: System :: Logging")]
1763    Topic__System__Logging,
1764    #[strum(serialize = "Topic :: System :: Monitoring")]
1765    Topic__System__Monitoring,
1766    #[strum(serialize = "Topic :: System :: Networking")]
1767    Topic__System__Networking,
1768    #[strum(serialize = "Topic :: System :: Networking :: Firewalls")]
1769    Topic__System__Networking__Firewalls,
1770    #[strum(serialize = "Topic :: System :: Networking :: Monitoring")]
1771    Topic__System__Networking__Monitoring,
1772    #[strum(serialize = "Topic :: System :: Networking :: Monitoring :: Hardware Watchdog")]
1773    Topic__System__Networking__Monitoring__HardwareWatchdog,
1774    #[strum(serialize = "Topic :: System :: Networking :: Time Synchronization")]
1775    Topic__System__Networking__TimeSynchronization,
1776    #[strum(serialize = "Topic :: System :: Operating System")]
1777    Topic__System__OperatingSystem,
1778    #[strum(serialize = "Topic :: System :: Operating System Kernels")]
1779    Topic__System__OperatingSystemKernels,
1780    #[strum(serialize = "Topic :: System :: Operating System Kernels :: BSD")]
1781    Topic__System__OperatingSystemKernels__BSD,
1782    #[strum(serialize = "Topic :: System :: Operating System Kernels :: GNU Hurd")]
1783    Topic__System__OperatingSystemKernels__GNUHurd,
1784    #[strum(serialize = "Topic :: System :: Operating System Kernels :: Linux")]
1785    Topic__System__OperatingSystemKernels__Linux,
1786    #[strum(serialize = "Topic :: System :: Power (UPS)")]
1787    Topic__System__PowerUPS,
1788    #[strum(serialize = "Topic :: System :: Recovery Tools")]
1789    Topic__System__RecoveryTools,
1790    #[strum(serialize = "Topic :: System :: Shells")]
1791    Topic__System__Shells,
1792    #[strum(serialize = "Topic :: System :: Software Distribution")]
1793    Topic__System__SoftwareDistribution,
1794    #[strum(serialize = "Topic :: System :: System Shells")]
1795    Topic__System__SystemShells,
1796    #[strum(serialize = "Topic :: System :: Systems Administration")]
1797    Topic__System__SystemsAdministration,
1798    #[strum(serialize = "Topic :: System :: Systems Administration :: Authentication/Directory")]
1799    Topic__System__SystemsAdministration__AuthenticationDirectory,
1800    #[strum(
1801        serialize = "Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP"
1802    )]
1803    Topic__System__SystemsAdministration__AuthenticationDirectory__LDAP,
1804    #[strum(
1805        serialize = "Topic :: System :: Systems Administration :: Authentication/Directory :: NIS"
1806    )]
1807    Topic__System__SystemsAdministration__AuthenticationDirectory__NIS,
1808    #[strum(serialize = "Topic :: Terminals")]
1809    Topic__Terminals,
1810    #[strum(serialize = "Topic :: Terminals :: Serial")]
1811    Topic__Terminals__Serial,
1812    #[strum(serialize = "Topic :: Terminals :: Telnet")]
1813    Topic__Terminals__Telnet,
1814    #[strum(serialize = "Topic :: Terminals :: Terminal Emulators/X Terminals")]
1815    Topic__Terminals__TerminalEmulatorsXTerminals,
1816    #[strum(serialize = "Topic :: Text Editors")]
1817    Topic__TextEditors,
1818    #[strum(serialize = "Topic :: Text Editors :: Documentation")]
1819    Topic__TextEditors__Documentation,
1820    #[strum(serialize = "Topic :: Text Editors :: Emacs")]
1821    Topic__TextEditors__Emacs,
1822    #[strum(serialize = "Topic :: Text Editors :: Integrated Development Environments (IDE)")]
1823    Topic__TextEditors__IntegratedDevelopmentEnvironmentsIDE,
1824    #[strum(serialize = "Topic :: Text Editors :: Text Processing")]
1825    Topic__TextEditors__TextProcessing,
1826    #[strum(serialize = "Topic :: Text Editors :: Word Processors")]
1827    Topic__TextEditors__WordProcessors,
1828    #[strum(serialize = "Topic :: Text Processing")]
1829    Topic__TextProcessing,
1830    #[strum(serialize = "Topic :: Text Processing :: Filters")]
1831    Topic__TextProcessing__Filters,
1832    #[strum(serialize = "Topic :: Text Processing :: Fonts")]
1833    Topic__TextProcessing__Fonts,
1834    #[strum(serialize = "Topic :: Text Processing :: General")]
1835    Topic__TextProcessing__General,
1836    #[strum(serialize = "Topic :: Text Processing :: Indexing")]
1837    Topic__TextProcessing__Indexing,
1838    #[strum(serialize = "Topic :: Text Processing :: Linguistic")]
1839    Topic__TextProcessing__Linguistic,
1840    #[strum(serialize = "Topic :: Text Processing :: Markup")]
1841    Topic__TextProcessing__Markup,
1842    #[strum(serialize = "Topic :: Text Processing :: Markup :: HTML")]
1843    Topic__TextProcessing__Markup__HTML,
1844    #[strum(serialize = "Topic :: Text Processing :: Markup :: LaTeX")]
1845    Topic__TextProcessing__Markup__LaTeX,
1846    #[strum(serialize = "Topic :: Text Processing :: Markup :: Markdown")]
1847    Topic__TextProcessing__Markup__Markdown,
1848    #[strum(serialize = "Topic :: Text Processing :: Markup :: SGML")]
1849    Topic__TextProcessing__Markup__SGML,
1850    #[strum(serialize = "Topic :: Text Processing :: Markup :: VRML")]
1851    Topic__TextProcessing__Markup__VRML,
1852    #[strum(serialize = "Topic :: Text Processing :: Markup :: XML")]
1853    Topic__TextProcessing__Markup__XML,
1854    #[strum(serialize = "Topic :: Text Processing :: Markup :: reStructuredText")]
1855    Topic__TextProcessing__Markup__reStructuredText,
1856    #[strum(serialize = "Topic :: Utilities")]
1857    Topic__Utilities,
1858    #[strum(serialize = "Typing :: Stubs Only")]
1859    Typing__StubsOnly,
1860    #[strum(serialize = "Typing :: Typed")]
1861    Typing__Typed,
1862}
1863
1864impl Classifier {
1865    pub fn split(&self) -> Split<'_, &str> {
1866        self.as_ref().split(" :: ")
1867    }
1868}
1869
1870#[cfg(test)]
1871mod tests {
1872    use super::*;
1873    use std::str::FromStr;
1874
1875    #[test]
1876    fn string_round_trip() {
1877        let trove = "Programming Language :: Rust";
1878        assert_eq!(Classifier::from_str(&trove).unwrap().as_ref(), trove);
1879    }
1880
1881    #[test]
1882    fn split_round_trip() {
1883        let trove = Classifier::License__OSIApproved__GNUGeneralPublicLicensev3orlaterGPLv3plus;
1884
1885        let vec_trove = trove.split().collect::<Vec<&str>>();
1886        assert_eq!(
1887            vec_trove,
1888            vec![
1889                "License",
1890                "OSI Approved",
1891                "GNU General Public License v3 or later (GPLv3+)"
1892            ]
1893        );
1894
1895        let string_trove = vec_trove.join(" :: ");
1896        assert_eq!(
1897            string_trove,
1898            "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)"
1899        );
1900
1901        let new_trove = Classifier::from_str(&string_trove).unwrap();
1902        assert_eq!(new_trove, trove);
1903    }
1904}