ghga-transpiler 2.2.0__tar.gz → 2.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/LICENSE +1 -1
  2. {ghga_transpiler-2.2.0/src/ghga_transpiler.egg-info → ghga_transpiler-2.3.1}/PKG-INFO +4 -5
  3. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/pyproject.toml +2 -4
  4. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/__init__.py +2 -2
  5. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/__main__.py +1 -1
  6. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/cli.py +1 -1
  7. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/config/__init__.py +1 -1
  8. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/config/config.py +1 -1
  9. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/config/exceptions.py +1 -1
  10. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/configs/2.0.yaml +8 -0
  11. ghga_transpiler-2.3.1/src/ghga_transpiler/configs/2.1.yaml +172 -0
  12. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/configs/__init__.py +1 -1
  13. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/core.py +1 -1
  14. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/io.py +1 -1
  15. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/transformations.py +1 -1
  16. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1/src/ghga_transpiler.egg-info}/PKG-INFO +4 -5
  17. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler.egg-info/SOURCES.txt +1 -0
  18. ghga_transpiler-2.3.1/src/ghga_transpiler.egg-info/requires.txt +7 -0
  19. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/tests/test_convert_workbook.py +1 -1
  20. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/tests/test_create_config.py +1 -1
  21. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/tests/test_io.py +1 -1
  22. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/tests/test_process_workbook.py +1 -1
  23. ghga_transpiler-2.2.0/src/ghga_transpiler.egg-info/requires.txt +0 -13
  24. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/README.md +0 -0
  25. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/setup.cfg +0 -0
  26. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/configs/0.10.yaml +0 -0
  27. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/configs/1.0.yaml +0 -0
  28. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler/configs/1.1.yaml +0 -0
  29. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler.egg-info/dependency_links.txt +0 -0
  30. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler.egg-info/entry_points.txt +0 -0
  31. {ghga_transpiler-2.2.0 → ghga_transpiler-2.3.1}/src/ghga_transpiler.egg-info/top_level.txt +0 -0
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
189
+ Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
190
190
  for the German Human Genome-Phenome Archive (GHGA)
191
191
 
192
192
  Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: ghga_transpiler
3
- Version: 2.2.0
3
+ Version: 2.3.1
4
4
  Summary: GHGA-Transpiler - excel to JSON converter
5
5
  Author-email: "German Human Genome Phenome Archive (GHGA)" <contact@ghga.de>
6
6
  License: Apache 2.0
@@ -22,9 +22,8 @@ Requires-Dist: defusedxml==0.*,>=0.7
22
22
  Requires-Dist: pydantic<3,>=2.6
23
23
  Requires-Dist: PyYAML~=6.0
24
24
  Requires-Dist: semver==3.*
25
- Requires-Dist: exceptiongroup>=1.0.0; python_version < "3.11"
26
- Requires-Dist: tomli>=2.0.0; python_version < "3.11"
27
- Requires-Dist: eval-type-backport==0.2.0; python_version < "3.10"
25
+ Requires-Dist: click==8.1.0
26
+ Dynamic: license-file
28
27
 
29
28
 
