excel-list-transform 1.1__tar.gz → 1.2__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 (43) hide show
  1. {excel_list_transform-1.1/excel_list_transform.egg-info → excel_list_transform-1.2}/PKG-INFO +8 -7
  2. {excel_list_transform-1.1 → excel_list_transform-1.2}/README.md +4 -3
  3. {excel_list_transform-1.1 → excel_list_transform-1.2}/README_pypi.md +4 -3
  4. {excel_list_transform-1.1 → excel_list_transform-1.2/excel_list_transform.egg-info}/PKG-INFO +8 -7
  5. excel_list_transform-1.2/excel_list_transform.egg-info/requires.txt +5 -0
  6. {excel_list_transform-1.1 → excel_list_transform-1.2}/pyproject.toml +1 -2
  7. {excel_list_transform-1.1 → excel_list_transform-1.2}/setup.py +4 -4
  8. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/config_excel_list_transform.py +17 -13
  9. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/config_xls_list_transf_name.py +4 -2
  10. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/config_xls_list_transf_num.py +4 -2
  11. excel_list_transform-1.1/excel_list_transform.egg-info/requires.txt +0 -5
  12. {excel_list_transform-1.1 → excel_list_transform-1.2}/LICENSE.txt +0 -0
  13. {excel_list_transform-1.1 → excel_list_transform-1.2}/excel_list_transform.egg-info/SOURCES.txt +0 -0
  14. {excel_list_transform-1.1 → excel_list_transform-1.2}/excel_list_transform.egg-info/dependency_links.txt +0 -0
  15. {excel_list_transform-1.1 → excel_list_transform-1.2}/excel_list_transform.egg-info/top_level.txt +0 -0
  16. {excel_list_transform-1.1 → excel_list_transform-1.2}/setup.cfg +0 -0
  17. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/__init__.py +0 -0
  18. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/__main__.py +0 -0
  19. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/check_indata_common.py +0 -0
  20. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/commontypes.py +0 -0
  21. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/config_enums.py +0 -0
  22. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/config_match.py +0 -0
  23. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/config_read_old.py +0 -0
  24. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/file_extension.py +0 -0
  25. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/file_must_exist.py +0 -0
  26. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/generate_cfg.py +0 -0
  27. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/generate_txt.py +0 -0
  28. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/handle_empty_column.py +0 -0
  29. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/handle_tableio.py +0 -0
  30. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/migrate_cfg.py +0 -0
  31. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/migrate_cfg_warn_hook.py +0 -0
  32. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/num_named_conversion.py +0 -0
  33. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/py.typed +0 -0
  34. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/recode.py +0 -0
  35. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/rewrite_value.py +0 -0
  36. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/row_split_merge.py +0 -0
  37. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/str_to_enum.py +0 -0
  38. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/transform_cmd.py +0 -0
  39. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/transform_func.py +0 -0
  40. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/transform_func_common.py +0 -0
  41. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/transform_func_named.py +0 -0
  42. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/transform_func_num.py +0 -0
  43. {excel_list_transform-1.1 → excel_list_transform-1.2}/src/excel_list_transform/version_information.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: excel-list-transform
3
- Version: 1.1
3
+ Version: 1.2
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>
@@ -16,11 +16,11 @@ Classifier: Typing :: Typed
16
16
  Requires-Python: >=3.13
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE.txt
19
- Requires-Dist: tableio-cfg-json>=0.8
19
+ Requires-Dist: tableio-cfg-json>=1.4
20
20
  Requires-Dist: tableio>=1.1
21
- Requires-Dist: config-as-json>=1.4
21
+ Requires-Dist: config-as-json>=1.7
22
22
  Requires-Dist: versionreporter>=0.4
23
- Requires-Dist: argcomplete>=3.7.0
23
+ Requires-Dist: argcomplete>=3.7.2
24
24
  Dynamic: author
25
25
  Dynamic: license-file
26
26
  Dynamic: requires-dist
