docx-cli 0.1.0__tar.gz → 0.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 (67) hide show
  1. {docx_cli-0.1.0 → docx_cli-0.1.2}/CHANGELOG.md +8 -0
  2. {docx_cli-0.1.0 → docx_cli-0.1.2}/LICENSE +30 -27
  3. {docx_cli-0.1.0 → docx_cli-0.1.2}/PKG-INFO +7 -6
  4. {docx_cli-0.1.0 → docx_cli-0.1.2}/README.md +6 -5
  5. {docx_cli-0.1.0 → docx_cli-0.1.2}/README.ru.md +1 -1
  6. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/__init__.py +1 -1
  7. {docx_cli-0.1.0 → docx_cli-0.1.2}/pyproject.toml +1 -1
  8. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v0100_release_meta.py +2 -2
  9. {docx_cli-0.1.0 → docx_cli-0.1.2}/.gitattributes +0 -0
  10. {docx_cli-0.1.0 → docx_cli-0.1.2}/.gitignore +0 -0
  11. {docx_cli-0.1.0 → docx_cli-0.1.2}/CONTRIBUTING.md +0 -0
  12. {docx_cli-0.1.0 → docx_cli-0.1.2}/NOTICE +0 -0
  13. {docx_cli-0.1.0 → docx_cli-0.1.2}/SECURITY.md +0 -0
  14. {docx_cli-0.1.0 → docx_cli-0.1.2}/SPEC.md +0 -0
  15. {docx_cli-0.1.0 → docx_cli-0.1.2}/assets/flags/gb.svg +0 -0
  16. {docx_cli-0.1.0 → docx_cli-0.1.2}/assets/flags/ru.svg +0 -0
  17. {docx_cli-0.1.0 → docx_cli-0.1.2}/assets/poster.jpg +0 -0
  18. {docx_cli-0.1.0 → docx_cli-0.1.2}/docs/design/nested-lists-tables.md +0 -0
  19. {docx_cli-0.1.0 → docx_cli-0.1.2}/docs/vault/ARCHITECTURE.md +0 -0
  20. {docx_cli-0.1.0 → docx_cli-0.1.2}/docs/vault/LIMITATIONS.md +0 -0
  21. {docx_cli-0.1.0 → docx_cli-0.1.2}/docs/vault/USAGE.md +0 -0
  22. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/__main__.py +0 -0
  23. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/agent_reader.py +0 -0
  24. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/blocks.py +0 -0
  25. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/builder.py +0 -0
  26. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/cli.py +0 -0
  27. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/errors.py +0 -0
  28. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/fonts_normalize.py +0 -0
  29. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/inject_scan.py +0 -0
  30. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/mcp_server.py +0 -0
  31. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/md_court.py +0 -0
  32. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/profiles.py +0 -0
  33. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/spec.py +0 -0
  34. {docx_cli-0.1.0 → docx_cli-0.1.2}/docx_cli/validate.py +0 -0
  35. {docx_cli-0.1.0 → docx_cli-0.1.2}/examples/spec_example.json +0 -0
  36. {docx_cli-0.1.0 → docx_cli-0.1.2}/templates/hodatajstvo.json +0 -0
  37. {docx_cli-0.1.0 → docx_cli-0.1.2}/templates/iskovoe_zayavlenie.json +0 -0
  38. {docx_cli-0.1.0 → docx_cli-0.1.2}/templates/otzyv_na_isk.json +0 -0
  39. {docx_cli-0.1.0 → docx_cli-0.1.2}/templates/soyu_rayon.json +0 -0
  40. {docx_cli-0.1.0 → docx_cli-0.1.2}/templates/vs_sud.json +0 -0
  41. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/conftest.py +0 -0
  42. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/fixtures/v0100_legacy_md.json +0 -0
  43. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/fixtures/v053_repro.md +0 -0
  44. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_builder.py +0 -0
  45. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_cli.py +0 -0
  46. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_court.py +0 -0
  47. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_inject_scan.py +0 -0
  48. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_spec.py +0 -0
  49. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v0100_mcp.py +0 -0
  50. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v0100_nested_lists_tables.py +0 -0
  51. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v0100_profiles.py +0 -0
  52. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v040.py +0 -0
  53. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v050.py +0 -0
  54. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v051.py +0 -0
  55. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v052.py +0 -0
  56. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v053.py +0 -0
  57. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v060_normalize.py +0 -0
  58. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v060_scan_vectors.py +0 -0
  59. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v070_lists.py +0 -0
  60. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v070_md.py +0 -0
  61. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v070_profile.py +0 -0
  62. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v070_title.py +0 -0
  63. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v070_validate.py +0 -0
  64. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v070_verify.py +0 -0
  65. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v080_control_pins.py +0 -0
  66. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_v090_control_pins.py +0 -0
  67. {docx_cli-0.1.0 → docx_cli-0.1.2}/tests/test_validate.py +0 -0
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.2
4
+
5
+ - LICENSE — теперь полный канонический текст Apache-2.0 (предыдущий был пересказом; права и ограничения те же).
6
+
7
+ ## 0.1.1
8
+
9
+ - PyPI install: `pip install docx-cli`.
10
+
3
11
  ## 0.1.0