30
29
  [![tests](https://github.com/ghga-de/ghga-transpiler/actions/workflows/tests.yaml/badge.svg)](https://github.com/ghga-de/ghga-transpiler/actions/workflows/unit_and_int_tests.yaml)
@@ -21,7 +21,7 @@ classifiers = [
21
21
  "Intended Audience :: Developers",
22
22
  ]
23
23
  name = "ghga_transpiler"
24
- version = "2.2.0"
24
+ version = "2.3.1"
25
25
  description = "GHGA-Transpiler - excel to JSON converter"
26
26
  dependencies = [
27
27
  "typer >= 0.12",
@@ -30,9 +30,7 @@ dependencies = [
30
30
  "pydantic >=2.6, <3",
31
31
  "PyYAML ~= 6.0",
32
32
  "semver == 3.*",
33
- "exceptiongroup>=1.0.0; python_version < \"3.11\"",
34
- "tomli>= 2.0.0; python_version < \"3.11\"",
35
- "eval-type-backport==0.2.0; python_version < \"3.10\"",
33
+ "click==8.1.0",
36
34
  ]
37
35
 
38
36
  [project.license]
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,7 +18,7 @@
18
18
 
19
19
  from openpyxl.xml import DEFUSEDXML
20
20
 
21
- __version__ = "2.2.0"
21
+ __version__ = "2.2.1"
22
22
 
23
23
  if not DEFUSEDXML:
24
24
  raise RuntimeError(
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -39,6 +39,8 @@ worksheets:
39
39
  !!python/object/apply:ghga_transpiler.transformations.to_attributes []
40
40
  types:
41
41
  !!python/object/apply:ghga_transpiler.transformations.to_snake_case_list []
42
+ attributes:
43
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
42
44
  sheet_name: Study
43
45
  - settings:
44
46
  end_column: 10
@@ -84,6 +86,8 @@ worksheets:
84
86
  !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
85
87
  biospecimen_storage:
86
88
  !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
89
+ attributes:
90
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
87
91
  sheet_name: Sample
88
92
  - settings:
89
93
  end_column: 23
@@ -113,6 +117,8 @@ worksheets:
113
117
  !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
114
118
  sequencing_layout:
115
119
  !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
120
+ attributes:
121
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
116
122
  sheet_name: ExperimentMethod
117
123
  - settings:
118
124
  end_column: 7
@@ -128,6 +134,8 @@ worksheets:
128
134
  transformations:
129
135
  experiments:
130
136
  !!python/object/apply:ghga_transpiler.transformations.to_list []
137
+ format:
138
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
131
139
  sheet_name: ResearchDataFile
132
140
  - settings:
133
141
  end_column: 7
@@ -0,0 +1,172 @@
1
+ ghga_metadata_version: 2.1.0
2
+ default_settings:
3
+ header_row: 1
4
+ start_row: 7
5
+ start_column: 1
6
+ transformations:
7
+ attributes:
8
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
9
+ format:
10
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
11
+ worksheets:
12
+ - settings:
13
+ end_column: 7
14
+ name: analyses
15
+ transformations:
16
+ research_data_files:
17
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
18
+ sheet_name: Analysis
19
+ - settings:
20
+ end_column: 12
21
+ name: analysis_methods
22
+ transformations:
23
+ parameters:
24
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
25
+ software_versions:
26
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
27
+ attributes:
28
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
29
+ sheet_name: AnalysisMethod
30
+ - settings:
31
+ end_column: 7
32
+ name: analysis_method_supporting_files
33
+ sheet_name: AnalysisMethodSupportingFile
34
+ - settings:
35
+ end_column: 7
36
+ name: studies
37
+ transformations:
38
+ affiliations:
39
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
40
+ attributes:
41
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
42
+ types:
43
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case_list []
44
+ attributes:
45
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
46
+ sheet_name: Study
47
+ - settings:
48
+ end_column: 10
49
+ name: individuals
50
+ transformations:
51
+ phenotypic_features_terms:
52
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
53
+ phenotypic_features_ids:
54
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
55
+ diagnosis_ids:
56
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
57
+ diagnosis_terms:
58
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
59
+ sex:
60
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
61
+ ancestry_terms:
62
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
63
+ ancestry_ids:
64
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
65
+ sheet_name: Individual
66
+ - settings:
67
+ end_column: 7
68
+ name: individual_supporting_files
69
+ sheet_name: IndividualSupportingFile
70
+ - settings:
71
+ end_column: 21
72
+ name: samples
73
+ transformations:
74
+ type:
75
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
76
+ storage:
77
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
78
+ disease_or_healthy:
79
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
80
+ case_control_status:
81
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
82
+ xref: !!python/object/apply:ghga_transpiler.transformations.to_list []
83
+ biospecimen_age_at_sampling:
84
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
85
+ biospecimen_vital_status_at_sampling:
86
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
87
+ biospecimen_isolation:
88
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
89
+ biospecimen_storage:
90
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
91
+ attributes:
92
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
93
+ sheet_name: Sample
94
+ - settings:
95
+ end_column: 23
96
+ name: experiment_methods
97
+ transformations:
98
+ library_type:
99
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
100
+ library_selection_methods:
101
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case_list []
102
+ library_preparation_kit_retail_name:
103
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
104
+ primer:
105
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
106
+ end_bias:
107
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
108
+ target_regions:
109
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
110
+ rnaseq_strandedness:
111
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
112
+ instrument_model:
113
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
114
+ sequencing_layout:
115
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
116
+ flow_cell_type:
117
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
118
+ sample_barcode_read:
119
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
120
+ sequencing_layout:
121
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
122
+ attributes:
123
+ !!python/object/apply:ghga_transpiler.transformations.to_attributes []
124
+ sheet_name: ExperimentMethod
125
+ - settings:
126
+ end_column: 7
127
+ name: experiment_method_supporting_files
128
+ sheet_name: ExperimentMethodSupportingFile
129
+ - settings:
130
+ end_column: 8
131
+ name: experiments
132
+ sheet_name: Experiment
133
+ - settings:
134
+ end_column: 9
135
+ name: research_data_files
136
+ transformations:
137
+ experiments:
138
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
139
+ format:
140
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
141
+ sheet_name: ResearchDataFile
142
+ - settings:
143
+ end_column: 7
144
+ name: process_data_files
145
+ sheet_name: ProcessDataFile
146
+ - settings:
147
+ end_column: 7
148
+ name: datasets
149
+ transformations:
150
+ types: !!python/object/apply:ghga_transpiler.transformations.to_list []
151
+ sheet_name: Dataset
152
+ - settings:
153
+ end_column: 11
154
+ name: data_access_policies
155
+ transformations:
156
+ data_use_modifier_terms:
157
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case_list []
158
+ data_use_permission_term:
159
+ !!python/object/apply:ghga_transpiler.transformations.to_snake_case []
160
+ data_use_modifier_ids:
161
+ !!python/object/apply:ghga_transpiler.transformations.to_list []
162
+ sheet_name: DataAccessPolicy
163
+ - settings:
164
+ end_column: 4
165
+ name: data_access_committees
166
+ sheet_name: DataAccessCommittee
167
+ - settings:
168
+ end_column: 9
169
+ name: publications
170
+ transformations:
171
+ xref: !!python/object/apply:ghga_transpiler.transformations.to_list []
172
+ sheet_name: Publication
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: ghga_transpiler
3
- Version: 2.2.0
3
+ Version: 2.3.1
4
4
  Summary: GHGA-Transpiler - excel to JSON converter
5
5
  Author-email: "German Human Genome Phenome Archive (GHGA)" <contact@ghga.de>
6
6
  License: Apache 2.0
@@ -22,9 +22,8 @@ Requires-Dist: defusedxml==0.*,>=0.7
22
22
  Requires-Dist: pydantic<3,>=2.6
23
23
  Requires-Dist: PyYAML~=6.0
24
24
  Requires-Dist: semver==3.*
25
- Requires-Dist: exceptiongroup>=1.0.0; python_version < "3.11"
26
- Requires-Dist: tomli>=2.0.0; python_version < "3.11"
27
- Requires-Dist: eval-type-backport==0.2.0; python_version < "3.10"
25
+ Requires-Dist: click==8.1.0
26
+ Dynamic: license-file
28
27
 
29
28
 
30
29
  [![tests](https://github.com/ghga-de/ghga-transpiler/actions/workflows/tests.yaml/badge.svg)](https://github.com/ghga-de/ghga-transpiler/actions/workflows/unit_and_int_tests.yaml)
@@ -20,6 +20,7 @@ src/ghga_transpiler/configs/0.10.yaml
20
20
  src/ghga_transpiler/configs/1.0.yaml
21
21
  src/ghga_transpiler/configs/1.1.yaml
22
22
  src/ghga_transpiler/configs/2.0.yaml
23
+ src/ghga_transpiler/configs/2.1.yaml
23
24
  src/ghga_transpiler/configs/__init__.py
24
25
  tests/test_convert_workbook.py
25
26
  tests/test_create_config.py
@@ -0,0 +1,7 @@
1
+ typer>=0.12
2
+ openpyxl==3.*,>=3.1.2
3
+ defusedxml==0.*,>=0.7
4
+ pydantic<3,>=2.6
5
+ PyYAML~=6.0
6
+ semver==3.*
7
+ click==8.1.0
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- # Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
1
+ # Copyright 2021 - 2025 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
2
2
  # for the German Human Genome-Phenome Archive (GHGA)
3
3
 
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,13 +0,0 @@
1
- typer>=0.12
2
- openpyxl==3.*,>=3.1.2
3
- defusedxml==0.*,>=0.7
4
- pydantic<3,>=2.6
5
- PyYAML~=6.0
6
- semver==3.*
7
-
8
- [:python_version < "3.10"]
9
- eval-type-backport==0.2.0
10
-
11
- [:python_version < "3.11"]
12
- exceptiongroup>=1.0.0
13
- tomli>=2.0.0