@@ -510,9 +510,10 @@ Source code and tests are available at [https://github.com/tom-bjorkholm/excel-l
510
510
 
511
511
  ## Test summary
512
512
 
513
- - Test result: 1368 passed, 1 warning in 64s (0:01:04)
513
+ - Test result: 1289 passed in 60s (0:01:00)
514
514
  - No flake8 warnings.
515
515
  - No mypy errors found.
516
+ - No pylint warnings.
516
517
  - No python layout warnings.
517
- - Built version(s): 1.1
518
- - Build and test using Python 3.14.6
518
+ - Built version(s): 1.2
519
+ - Build and test using Python 3.14.7
@@ -107,9 +107,10 @@ the built and installed application in the virtual environment `./venv`.
107
107
 
108
108
  ## Test summary
109
109
 
110
- - Test result: 1368 passed, 1 warning in 64s (0:01:04)
110
+ - Test result: 1289 passed in 60s (0:01:00)
111
111
  - No flake8 warnings.
112
112
  - No mypy errors found.
113
+ - No pylint warnings.
113
114
  - No python layout warnings.
114
- - Built version(s): 1.1
115
- - Build and test using Python 3.14.6
115
+ - Built version(s): 1.2
116
+ - Build and test using Python 3.14.7
@@ -482,9 +482,10 @@ Source code and tests are available at [https://github.com/tom-bjorkholm/excel-l
482
482
 
483
483
  ## Test summary
484
484
 
485
- - Test result: 1368 passed, 1 warning in 64s (0:01:04)
485
+ - Test result: 1289 passed in 60s (0:01:00)
486
486
  - No flake8 warnings.
487
487
  - No mypy errors found.
488
+ - No pylint warnings.
488
489
  - No python layout warnings.
489
- - Built version(s): 1.1
490
- - Build and test using Python 3.14.6
490
+ - Built version(s): 1.2
491
+ - Build and test using Python 3.14.7
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: excel-list-transform
3
- Version: 1.1
3
+ Version: 1.2
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>
@@ -16,11 +16,11 @@ Classifier: Typing :: Typed
16
16
  Requires-Python: >=3.13
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE.txt
19
- Requires-Dist: tableio-cfg-json>=0.8
19
+ Requires-Dist: tableio-cfg-json>=1.4
20
20
  Requires-Dist: tableio>=1.1
21
- Requires-Dist: config-as-json>=1.4
21
+ Requires-Dist: config-as-json>=1.7
22
22
  Requires-Dist: versionreporter>=0.4
23
- Requires-Dist: argcomplete>=3.7.0
23
+ Requires-Dist: argcomplete>=3.7.2
24
24
  Dynamic: author
25
25
  Dynamic: license-file
26
26
  Dynamic: requires-dist
@@ -510,9 +510,10 @@ Source code and tests are available at [https://github.com/tom-bjorkholm/excel-l
510
510
 
511
511
  ## Test summary
512
512
 
513
- - Test result: 1368 passed, 1 warning in 64s (0:01:04)
513
+ - Test result: 1289 passed in 60s (0:01:00)
514
514
  - No flake8 warnings.
515
515
  - No mypy errors found.
516
+ - No pylint warnings.
516
517
  - No python layout warnings.
517
- - Built version(s): 1.1
518
- - Build and test using Python 3.14.6
518
+ - Built version(s): 1.2
519
+ - Build and test using Python 3.14.7
@@ -0,0 +1,5 @@
1
+ tableio-cfg-json>=1.4
2
+ tableio>=1.1
3
+ config-as-json>=1.7
4
+ versionreporter>=0.4
5
+ argcomplete>=3.7.2
@@ -4,7 +4,6 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "excel-list-transform"
7
- version = "1.1"
8
7
  authors = [
9
8
  { name="Tom Björkholm", email="klausuler_linnet0q@icloud.com" },
10
9
  ]
@@ -21,7 +20,7 @@ classifiers = [
21
20
  "Topic :: Office/Business",
22
21
  "Typing :: Typed"
23
22
  ]
24
- dynamic = ["dependencies"]
23
+ dynamic = ["dependencies", "version"]
25
24
 
26
25
  [project.urls]
27
26
  "Source code" = "https://github.com/tom-bjorkholm/excel-list-transform"
@@ -5,7 +5,7 @@ from setuptools import setup
5
5
 
6
6
  setup(
7
7
  name='excel-list-transform',
8
- version='1.1',
8
+ version='1.2',
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,10 +14,10 @@ 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.8',
17
+ 'tableio-cfg-json >= 1.4',
18
18
  'tableio >= 1.1',
19
- 'config-as-json >= 1.4',
19
+ 'config-as-json >= 1.7',
20
20
  'versionreporter >= 0.4',
21
- 'argcomplete >= 3.7.0'
21
+ 'argcomplete >= 3.7.2'
22
22
  ]
23
23
  )
@@ -18,7 +18,7 @@ from config_as_json import Config, ConfigAutoChangeHook, ConfigNesting, \
18
18
  CallingWholeConfigValidator, MemberValidator, DictKeysValidator, \
19
19
  DictRule, DictForEachValidator, DictVariant, \
20
20
  DiscriminatedDictValidator, ListForEachValidator, \
21
- ListSizeValidator, ListValueTypeValidator
21
+ ListSizeValidator, ListValueTypeValidator, member_path
22
22
  from tableio import CAP_IGNORABLE, CAP_NEEDED, Capabilities, FileAccess, \
23
23
  TableBorderStyle
24
24
  from tableio_cfg_json import TioJsonConfig
@@ -70,28 +70,28 @@ def output_capabilities() -> Capabilities:
70
70
  can_write_borders=CAP_IGNORABLE)
71
71
 
72
72
 
73
- def input_table_factory(from_json_data_text: Optional[str] = None,
73
+ def input_table_factory(*, from_json_data_text: Optional[str] = None,
74
74
  from_json_filename: Optional[PathOrStr] = None,
75
- auto_ch_hook: Optional[ConfigAutoChangeHook] = None,
76
- stderr_file: TextIO = sys.stderr) -> TioJsonConfig:
75
+ stderr_file: TextIO = sys.stderr,
76
+ member_name: Optional[str] = None) -> TioJsonConfig:
77
77
  """Create JSON-backed TableIO configuration for input files."""
78
78
  return TioJsonConfig(capabilities=input_capabilities(),
79
79
  file_access=FileAccess.READ,
80
80
  from_json_data_text=from_json_data_text,
81
81
  from_json_filename=from_json_filename,
82
- auto_ch_hook=auto_ch_hook, stderr_file=stderr_file)
82
+ stderr_file=stderr_file, member_name=member_name)
83
83
 
84
84
 
85
- def output_table_factory(from_json_data_text: Optional[str] = None,
85
+ def output_table_factory(*, from_json_data_text: Optional[str] = None,
86
86
  from_json_filename: Optional[PathOrStr] = None,
87
- auto_ch_hook: Optional[ConfigAutoChangeHook] = None,
88
- stderr_file: TextIO = sys.stderr) -> TioJsonConfig:
87
+ stderr_file: TextIO = sys.stderr,
88
+ member_name: Optional[str] = None) -> TioJsonConfig:
89
89
  """Create JSON-backed TableIO configuration for output files."""
90
90
  return TioJsonConfig(capabilities=output_capabilities(),
91
91
  file_access=FileAccess.CREATE,
92
92
  from_json_data_text=from_json_data_text,
93
93
  from_json_filename=from_json_filename,
94
- auto_ch_hook=auto_ch_hook, stderr_file=stderr_file)
94
+ stderr_file=stderr_file, member_name=member_name)
95
95
 
96
96
 
97
97
  def _invalid_projection(member_name: str, message: str,
@@ -202,7 +202,8 @@ class ConfigExcelListTransform(Config, Generic[Column]):
202
202
  tinfo: Column, from_json_data_text: Optional[str] = None,
203
203
  from_json_filename: Optional[PathOrStr] = None,
204
204
  auto_ch_hook: Optional[ConfigAutoChangeHook] = None,
205
- stderr_file: TextIO = sys.stderr) -> None:
205
+ stderr_file: TextIO = sys.stderr,
206
+ member_name: Optional[str] = None) -> None:
206
207
  """Construct configuration for excel list transform."""
207
208
  assert isinstance(colinfo.tinfo, type(tinfo))
208
209
  hook = EltMigrateCfgWarnHook() if auto_ch_hook is None \
@@ -213,9 +214,11 @@ class ConfigExcelListTransform(Config, Generic[Column]):
213
214
  col2use = deepcopy(colinfo.col_to_use) # dont destroying caller's arg
214
215
  col2userow = deepcopy(colinfo.col_to_use_row)
215
216
  self.max_column_read: int = 20
216
- self.input_table: TioJsonConfig = input_table_factory()
217
+ self.input_table: TioJsonConfig = input_table_factory(
218
+ member_name=member_path(member_name, 'input_table'))
217
219
  self.input_table.character_encoding = 'utf_8_sig'
218
- self.output_table: TioJsonConfig = output_table_factory()
220
+ self.output_table: TioJsonConfig = output_table_factory(
221
+ member_name=member_path(member_name, 'output_table'))
219
222
  self.output_table.character_encoding = 'utf-8'
220
223
  self.in_excel_col_name_strip = True
221
224
  self.in_excel_values_strip = False
@@ -259,7 +262,8 @@ class ConfigExcelListTransform(Config, Generic[Column]):
259
262
  'case': CaseSensitivity.IGNORE_CASE}]
260
263
  super().__init__(from_json_data_text=from_json_data_text,
261
264
  from_json_filename=from_json_filename,
262
- auto_ch_hook=hook, stderr_file=stderr_file)
265
+ auto_ch_hook=hook, stderr_file=stderr_file,
266
+ member_name=member_name)
263
267
 
264
268
  @override
265
269
  def nested_configs(self) -> NestedConfigs:
@@ -21,7 +21,8 @@ class ConfigXlsListTransfName(ConfigExcelListTransform[str]):
21
21
  def __init__(self, from_json_data_text: Optional[str] = None,
22
22
  from_json_filename: Optional[PathOrStr] = None,
23
23
  auto_ch_hook: Optional[ConfigAutoChangeHook] = None,
24
- stderr_file: TextIO = sys.stderr) -> None:
24
+ stderr_file: TextIO = sys.stderr, *,
25
+ member_name: Optional[str] = None) -> None:
25
26
  """Construct configuration for excel list transform."""
26
27
  col_to_use = ['street', 'street number', 'name', 'last name',
27
28
  'Phone', 'Phone', 'Phone', 'Phone', 'Phone',
@@ -43,7 +44,8 @@ class ConfigXlsListTransfName(ConfigExcelListTransform[str]):
43
44
  super().__init__(col_ref=ColumnRef.BY_NAME, colinfo=colinfo, tinfo='a',
44
45
  from_json_data_text=from_json_data_text,
45
46
  from_json_filename=from_json_filename,
46
- auto_ch_hook=auto_ch_hook, stderr_file=stderr_file)
47
+ auto_ch_hook=auto_ch_hook, stderr_file=stderr_file,
48
+ member_name=member_name)
47
49
 
48
50
  @override
49
51
  def get_column_val_steps(self) -> list[MemberValidationStep]:
@@ -37,7 +37,8 @@ class ConfigXlsListTransfNum(ConfigExcelListTransform[int]):
37
37
  def __init__(self, from_json_data_text: Optional[str] = None,
38
38
  from_json_filename: Optional[PathOrStr] = None,
39
39
  auto_ch_hook: Optional[ConfigAutoChangeHook] = None,
40
- stderr_file: TextIO = sys.stderr) -> None:
40
+ stderr_file: TextIO = sys.stderr, *,
41
+ member_name: Optional[str] = None) -> None:
41
42
  """Construct configuration for excel list transform."""
42
43
  self.s04_remove_columns: RuleRemove = [1, 2, 3]
43
44
  self.s06_place_columns_first: RulePlace = [7, 3, 6]
@@ -55,7 +56,8 @@ class ConfigXlsListTransfNum(ConfigExcelListTransform[int]):
55
56
  super().__init__(col_ref=ColumnRef.BY_NUMBER, colinfo=colinfo, tinfo=2,
56
57
  from_json_data_text=from_json_data_text,
57
58
  from_json_filename=from_json_filename,
58
- auto_ch_hook=auto_ch_hook, stderr_file=stderr_file)
59
+ auto_ch_hook=auto_ch_hook, stderr_file=stderr_file,
60
+ member_name=member_name)
59
61
 
60
62
  @override
61
63
  def column_shape_steps(self) -> list[MemberValidationStep]:
@@ -1,5 +0,0 @@
1
- tableio-cfg-json>=0.8
2
- tableio>=1.1
3
- config-as-json>=1.4
4
- versionreporter>=0.4
5
- argcomplete>=3.7.0