4
12
 
5
13
  - First public release: deterministic .docx builder from JSON specs and Markdown,
@@ -1,3 +1,4 @@
1
+
1
2
  Apache License
2
3
  Version 2.0, January 2004
3
4
  http://www.apache.org/licenses/
@@ -59,8 +60,8 @@
59
60
  excluding communication that is conspicuously marked or otherwise
60
61
  designated in writing by the copyright owner as "Not a Contribution."
61
62
 
62
- "Contributor" shall mean Licensor and any individual or entity on
63
- behalf of whom a Contribution has been received by Licensor and
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
64
65
  subsequently incorporated within the Work.
65
66
 
66
67
  2. Grant of Copyright License. Subject to the terms and conditions of
@@ -91,8 +92,8 @@
91
92
  modifications, and in Source or Object form, provided that You
92
93
  meet the following conditions:
93
94
 
94
- (a) You must give any other recipients of the Work or Derivative
95
- Works a copy of this License; and
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
96
97
 
97
98
  (b) You must cause any modified files to carry prominent notices
98
99
  stating that You changed the files; and
@@ -116,7 +117,7 @@
116
117
  of the NOTICE file are for informational purposes only and
117
118
  do not modify the License. You may add Your own attribution
118
119
  notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text file from the Work, provided
120
+ or as an addendum to the NOTICE text from the Work, provided
120
121
  that such additional attribution notices cannot be construed
121
122
  as modifying the License.
122
123
 
@@ -146,26 +147,28 @@
146
147
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
148
  implied, including, without limitation, any warranties or conditions
148
149
  of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for ensuring that
150
- any use you make of this software complies with the laws and
151
- regulations of your jurisdiction.
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
152
153
 
153
154
  8. Limitation of Liability. In no event and under no legal theory,
154
155
  whether in tort (including negligence), contract, or otherwise,
