licos-dev-sdk 0.4.4__tar.gz → 0.4.5__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 (50) hide show
  1. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/DOCX.md +1 -1
  2. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/PKG-INFO +1 -1
  3. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/pyproject.toml +1 -1
  4. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_inspect.py +1 -1
  5. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_docx_inspect.py +20 -0
  6. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/.gitignore +0 -0
  7. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/__init__.py +0 -0
  8. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/_utils.py +0 -0
  9. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/archive.py +0 -0
  10. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/chart.py +0 -0
  11. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/data.py +0 -0
  12. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/diagram.py +0 -0
  13. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document.py +0 -0
  14. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_common.py +0 -0
  15. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx.py +0 -0
  16. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_edit.py +0 -0
  17. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_expectations.py +0 -0
  18. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_layout.py +0 -0
  19. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_package.py +0 -0
  20. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_preservation.py +0 -0
  21. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_structure.py +0 -0
  22. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_table.py +0 -0
  23. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_docx_table_actions.py +0 -0
  24. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_read.py +0 -0
  25. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/document_table_export.py +0 -0
  26. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/image.py +0 -0
  27. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/model.py +0 -0
  28. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/observability.py +0 -0
  29. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/pdf_inspect.py +0 -0
  30. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/ppt_master_runtime.py +0 -0
  31. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/presentation.py +0 -0
  32. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/presentation_canvas.py +0 -0
  33. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/presentation_inspect.py +0 -0
  34. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/spreadsheet.py +0 -0
  35. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/spreadsheet_edit.py +0 -0
  36. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/spreadsheet_html.py +0 -0
  37. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/spreadsheet_inspect.py +0 -0
  38. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/src/licos_dev_sdk/web.py +0 -0
  39. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_document_read.py +0 -0
  40. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_document_spreadsheet.py +0 -0
  41. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_document_table_export.py +0 -0
  42. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_docx_structure.py +0 -0
  43. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_docx_table_edit.py +0 -0
  44. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_html_docx_features.py +0 -0
  45. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_model.py +0 -0
  46. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_observability.py +0 -0
  47. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_output_paths.py +0 -0
  48. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_ppt_master_runtime.py +0 -0
  49. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_presentation.py +0 -0
  50. {licos_dev_sdk-0.4.4 → licos_dev_sdk-0.4.5}/tests/test_spreadsheet_html_edit.py +0 -0
@@ -1,4 +1,4 @@
1
- # Word SDK / CLI 0.4.4
1
+ # Word SDK / CLI 0.4.5
2
2
 
3
3
  Cloud document execution stays in `licos-dev-sdk` and `licos-dev`. CLI commands
4
4
  only parse arguments and call the SDK; no additional Agent-native Word tools are
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: licos-dev-sdk
3
- Version: 0.4.4
3
+ Version: 0.4.5
4
4
  Summary: LICOS Dev SDK - file generation and model capability clients
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: beautifulsoup4>=4.12
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "licos-dev-sdk"
7
- version = "0.4.4"
7
+ version = "0.4.5"
8
8
  description = "LICOS Dev SDK - file generation and model capability clients"
9
9
  requires-python = ">=3.10"
10
10
  dependencies = [
@@ -62,7 +62,7 @@ def inspect_docx(source: str | Path, *, scope: str = "all", offset: int = 1, lim
62
62
  if element.tag == W + "tbl":
63
63
  grid = element.find(W + "tblGrid")
64
64
  tables.append({"part": part, "row_count": len(element.findall(W + "tr")),
65
- "column_count": len(grid) if grid is not None else None})
65
+ "column_count": len(grid.findall(W + "gridCol")) if grid is not None else None})
66
66
  if element.tag not in {A + "blip", V + "imagedata"}:
67
67
  continue
68
68
  rid = element.get(R + "embed") or element.get(R + "link") or element.get(R + "id")
@@ -82,6 +82,26 @@ def test_incomplete_toc_and_external_or_missing_image_relationships(tmp_path):
82
82
  assert [image['status'] for image in report['images']['items']] == ['external', 'missing_relationship']
83
83
 
84
84
 
85
+ def test_table_grid_revisions_do_not_count_as_current_columns(tmp_path):
86
+ path = tmp_path / 'tracked-table.docx'
87
+ doc = Document()
88
+ table = doc.add_table(rows=3, cols=2)
89
+ change = OxmlElement('w:tblGridChange')
90
+ change.set(qn('w:id'), '1')
91
+ previous = OxmlElement('w:tblGrid')
92
+ previous.append(OxmlElement('w:gridCol'))
93
+ change.append(previous)
94
+ table._tbl.tblGrid.append(change)
95
+ doc.save(path)
96
+ original = path.read_bytes()
97
+ assert len(Document(path).tables[0].columns) == 2
98
+ report = inspect_docx(path, scope='tables')
99
+ assert report['tables']['items'] == [
100
+ {'part': 'word/document.xml', 'row_count': 3, 'column_count': 2},
101
+ ]
102
+ assert path.read_bytes() == original
103
+
104
+
85
105
  def test_batch_file_assertions_resolve_from_explicit_base_and_keep_exact_text(tmp_path, monkeypatch):
86
106
  path = tmp_path / 'report.docx'
87
107
  text = ' 中文🙂\tA\n' * 90 + ' '
File without changes