excel-list-transform 0.9__tar.gz → 1.0__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.
- excel_list_transform-0.9/README_pypi.md → excel_list_transform-1.0/PKG-INFO +47 -40
- {excel_list_transform-0.9 → excel_list_transform-1.0}/README.md +2 -2
- excel_list_transform-0.9/PKG-INFO → excel_list_transform-1.0/README_pypi.md +20 -67
- {excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/PKG-INFO +24 -44
- {excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/requires.txt +3 -3
- {excel_list_transform-0.9 → excel_list_transform-1.0}/pyproject.toml +1 -1
- {excel_list_transform-0.9 → excel_list_transform-1.0}/setup.py +4 -4
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_excel_list_transform.py +2 -3
- {excel_list_transform-0.9 → excel_list_transform-1.0}/LICENSE.txt +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/SOURCES.txt +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/dependency_links.txt +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/top_level.txt +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/setup.cfg +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/__init__.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/__main__.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/check_indata_common.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/commontypes.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_enums.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_match.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_read_old.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_xls_list_transf_name.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_xls_list_transf_num.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/file_extension.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/file_must_exist.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/generate_cfg.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/generate_txt.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/handle_empty_column.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/handle_tableio.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/migrate_cfg.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/migrate_cfg_warn_hook.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/num_named_conversion.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/py.typed +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/recode.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/rewrite_value.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/row_split_merge.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/str_to_enum.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_cmd.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_func.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_func_common.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_func_named.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_func_num.py +0 -0
- {excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/version_information.py +0 -0
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: excel-list-transform
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: Transform table data with configurable row and column changes.
|
|
5
|
+
Author: Tom Björkholm
|
|
6
|
+
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Project-URL: Source code, https://bitbucket.org/tom-bjorkholm/excel-list-transform
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Requires-Python: >=3.13
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE.txt
|
|
14
|
+
Requires-Dist: tableio-cfg-json>=0.4
|
|
15
|
+
Requires-Dist: tableio>=1.0
|
|
16
|
+
Requires-Dist: config-as-json>=1.2
|
|
17
|
+
Requires-Dist: versionreporter>=0.2
|
|
18
|
+
Requires-Dist: argcomplete>=3.6.3
|
|
19
|
+
Requires-Dist: pip>=26.1
|
|
20
|
+
Requires-Dist: setuptools>=82.0.1
|
|
21
|
+
Requires-Dist: build>=1.5.0
|
|
22
|
+
Requires-Dist: wheel>=0.47.0
|
|
23
|
+
Dynamic: author
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
Dynamic: requires-dist
|
|
26
|
+
Dynamic: requires-python
|
|
27
|
+
|
|
1
28
|
# excel-list-transform
|
|
2
29
|
|
|
3
30
|
## Background
|
|
@@ -56,32 +83,6 @@ pip3 install --upgrade excel-list-transform
|
|
|
56
83
|
pip install --upgrade excel-list-transform
|
|
57
84
|
````
|
|
58
85
|
|
|
59
|
-
## Version history
|
|
60
|
-
|
|
61
|
-
| Version | Date | Python version | Description |
|
|
62
|
-
|---------|-------------|-----------------|-------------------------------------|
|
|
63
|
-
| 0.5 | 10 Sep 2024 | 3.10.5 or newer | First released version |
|
|
64
|
-
| 0.6 | 22 Sep 2024 | 3.12.6 or newer | Configured encoding for CSV |
|
|
65
|
-
| 0.6.2 | 28 Sep 2024 | 3.12.6 or newer | Fix name in test report |
|
|
66
|
-
| 0.7.0 | 03 Nov 2024 | 3.12.6 or newer | Option to strip space in excel |
|
|
67
|
-
| 0.7.1 | 15 Dec 2024 | 3.12.6 or newer | Refactor tests |
|
|
68
|
-
| 0.7.3 | 06 Jan 2025 | 3.12.6 or newer | Example config for Sailwave to RRS |
|
|
69
|
-
| 0.7.5 | 21 Mar 2025 | 3.12.6 or newer | Example config for Sailarena to RRS |
|
|
70
|
-
| 0.7.6 | 21 Mar 2025 | 3.13.2 or newer | Adapted to Python 3.13.2 |
|
|
71
|
-
| 0.7.7 | 09 Apr 2025 | 3.13.3 or newer | refactor phone number rewrite cfg |
|
|
72
|
-
| 0.7.9 | 09 Jun 2025 | 3.10.x | Backport 0.7.12 to Python 3.10 |
|
|
73
|
-
| 0.7.10 | 09 Jun 2025 | 3.11.x | Backport 0.7.12 to Python 3.11 |
|
|
74
|
-
| 0.7.11 | 09 Jun 2025 | 3.12.x | Backport 0.7.12 to Python 3.12 |
|
|
75
|
-
| 0.7.12 | 09 Jun 2025 | 3.13.3 or newer | Add version sub-command |
|
|
76
|
-
| 0.7.13 | 11 Jun 2025 | 3.13 or newer | Relax Python version requirement |
|
|
77
|
-
| 0.8.0 | 23 Jul 2025 | 3.10.x | Backport 0.8.3 to Python 3.10 |
|
|
78
|
-
| 0.8.1 | 23 Jul 2025 | 3.11.x | Backport 0.8.3 to Python 3.11 |
|
|
79
|
-
| 0.8.2 | 23 Jul 2025 | 3.12.x | Backport 0.8.3 to Python 3.12 |
|
|
80
|
-
| 0.8.3 | 23 Jul 2025 | 3.13 or newer | Add split-row and merge-row |
|
|
81
|
-
| 0.8.4 | 23 Nov 2025 | 3.12.x | Backport 0.8.5 to Python 3.12 |
|
|
82
|
-
| 0.8.5 | 23 Nov 2025 | 3.13 or newer | Adapted to Python 3.14 |
|
|
83
|
-
| 0.9 | 06 Jun 2026 | 3.13 or newer | Many new input/output formats |
|
|
84
|
-
|
|
85
86
|
## Running the application
|
|
86
87
|
|
|
87
88
|
### Running the application on mac and Linux
|
|
@@ -140,22 +141,28 @@ configuration file to understand the syntax and the possible options.
|
|
|
140
141
|
## Performance
|
|
141
142
|
|
|
142
143
|
This application is written for the moderate amounts of data when
|
|
143
|
-
registering participants for the majority of sports events
|
|
144
|
-
|
|
144
|
+
registering participants for the majority of sports events, or
|
|
145
|
+
processing scrum backlogs in excel. If you have millions of rows
|
|
146
|
+
this application is not for you.
|
|
145
147
|
|
|
146
148
|
With an input file consisting of 20 columns producing an output file of
|
|
147
149
|
11 columns I have measured the following performance:
|
|
148
150
|
|
|
149
|
-
| number of rows | on MacBook Air M4 |
|
|
150
|
-
|
|
151
|
-
| 100 | less than 0.2 seconds |
|
|
152
|
-
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
151
|
+
| number of rows | on MacBook Air M4 |
|
|
152
|
+
|----------------|-----------------------|
|
|
153
|
+
| 100 | less than 0.2 seconds |
|
|
154
|
+
| 1000 | less than 0.3 seconds |
|
|
155
|
+
| 10 000 | less than 2.5 seconds |
|
|
156
|
+
| 20 000 | less than 5 seconds |
|
|
157
|
+
| 40 000 | less than 11 seconds |
|
|
158
|
+
| 80 000 | less than 23 seconds |
|
|
159
|
+
| 120 000 | less than 34 seconds |
|
|
160
|
+
|
|
161
|
+
Naturally your performance will be different based on computer hardware,
|
|
162
|
+
operating system and Python version. Generally it should be reasonably
|
|
163
|
+
fast for less than 10 000 rows, painfully slow but somewhat usable up
|
|
164
|
+
to 100 000 rows and probably so slow that it is unusable for more
|
|
165
|
+
than 100 000 rows.
|
|
159
166
|
|
|
160
167
|
## Description of how to write/change the configuration file
|
|
161
168
|
|
|
@@ -502,9 +509,9 @@ Source code and tests are available at [https://bitbucket.org/tom-bjorkholm/exce
|
|
|
502
509
|
|
|
503
510
|
## Test summary
|
|
504
511
|
|
|
505
|
-
- Test result: 1368 passed in
|
|
512
|
+
- Test result: 1368 passed in 65s (0:01:05)
|
|
506
513
|
- No flake8 warnings.
|
|
507
514
|
- No mypy errors found.
|
|
508
515
|
- No python layout warnings.
|
|
509
|
-
- Built version(s): 0
|
|
516
|
+
- Built version(s): 1.0
|
|
510
517
|
- Build and test using Python 3.14.5
|
|
@@ -108,9 +108,9 @@ the built and installed application in the virtual environment `./venv`.
|
|
|
108
108
|
|
|
109
109
|
## Test summary
|
|
110
110
|
|
|
111
|
-
- Test result: 1368 passed in
|
|
111
|
+
- Test result: 1368 passed in 65s (0:01:05)
|
|
112
112
|
- No flake8 warnings.
|
|
113
113
|
- No mypy errors found.
|
|
114
114
|
- No python layout warnings.
|
|
115
|
-
- Built version(s): 0
|
|
115
|
+
- Built version(s): 1.0
|
|
116
116
|
- Build and test using Python 3.14.5
|
|
@@ -1,30 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: excel-list-transform
|
|
3
|
-
Version: 0.9
|
|
4
|
-
Summary: Transform table data with configurable row and column changes.
|
|
5
|
-
Author: Tom Björkholm
|
|
6
|
-
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
7
|
-
License-Expression: MIT
|
|
8
|
-
Project-URL: Source code, https://bitbucket.org/tom-bjorkholm/excel-list-transform
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Requires-Python: >=3.13
|
|
12
|
-
Description-Content-Type: text/markdown
|
|
13
|
-
License-File: LICENSE.txt
|
|
14
|
-
Requires-Dist: tableio-cfg-json>=0.3
|
|
15
|
-
Requires-Dist: tableio>=0.9
|
|
16
|
-
Requires-Dist: config-as-json>=1.1
|
|
17
|
-
Requires-Dist: versionreporter>=0.2
|
|
18
|
-
Requires-Dist: argcomplete>=3.6.3
|
|
19
|
-
Requires-Dist: pip>=26.1
|
|
20
|
-
Requires-Dist: setuptools>=82.0.1
|
|
21
|
-
Requires-Dist: build>=1.5.0
|
|
22
|
-
Requires-Dist: wheel>=0.47.0
|
|
23
|
-
Dynamic: author
|
|
24
|
-
Dynamic: license-file
|
|
25
|
-
Dynamic: requires-dist
|
|
26
|
-
Dynamic: requires-python
|
|
27
|
-
|
|
28
1
|
# excel-list-transform
|
|
29
2
|
|
|
30
3
|
## Background
|
|
@@ -83,32 +56,6 @@ pip3 install --upgrade excel-list-transform
|
|
|
83
56
|
pip install --upgrade excel-list-transform
|
|
84
57
|
````
|
|
85
58
|
|
|
86
|
-
## Version history
|
|
87
|
-
|
|
88
|
-
| Version | Date | Python version | Description |
|
|
89
|
-
|---------|-------------|-----------------|-------------------------------------|
|
|
90
|
-
| 0.5 | 10 Sep 2024 | 3.10.5 or newer | First released version |
|
|
91
|
-
| 0.6 | 22 Sep 2024 | 3.12.6 or newer | Configured encoding for CSV |
|
|
92
|
-
| 0.6.2 | 28 Sep 2024 | 3.12.6 or newer | Fix name in test report |
|
|
93
|
-
| 0.7.0 | 03 Nov 2024 | 3.12.6 or newer | Option to strip space in excel |
|
|
94
|
-
| 0.7.1 | 15 Dec 2024 | 3.12.6 or newer | Refactor tests |
|
|
95
|
-
| 0.7.3 | 06 Jan 2025 | 3.12.6 or newer | Example config for Sailwave to RRS |
|
|
96
|
-
| 0.7.5 | 21 Mar 2025 | 3.12.6 or newer | Example config for Sailarena to RRS |
|
|
97
|
-
| 0.7.6 | 21 Mar 2025 | 3.13.2 or newer | Adapted to Python 3.13.2 |
|
|
98
|
-
| 0.7.7 | 09 Apr 2025 | 3.13.3 or newer | refactor phone number rewrite cfg |
|
|
99
|
-
| 0.7.9 | 09 Jun 2025 | 3.10.x | Backport 0.7.12 to Python 3.10 |
|
|
100
|
-
| 0.7.10 | 09 Jun 2025 | 3.11.x | Backport 0.7.12 to Python 3.11 |
|
|
101
|
-
| 0.7.11 | 09 Jun 2025 | 3.12.x | Backport 0.7.12 to Python 3.12 |
|
|
102
|
-
| 0.7.12 | 09 Jun 2025 | 3.13.3 or newer | Add version sub-command |
|
|
103
|
-
| 0.7.13 | 11 Jun 2025 | 3.13 or newer | Relax Python version requirement |
|
|
104
|
-
| 0.8.0 | 23 Jul 2025 | 3.10.x | Backport 0.8.3 to Python 3.10 |
|
|
105
|
-
| 0.8.1 | 23 Jul 2025 | 3.11.x | Backport 0.8.3 to Python 3.11 |
|
|
106
|
-
| 0.8.2 | 23 Jul 2025 | 3.12.x | Backport 0.8.3 to Python 3.12 |
|
|
107
|
-
| 0.8.3 | 23 Jul 2025 | 3.13 or newer | Add split-row and merge-row |
|
|
108
|
-
| 0.8.4 | 23 Nov 2025 | 3.12.x | Backport 0.8.5 to Python 3.12 |
|
|
109
|
-
| 0.8.5 | 23 Nov 2025 | 3.13 or newer | Adapted to Python 3.14 |
|
|
110
|
-
| 0.9 | 06 Jun 2026 | 3.13 or newer | Many new input/output formats |
|
|
111
|
-
|
|
112
59
|
## Running the application
|
|
113
60
|
|
|
114
61
|
### Running the application on mac and Linux
|
|
@@ -167,22 +114,28 @@ configuration file to understand the syntax and the possible options.
|
|
|
167
114
|
## Performance
|
|
168
115
|
|
|
169
116
|
This application is written for the moderate amounts of data when
|
|
170
|
-
registering participants for the majority of sports events
|
|
171
|
-
|
|
117
|
+
registering participants for the majority of sports events, or
|
|
118
|
+
processing scrum backlogs in excel. If you have millions of rows
|
|
119
|
+
this application is not for you.
|
|
172
120
|
|
|
173
121
|
With an input file consisting of 20 columns producing an output file of
|
|
174
122
|
11 columns I have measured the following performance:
|
|
175
123
|
|
|
176
|
-
| number of rows | on MacBook Air M4 |
|
|
177
|
-
|
|
178
|
-
| 100 | less than 0.2 seconds |
|
|
179
|
-
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
124
|
+
| number of rows | on MacBook Air M4 |
|
|
125
|
+
|----------------|-----------------------|
|
|
126
|
+
| 100 | less than 0.2 seconds |
|
|
127
|
+
| 1000 | less than 0.3 seconds |
|
|
128
|
+
| 10 000 | less than 2.5 seconds |
|
|
129
|
+
| 20 000 | less than 5 seconds |
|
|
130
|
+
| 40 000 | less than 11 seconds |
|
|
131
|
+
| 80 000 | less than 23 seconds |
|
|
132
|
+
| 120 000 | less than 34 seconds |
|
|
133
|
+
|
|
134
|
+
Naturally your performance will be different based on computer hardware,
|
|
135
|
+
operating system and Python version. Generally it should be reasonably
|
|
136
|
+
fast for less than 10 000 rows, painfully slow but somewhat usable up
|
|
137
|
+
to 100 000 rows and probably so slow that it is unusable for more
|
|
138
|
+
than 100 000 rows.
|
|
186
139
|
|
|
187
140
|
## Description of how to write/change the configuration file
|
|
188
141
|
|
|
@@ -529,9 +482,9 @@ Source code and tests are available at [https://bitbucket.org/tom-bjorkholm/exce
|
|
|
529
482
|
|
|
530
483
|
## Test summary
|
|
531
484
|
|
|
532
|
-
- Test result: 1368 passed in
|
|
485
|
+
- Test result: 1368 passed in 65s (0:01:05)
|
|
533
486
|
- No flake8 warnings.
|
|
534
487
|
- No mypy errors found.
|
|
535
488
|
- No python layout warnings.
|
|
536
|
-
- Built version(s): 0
|
|
489
|
+
- Built version(s): 1.0
|
|
537
490
|
- Build and test using Python 3.14.5
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: excel-list-transform
|
|
3
|
-
Version: 0
|
|
3
|
+
Version: 1.0
|
|
4
4
|
Summary: Transform table data with configurable row and column changes.
|
|
5
5
|
Author: Tom Björkholm
|
|
6
6
|
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
@@ -11,9 +11,9 @@ Classifier: Operating System :: OS Independent
|
|
|
11
11
|
Requires-Python: >=3.13
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE.txt
|
|
14
|
-
Requires-Dist: tableio-cfg-json>=0.
|
|
15
|
-
Requires-Dist: tableio>=0
|
|
16
|
-
Requires-Dist: config-as-json>=1.
|
|
14
|
+
Requires-Dist: tableio-cfg-json>=0.4
|
|
15
|
+
Requires-Dist: tableio>=1.0
|
|
16
|
+
Requires-Dist: config-as-json>=1.2
|
|
17
17
|
Requires-Dist: versionreporter>=0.2
|
|
18
18
|
Requires-Dist: argcomplete>=3.6.3
|
|
19
19
|
Requires-Dist: pip>=26.1
|
|
@@ -83,32 +83,6 @@ pip3 install --upgrade excel-list-transform
|
|
|
83
83
|
pip install --upgrade excel-list-transform
|
|
84
84
|
````
|
|
85
85
|
|
|
86
|
-
## Version history
|
|
87
|
-
|
|
88
|
-
| Version | Date | Python version | Description |
|
|
89
|
-
|---------|-------------|-----------------|-------------------------------------|
|
|
90
|
-
| 0.5 | 10 Sep 2024 | 3.10.5 or newer | First released version |
|
|
91
|
-
| 0.6 | 22 Sep 2024 | 3.12.6 or newer | Configured encoding for CSV |
|
|
92
|
-
| 0.6.2 | 28 Sep 2024 | 3.12.6 or newer | Fix name in test report |
|
|
93
|
-
| 0.7.0 | 03 Nov 2024 | 3.12.6 or newer | Option to strip space in excel |
|
|
94
|
-
| 0.7.1 | 15 Dec 2024 | 3.12.6 or newer | Refactor tests |
|
|
95
|
-
| 0.7.3 | 06 Jan 2025 | 3.12.6 or newer | Example config for Sailwave to RRS |
|
|
96
|
-
| 0.7.5 | 21 Mar 2025 | 3.12.6 or newer | Example config for Sailarena to RRS |
|
|
97
|
-
| 0.7.6 | 21 Mar 2025 | 3.13.2 or newer | Adapted to Python 3.13.2 |
|
|
98
|
-
| 0.7.7 | 09 Apr 2025 | 3.13.3 or newer | refactor phone number rewrite cfg |
|
|
99
|
-
| 0.7.9 | 09 Jun 2025 | 3.10.x | Backport 0.7.12 to Python 3.10 |
|
|
100
|
-
| 0.7.10 | 09 Jun 2025 | 3.11.x | Backport 0.7.12 to Python 3.11 |
|
|
101
|
-
| 0.7.11 | 09 Jun 2025 | 3.12.x | Backport 0.7.12 to Python 3.12 |
|
|
102
|
-
| 0.7.12 | 09 Jun 2025 | 3.13.3 or newer | Add version sub-command |
|
|
103
|
-
| 0.7.13 | 11 Jun 2025 | 3.13 or newer | Relax Python version requirement |
|
|
104
|
-
| 0.8.0 | 23 Jul 2025 | 3.10.x | Backport 0.8.3 to Python 3.10 |
|
|
105
|
-
| 0.8.1 | 23 Jul 2025 | 3.11.x | Backport 0.8.3 to Python 3.11 |
|
|
106
|
-
| 0.8.2 | 23 Jul 2025 | 3.12.x | Backport 0.8.3 to Python 3.12 |
|
|
107
|
-
| 0.8.3 | 23 Jul 2025 | 3.13 or newer | Add split-row and merge-row |
|
|
108
|
-
| 0.8.4 | 23 Nov 2025 | 3.12.x | Backport 0.8.5 to Python 3.12 |
|
|
109
|
-
| 0.8.5 | 23 Nov 2025 | 3.13 or newer | Adapted to Python 3.14 |
|
|
110
|
-
| 0.9 | 06 Jun 2026 | 3.13 or newer | Many new input/output formats |
|
|
111
|
-
|
|
112
86
|
## Running the application
|
|
113
87
|
|
|
114
88
|
### Running the application on mac and Linux
|
|
@@ -167,22 +141,28 @@ configuration file to understand the syntax and the possible options.
|
|
|
167
141
|
## Performance
|
|
168
142
|
|
|
169
143
|
This application is written for the moderate amounts of data when
|
|
170
|
-
registering participants for the majority of sports events
|
|
171
|
-
|
|
144
|
+
registering participants for the majority of sports events, or
|
|
145
|
+
processing scrum backlogs in excel. If you have millions of rows
|
|
146
|
+
this application is not for you.
|
|
172
147
|
|
|
173
148
|
With an input file consisting of 20 columns producing an output file of
|
|
174
149
|
11 columns I have measured the following performance:
|
|
175
150
|
|
|
176
|
-
| number of rows | on MacBook Air M4 |
|
|
177
|
-
|
|
178
|
-
| 100 | less than 0.2 seconds |
|
|
179
|
-
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
151
|
+
| number of rows | on MacBook Air M4 |
|
|
152
|
+
|----------------|-----------------------|
|
|
153
|
+
| 100 | less than 0.2 seconds |
|
|
154
|
+
| 1000 | less than 0.3 seconds |
|
|
155
|
+
| 10 000 | less than 2.5 seconds |
|
|
156
|
+
| 20 000 | less than 5 seconds |
|
|
157
|
+
| 40 000 | less than 11 seconds |
|
|
158
|
+
| 80 000 | less than 23 seconds |
|
|
159
|
+
| 120 000 | less than 34 seconds |
|
|
160
|
+
|
|
161
|
+
Naturally your performance will be different based on computer hardware,
|
|
162
|
+
operating system and Python version. Generally it should be reasonably
|
|
163
|
+
fast for less than 10 000 rows, painfully slow but somewhat usable up
|
|
164
|
+
to 100 000 rows and probably so slow that it is unusable for more
|
|
165
|
+
than 100 000 rows.
|
|
186
166
|
|
|
187
167
|
## Description of how to write/change the configuration file
|
|
188
168
|
|
|
@@ -529,9 +509,9 @@ Source code and tests are available at [https://bitbucket.org/tom-bjorkholm/exce
|
|
|
529
509
|
|
|
530
510
|
## Test summary
|
|
531
511
|
|
|
532
|
-
- Test result: 1368 passed in
|
|
512
|
+
- Test result: 1368 passed in 65s (0:01:05)
|
|
533
513
|
- No flake8 warnings.
|
|
534
514
|
- No mypy errors found.
|
|
535
515
|
- No python layout warnings.
|
|
536
|
-
- Built version(s): 0
|
|
516
|
+
- Built version(s): 1.0
|
|
537
517
|
- Build and test using Python 3.14.5
|
|
@@ -5,7 +5,7 @@ from setuptools import setup
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name='excel-list-transform',
|
|
8
|
-
version='0
|
|
8
|
+
version='1.0',
|
|
9
9
|
description='Transform table data with configurable row and column changes.',
|
|
10
10
|
author='Tom Björkholm',
|
|
11
11
|
author_email='klausuler_linnet0q@icloud.com',
|
|
@@ -14,9 +14,9 @@ setup(
|
|
|
14
14
|
package_dir={'excel_list_transform': 'src/excel_list_transform'},
|
|
15
15
|
package_data={'excel_list_transform': ['src/py.typed']},
|
|
16
16
|
install_requires=[
|
|
17
|
-
'tableio-cfg-json >= 0.
|
|
18
|
-
'tableio >= 0
|
|
19
|
-
'config-as-json >= 1.
|
|
17
|
+
'tableio-cfg-json >= 0.4',
|
|
18
|
+
'tableio >= 1.0',
|
|
19
|
+
'config-as-json >= 1.2',
|
|
20
20
|
'versionreporter >= 0.2',
|
|
21
21
|
'argcomplete >= 3.6.3',
|
|
22
22
|
'pip >= 26.1',
|
|
@@ -272,12 +272,11 @@ class ConfigExcelListTransform(Config, Generic[Column]):
|
|
|
272
272
|
factory_function=output_table_factory)
|
|
273
273
|
return {'input_table': input_nesting, 'output_table': output_nesting}
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
@override
|
|
276
|
+
def _get_read_old_config(self) -> ReadOldConfiguration:
|
|
276
277
|
"""Return old-format migration rules."""
|
|
277
278
|
return ConfigReadOld()
|
|
278
279
|
|
|
279
|
-
_get_read_old_configuration = _read_old_config
|
|
280
|
-
|
|
281
280
|
@override
|
|
282
281
|
def get_validation_plan(self, stderr_file: TextIO) -> ValidationPlan:
|
|
283
282
|
"""Return validation plan for config-as-json."""
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/excel_list_transform.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/commontypes.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_enums.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_match.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/config_read_old.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/file_extension.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/file_must_exist.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/generate_cfg.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/generate_txt.py
RENAMED
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/handle_tableio.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/migrate_cfg.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/rewrite_value.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/row_split_merge.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/str_to_enum.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_cmd.py
RENAMED
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_func.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.9 → excel_list_transform-1.0}/src/excel_list_transform/transform_func_num.py
RENAMED
|
File without changes
|
|
File without changes
|