155
156
  unless required by applicable law (such as deliberate and grossly
156
157
  negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to you for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any kind arising as a
159
- result of this License or out of the use or performance of the
160
- Work (even if such Contributor has been advised of the possibility
161
- of such damages).
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
162
165
 
163
166
  9. Accepting Warranty or Additional Liability. While redistributing
164
- the Work or Derivative Works thereof, You may choose to offer, and
165
- charge a fee for, acceptance of support, warranty, indemnity, or
166
- other liability obligations and/or rights consistent with this
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
167
170
  License. However, in accepting such obligations, You may act only
168
- on Your own behalf and on Your own responsibility, not on behalf
171
+ on Your own behalf and on Your sole responsibility, not on behalf
169
172
  of any other Contributor, and only if You agree to indemnify,
170
173
  defend, and hold each Contributor harmless for any liability
171
174
  incurred by, or claims asserted against, such Contributor by reason
@@ -184,16 +187,16 @@
184
187
  same "printed page" as the copyright notice for easier
185
188
  identification within third-party archives.
186
189
 
187
- Copyright [yyyy] [name of copyright owner]
190
+ Copyright [yyyy] [name of copyright owner]
188
191
 
189
- Licensed under the Apache License, Version 2.0 (the "License");
190
- you may not use this file except in compliance with the License.
191
- You may obtain a copy of the License at
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
192
195
 
193
- http://www.apache.org/licenses/LICENSE-2.0
196
+ http://www.apache.org/licenses/LICENSE-2.0
194
197
 
195
- Unless required by applicable law or agreed to in writing, software
196
- distributed under the License is distributed on an "AS IS" BASIS,
197
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
198
- implied. See the License for the specific language governing
199
- permissions and limitations under the License.
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: docx-cli
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Deterministic .docx generation, reverse validation and injection scanning for Russian legal documents
5
5
  Author-email: lnfnt <lnfnt@proton.me>
6
6
  License: Apache-2.0
@@ -14,7 +14,7 @@ Description-Content-Type: text/markdown
14
14
 
15
15
  # docx-cli
16
16
 
17
- ![license](https://img.shields.io/badge/license-Apache--2.0-blue) ![python](https://img.shields.io/badge/python-3.11%2B-green) ![release](https://img.shields.io/badge/release-v0.1.0-informational) ![MCP](https://img.shields.io/badge/MCP-8%20tools-brightgreen) ![artifacts](https://img.shields.io/badge/artifacts-GPG--signed-green)
17
+ ![license](https://img.shields.io/badge/license-Apache--2.0-blue) ![python](https://img.shields.io/badge/python-3.11%2B-green) ![release](https://img.shields.io/badge/release-v0.1.2-informational) ![MCP](https://img.shields.io/badge/MCP-8%20tools-brightgreen) ![artifacts](https://img.shields.io/badge/artifacts-GPG--signed-green)
18
18
 
19
19
 
20
20
  <p align="center"><img src="assets/poster.jpg" width="820" alt="docx-cli poster"></p>
@@ -30,11 +30,13 @@ error envelope is returned. Includes an injection scanner for incoming text and
30
30
  ## Install
31
31
 
32
32
  ```bash
33
- pip install git+https://github.com/lnfnt/docx-cli.git
33
+ pip install docx-cli
34
34
  docx-cli doctor
35
35
  ```
36
36
 
37
- Not on PyPI. Checkout: `git clone https://github.com/lnfnt/docx-cli.git && cd docx-cli
37
+ From the repo: `pip install git+https://github.com/lnfnt/docx-cli.git`.
38
+
39
+ From PyPI: `pip install docx-cli`. Checkout: `git clone https://github.com/lnfnt/docx-cli.git && cd docx-cli
38
40
  && python3 -m venv .venv && . .venv/bin/activate && pip install -e .` (or `pipx install .`).
39
41
  Python >= 3.11; deps: python-docx, pydantic, lxml. No network calls.
40
42
 
@@ -79,8 +81,7 @@ lines return a `-32700` envelope without crashing.
79
81
  Nested lists of depth 1-4 (`List Bullet/Number 2-3`; depth >4 skipped with a
80
82
  `list_depth_gt4` marker in the report); GFM pipe tables (`Table Grid`, alignments, repeated
81
83
  headers, inline formatting in cells, `\|` escaping); block constructs inside cells are
82
- unsupported and flagged (`block_in_cell`). Legacy md converts structurally identically to
83
- v0.9.0.
84
+ unsupported and flagged (`block_in_cell`). The md converter output is layout-stable across releases.
84
85
 
85
86
  ## Limits
86
87
 
@@ -1,6 +1,6 @@
1
1
  # docx-cli
2
2
 
3
- ![license](https://img.shields.io/badge/license-Apache--2.0-blue) ![python](https://img.shields.io/badge/python-3.11%2B-green) ![release](https://img.shields.io/badge/release-v0.1.0-informational) ![MCP](https://img.shields.io/badge/MCP-8%20tools-brightgreen) ![artifacts](https://img.shields.io/badge/artifacts-GPG--signed-green)
3
+ ![license](https://img.shields.io/badge/license-Apache--2.0-blue) ![python](https://img.shields.io/badge/python-3.11%2B-green) ![release](https://img.shields.io/badge/release-v0.1.2-informational) ![MCP](https://img.shields.io/badge/MCP-8%20tools-brightgreen) ![artifacts](https://img.shields.io/badge/artifacts-GPG--signed-green)
4
4
 
5
5
 
6
6
  <p align="center"><img src="assets/poster.jpg" width="820" alt="docx-cli poster"></p>
@@ -16,11 +16,13 @@ error envelope is returned. Includes an injection scanner for incoming text and
16
16
  ## Install
17
17
 
18
18
  ```bash
19
- pip install git+https://github.com/lnfnt/docx-cli.git
19
+ pip install docx-cli
20
20
  docx-cli doctor
21
21
  ```
22
22
 
23
- Not on PyPI. Checkout: `git clone https://github.com/lnfnt/docx-cli.git && cd docx-cli
23
+ From the repo: `pip install git+https://github.com/lnfnt/docx-cli.git`.
24
+
25
+ From PyPI: `pip install docx-cli`. Checkout: `git clone https://github.com/lnfnt/docx-cli.git && cd docx-cli
24
26
  && python3 -m venv .venv && . .venv/bin/activate && pip install -e .` (or `pipx install .`).
25
27
  Python >= 3.11; deps: python-docx, pydantic, lxml. No network calls.
26
28
 
@@ -65,8 +67,7 @@ lines return a `-32700` envelope without crashing.
65
67
  Nested lists of depth 1-4 (`List Bullet/Number 2-3`; depth >4 skipped with a
66
68
  `list_depth_gt4` marker in the report); GFM pipe tables (`Table Grid`, alignments, repeated
67
69
  headers, inline formatting in cells, `\|` escaping); block constructs inside cells are
68
- unsupported and flagged (`block_in_cell`). Legacy md converts structurally identically to
69
- v0.9.0.
70
+ unsupported and flagged (`block_in_cell`). The md converter output is layout-stable across releases.
70
71
 
71
72
  ## Limits
72
73
 
@@ -17,7 +17,7 @@
17
17
  ## Установка
18
18
 
19
19
  ```bash
20
- pip install git+https://github.com/lnfnt/docx-cli.git
20
+ pip install docx-cli
21
21
  docx-cli doctor
22
22
  ```
23
23
 
@@ -3,6 +3,6 @@ from docx_cli.builder import build_document
3
3
  from docx_cli.spec import DocSpec
4
4
  from docx_cli.validate import validate_document
5
5
 
6
- __version__ = "0.1.0"
6
+ __version__ = "0.1.2"
7
7
 
8
8
  __all__ = ["build_document", "DocSpec", "validate_document"]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "docx-cli"
7
- version = "0.1.0"
7
+ version = "0.1.2"
8
8
  description = "Deterministic .docx generation, reverse validation and injection scanning for Russian legal documents"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -29,8 +29,8 @@ def test_v0100_version_bumped_synchronously():
29
29
  from importlib.metadata import version as dist_version
30
30
  pyproject_version = tomllib.loads(
31
31
  (ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]["version"]
32
- assert docx_cli.__version__ == "0.1.0"
33
- assert pyproject_version == "0.1.0"
32
+ assert docx_cli.__version__ == "0.1.2"
33
+ assert pyproject_version == "0.1.2"
34
34
  assert docx_cli.__version__
35
35
 
36
36
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes