exstruct 0.2.60__tar.gz → 0.2.61__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.
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: exstruct
3
- Version: 0.2.60
3
+ Version: 0.2.61
4
4
  Summary: Excel to structured JSON (tables, shapes, charts) for LLM/RAG pipelines
5
5
  Keywords: excel,structure,data,exstruct
6
6
  Author: harumiWeb
7
- Author-email: harumiWeb <ganaharumi@outlook.jp>
8
7
  License: BSD 3-Clause License
9
8
 
10
9
  Copyright (c) 2025, ExStruct Contributors
@@ -1,112 +1,118 @@
1
- [project]
2
- name = "exstruct"
3
- version = "0.2.60"
4
- description = "Excel to structured JSON (tables, shapes, charts) for LLM/RAG pipelines"
5
- readme = "README.md"
6
- license = { file = "LICENSE" }
7
- keywords = ["excel", "structure", "data", "exstruct"]
8
- authors = [
9
- { name = "harumiWeb", email = "ganaharumi@outlook.jp" }
10
- ]
11
- requires-python = ">=3.11"
12
- dependencies = [
13
- "numpy>=2.3.5",
14
- "openpyxl>=3.1.5",
15
- "pandas>=2.3.3",
16
- "pydantic>=2.12.5",
17
- "scipy>=1.16.3",
18
- "xlwings>=0.33.16",
19
- ]
20
-
21
- [build-system]
22
- requires = ["uv_build>=0.8.4,<0.9.0"]
23
- build-backend = "uv_build"
24
-
25
- [dependency-groups]
26
- dev = [
27
- "mkdocs-material>=9.7.0",
28
- "mypy>=1.19.0",
29
- "pre-commit>=4.5.0",
30
- "pytest>=9.0.1",
31
- "pytest-cov>=7.0.0",
32
- "pytest-mock>=3.15.1",
33
- "ruff>=0.14.8",
34
- ]
35
-
36
- [project.optional-dependencies]
37
- yaml = ["pyyaml>=6.0.3"]
38
- toon = ["python-toon>=0.1.3"]
39
- render = ["pypdfium2>=5.1.0", "Pillow>=12.0.0"]
40
-
41
- [project.scripts]
42
- exstruct = "exstruct.cli.main:main"
43
-
44
- [project.urls]
45
- Homepage = "https://harumiweb.github.io/exstruct/"
46
- Repository = "https://github.com/harumiWeb/exstruct"
47
- Issues = "https://github.com/harumiWeb/exstruct/issues"
48
- Documentation = "https://harumiweb.github.io/exstruct/"
49
-
50
- [tool.coverage.run]
51
- omit = [
52
- "tests/*",
53
- "*/test_*.py",
54
- "*/gen_py/*",
55
- ]
56
-
57
- [tool.ruff]
58
- target-version = "py311"
59
- src = ["exstruct"]
60
-
61
- select = [
62
- "E", # pycodestyle errors
63
- "W", # pycodestyle warnings
64
- "F", # pyflakes
65
- "I", # import sorting
66
- "UP", # pyupgrade
67
- "B", # flake8-bugbear
68
- "N", # naming
69
- "C90", # complexity
70
- "A", # flake8-builtins
71
- "ANN", # type annotations
72
- ]
73
-
74
- ignore = [
75
- "E501", # 行長は許容(Excel JSON は長くなりがち)
76
- "B008", # Pydantic の default_factory を誤検知するため
77
- "ANN101", # self に型を要求されてしまうため
78
- "ANN102", # cls も同様
79
- ]
80
-
81
- fix = true
82
-
83
- # 型ヒントのスタイル
84
- [tool.ruff.lint]
85
- extend-select = ["ANN"]
86
-
87
- # import の並び替え設定
88
- [tool.ruff.isort]
89
- combine-as-imports = true
90
- known-first-party = ["exstruct"]
91
- force-sort-within-sections = true
92
-
93
- # 複雑度チェック(関数の最大複雑度)
94
- [tool.ruff.mccabe]
95
- max-complexity = 12
96
-
97
- [tool.ruff.per-file-ignores]
98
- "tests/**/*.py" = ["N802", "N803", "N806"]
99
-
100
-
101
- [tool.mypy]
102
- packages = ["exstruct"]
103
- python_version = "3.11"
104
-
105
- # 外部ライブラリは一切チェックしない
106
- ignore_missing_imports = true
107
-
108
- # 自作コードは厳密にチェックする
109
- strict = true
110
-
111
- # Pydantic v2 向け
112
- plugins = ["pydantic.mypy"]
1
+ [project]
2
+ name = "exstruct"
3
+ version = "0.2.61"
4
+ description = "Excel to structured JSON (tables, shapes, charts) for LLM/RAG pipelines"
5
+ readme = "README.md"
6
+ license = { file = "LICENSE" }
7
+ keywords = ["excel", "structure", "data", "exstruct"]
8
+ authors = [
9
+ { name = "harumiWeb"}
10
+ ]
11
+ requires-python = ">=3.11"
12
+ dependencies = [
13
+ "numpy>=2.3.5",
14
+ "openpyxl>=3.1.5",
15
+ "pandas>=2.3.3",
16
+ "pydantic>=2.12.5",
17
+ "scipy>=1.16.3",
18
+ "xlwings>=0.33.16",
19
+ ]
20
+
21
+ [build-system]
22
+ requires = ["uv_build>=0.8.4,<0.9.0"]
23
+ build-backend = "uv_build"
24
+
25
+ [dependency-groups]
26
+ dev = [
27
+ "mkdocs-material>=9.7.0",
28
+ "mypy>=1.19.0",
29
+ "pre-commit>=4.5.0",
30
+ "pytest>=9.0.1",
31
+ "pytest-cov>=7.0.0",
32
+ "pytest-mock>=3.15.1",
33
+ "ruff>=0.14.8",
34
+ ]
35
+
36
+ [project.optional-dependencies]
37
+ yaml = ["pyyaml>=6.0.3"]
38
+ toon = ["python-toon>=0.1.3"]
39
+ render = ["pypdfium2>=5.1.0", "Pillow>=12.0.0"]
40
+
41
+ [project.scripts]
42
+ exstruct = "exstruct.cli.main:main"
43
+
44
+ [project.urls]
45
+ Homepage = "https://harumiweb.github.io/exstruct/"
46
+ Repository = "https://github.com/harumiWeb/exstruct"
47
+ Issues = "https://github.com/harumiWeb/exstruct/issues"
48
+ Documentation = "https://harumiweb.github.io/exstruct/"
49
+
50
+ [tool.coverage.run]
51
+ omit = [
52
+ "tests/*",
53
+ "*/test_*.py",
54
+ "*/gen_py/*",
55
+ ]
56
+
57
+ [tool.ruff]
58
+ target-version = "py311"
59
+ src = ["exstruct"]
60
+
61
+ select = [
62
+ "E", # pycodestyle errors
63
+ "W", # pycodestyle warnings
64
+ "F", # pyflakes
65
+ "I", # import sorting
66
+ "UP", # pyupgrade
67
+ "B", # flake8-bugbear
68
+ "N", # naming
69
+ "C90", # complexity
70
+ "A", # flake8-builtins
71
+ "ANN", # type annotations
72
+ ]
73
+
74
+ ignore = [
75
+ "E501", # 行長は許容(Excel JSON は長くなりがち)
76
+ "B008", # Pydantic の default_factory を誤検知するため
77
+ "ANN101", # self に型を要求されてしまうため
78
+ "ANN102", # cls も同様
79
+ ]
80
+
81
+ fix = true
82
+
83
+ # 型ヒントのスタイル
84
+ [tool.ruff.lint]
85
+ extend-select = ["ANN"]
86
+
87
+ # import の並び替え設定
88
+ [tool.ruff.isort]
89
+ combine-as-imports = true
90
+ known-first-party = ["exstruct"]
91
+ force-sort-within-sections = true
92
+
93
+ # 複雑度チェック(関数の最大複雑度)
94
+ [tool.ruff.mccabe]
95
+ max-complexity = 12
96
+
97
+ [tool.ruff.per-file-ignores]
98
+ "tests/**/*.py" = ["N802", "N803", "N806"]
99
+
100
+
101
+ [tool.mypy]
102
+ packages = ["exstruct"]
103
+ python_version = "3.11"
104
+
105
+ # 外部ライブラリは一切チェックしない
106
+ ignore_missing_imports = true
107
+
108
+ # 自作コードは厳密にチェックする
109
+ strict = true
110
+
111
+ # Pydantic v2 向け
112
+ plugins = ["pydantic.mypy"]
113
+
114
+ [tool.pytest.ini_options]
115
+ markers = [
116
+ "com: requires Excel COM (Windows + Excel)",
117
+ "render: requires Excel COM and pypdfium2; set RUN_RENDER_SMOKE=1 to enable",
118
+ ]