oxml 0.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.
Files changed (94) hide show
  1. oxml-0.1.0/.github/workflows/ci.yml +85 -0
  2. oxml-0.1.0/.gitignore +16 -0
  3. oxml-0.1.0/Cargo.lock +511 -0
  4. oxml-0.1.0/Cargo.toml +41 -0
  5. oxml-0.1.0/DEV.md +215 -0
  6. oxml-0.1.0/LICENSE +202 -0
  7. oxml-0.1.0/PKG-INFO +135 -0
  8. oxml-0.1.0/README.md +114 -0
  9. oxml-0.1.0/_config.yml +1 -0
  10. oxml-0.1.0/_layouts/default.html +52 -0
  11. oxml-0.1.0/pyproject.toml +39 -0
  12. oxml-0.1.0/python/oxml/SDK-LICENSE +29 -0
  13. oxml-0.1.0/python/oxml/__init__.py +18 -0
  14. oxml-0.1.0/python/oxml/build.py +22 -0
  15. oxml-0.1.0/python/oxml/comments.py +291 -0
  16. oxml-0.1.0/python/oxml/compare.py +202 -0
  17. oxml-0.1.0/python/oxml/document.py +356 -0
  18. oxml-0.1.0/python/oxml/formatting.py +91 -0
  19. oxml-0.1.0/python/oxml/importing.py +262 -0
  20. oxml-0.1.0/python/oxml/links.py +174 -0
  21. oxml-0.1.0/python/oxml/model.py +248 -0
  22. oxml-0.1.0/python/oxml/numbering.py +130 -0
  23. oxml-0.1.0/python/oxml/paragraphs.py +138 -0
  24. oxml-0.1.0/python/oxml/revisions.py +305 -0
  25. oxml-0.1.0/python/oxml/styles.py +83 -0
  26. oxml-0.1.0/python/oxml/tables.py +114 -0
  27. oxml-0.1.0/python/oxml/text.py +288 -0
  28. oxml-0.1.0/rustfmt.toml +1 -0
  29. oxml-0.1.0/schema/metadata.json +1 -0
  30. oxml-0.1.0/scripts/import_sdk.py +222 -0
  31. oxml-0.1.0/src/lib.rs +16 -0
  32. oxml-0.1.0/src/package.rs +613 -0
  33. oxml-0.1.0/src/schema.rs +779 -0
  34. oxml-0.1.0/src/xml.rs +807 -0
  35. oxml-0.1.0/tests/corpus_helpers.py +51 -0
  36. oxml-0.1.0/tests/fixtures/README.md +20 -0
  37. oxml-0.1.0/tests/fixtures/body/LICENSE.python-docx +20 -0
  38. oxml-0.1.0/tests/fixtures/body/char_styles.docx +0 -0
  39. oxml-0.1.0/tests/fixtures/body/inline_formatting.docx +0 -0
  40. oxml-0.1.0/tests/fixtures/body/lists_level_override.docx +0 -0
  41. oxml-0.1.0/tests/fixtures/body/sct-inner-content.docx +0 -0
  42. oxml-0.1.0/tests/fixtures/body/table_header_rowspan.docx +0 -0
  43. oxml-0.1.0/tests/fixtures/crosspart/LICENSE.Apache-POI +268 -0
  44. oxml-0.1.0/tests/fixtures/crosspart/NOTICE.Apache-POI +36 -0
  45. oxml-0.1.0/tests/fixtures/crosspart/footer-contain-hyperlink.docx +0 -0
  46. oxml-0.1.0/tests/fixtures/crosspart/headerPic.docx +0 -0
  47. oxml-0.1.0/tests/fixtures/crosspart/notes.docx +0 -0
  48. oxml-0.1.0/tests/fixtures/pandoc/COPYING.md +360 -0
  49. oxml-0.1.0/tests/fixtures/pandoc/COPYRIGHT +225 -0
  50. oxml-0.1.0/tests/fixtures/pandoc/paragraph_insertion_deletion.docx +0 -0
  51. oxml-0.1.0/tests/fixtures/pandoc/paragraph_insertion_deletion_accept.native +2 -0
  52. oxml-0.1.0/tests/fixtures/pandoc/paragraph_insertion_deletion_all.native +3 -0
  53. oxml-0.1.0/tests/fixtures/pandoc/paragraph_insertion_deletion_reject.native +2 -0
  54. oxml-0.1.0/tests/fixtures/pandoc/track_changes_scrubbed_metadata.docx +0 -0
  55. oxml-0.1.0/tests/fixtures/pandoc/track_changes_scrubbed_metadata.native +9 -0
  56. oxml-0.1.0/tests/fixtures/reviews/libreoffice/COPYING +674 -0
  57. oxml-0.1.0/tests/fixtures/reviews/libreoffice/COPYING.LGPL +165 -0
  58. oxml-0.1.0/tests/fixtures/reviews/libreoffice/COPYING.MPL +373 -0
  59. oxml-0.1.0/tests/fixtures/reviews/libreoffice/CommentDone.docx +0 -0
  60. oxml-0.1.0/tests/fixtures/reviews/libreoffice/CommentReply.docx +0 -0
  61. oxml-0.1.0/tests/fixtures/reviews/pandoc/track_changes_move.docx +0 -0
  62. oxml-0.1.0/tests/fixtures/reviews/powertools/LICENSE +21 -0
  63. oxml-0.1.0/tests/fixtures/reviews/powertools/RP024-ParagraphMark-rPr-Change.docx +0 -0
  64. oxml-0.1.0/tests/fixtures/sdk/HelloO14.docx +0 -0
  65. oxml-0.1.0/tests/fixtures/sdk/LICENSE +23 -0
  66. oxml-0.1.0/tests/fixtures/sdk/Of16-10-SymEx.docx +0 -0
  67. oxml-0.1.0/tests/fixtures/sdk/mcdoc.docx +0 -0
  68. oxml-0.1.0/tests/fixtures/sdk/simpleSdt.docx +0 -0
  69. oxml-0.1.0/tests/test_build.py +114 -0
  70. oxml-0.1.0/tests/test_comments.py +188 -0
  71. oxml-0.1.0/tests/test_compare.py +115 -0
  72. oxml-0.1.0/tests/test_corpus_body.py +116 -0
  73. oxml-0.1.0/tests/test_corpus_crosspart.py +120 -0
  74. oxml-0.1.0/tests/test_corpus_reviews.py +119 -0
  75. oxml-0.1.0/tests/test_document.py +123 -0
  76. oxml-0.1.0/tests/test_formatting.py +78 -0
  77. oxml-0.1.0/tests/test_holdout.py +40 -0
  78. oxml-0.1.0/tests/test_import.py +56 -0
  79. oxml-0.1.0/tests/test_importing.py +158 -0
  80. oxml-0.1.0/tests/test_links.py +114 -0
  81. oxml-0.1.0/tests/test_numbering.py +93 -0
  82. oxml-0.1.0/tests/test_package.py +219 -0
  83. oxml-0.1.0/tests/test_paragraphs.py +70 -0
  84. oxml-0.1.0/tests/test_probe.py +126 -0
  85. oxml-0.1.0/tests/test_revisions.py +132 -0
  86. oxml-0.1.0/tests/test_sdk_attributes.py +96 -0
  87. oxml-0.1.0/tests/test_sdk_mc.py +118 -0
  88. oxml-0.1.0/tests/test_sdk_particles.py +93 -0
  89. oxml-0.1.0/tests/test_sdk_semantics.py +95 -0
  90. oxml-0.1.0/tests/test_stories.py +76 -0
  91. oxml-0.1.0/tests/test_styles.py +67 -0
  92. oxml-0.1.0/tests/test_tables.py +47 -0
  93. oxml-0.1.0/tests/test_text.py +164 -0
  94. oxml-0.1.0/tests/test_xml.py +235 -0
@@ -0,0 +1,85 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ tags: ['v*']
7
+ pull_request:
8
+
9
+ jobs:
10
+ build:
11
+ strategy:
12
+ matrix:
13
+ os: [ubuntu-latest, macos-latest]
14
+ runs-on: ${{ matrix.os }}
15
+ steps:
16
+ - uses: actions/checkout@v7
17
+ - uses: actions/setup-python@v7
18
+ with:
19
+ python-version: |
20
+ 3.10
21
+ 3.11
22
+ 3.12
23
+ 3.13
24
+ - uses: PyO3/maturin-action@v1
25
+ with:
26
+ args: --profile dist --out dist -i python3.10 -i python3.11 -i python3.12 -i python3.13
27
+ manylinux: auto
28
+ - uses: actions/upload-artifact@v7
29
+ with:
30
+ name: wheels-${{ matrix.os }}
31
+ path: dist
32
+
33
+ test-wheels:
34
+ needs: build
35
+ strategy:
36
+ matrix:
37
+ os: [ubuntu-latest, macos-latest]
38
+ python: ['3.10', '3.11', '3.12', '3.13']
39
+ runs-on: ${{ matrix.os }}
40
+ steps:
41
+ - uses: actions/checkout@v7
42
+ - uses: actions/setup-python@v7
43
+ with:
44
+ python-version: ${{ matrix.python }}
45
+ - uses: actions/download-artifact@v8
46
+ with:
47
+ name: wheels-${{ matrix.os }}
48
+ path: dist
49
+ - run: 'pip install --no-index --find-links dist --only-binary=:all: --no-deps oxml'
50
+ - run: pip install pytest oxml
51
+ - run: pytest -q
52
+
53
+ sdist:
54
+ runs-on: ubuntu-latest
55
+ steps:
56
+ - uses: actions/checkout@v7
57
+ - uses: PyO3/maturin-action@v1
58
+ with:
59
+ command: sdist
60
+ args: -o dist
61
+ - uses: actions/upload-artifact@v7
62
+ with:
63
+ name: wheels-sdist
64
+ path: dist
65
+
66
+ publish:
67
+ if: startsWith(github.ref, 'refs/tags/v')
68
+ needs: [test-wheels, sdist]
69
+ runs-on: ubuntu-latest
70
+ permissions:
71
+ id-token: write
72
+ contents: write
73
+ steps:
74
+ - uses: actions/checkout@v7
75
+ - uses: actions/download-artifact@v8
76
+ with:
77
+ path: dist
78
+ merge-multiple: true
79
+ - uses: softprops/action-gh-release@v3
80
+ with:
81
+ files: dist/*
82
+ generate_release_notes: true
83
+ - uses: pypa/gh-action-pypi-publish@release/v1
84
+ with:
85
+ packages-dir: dist/
oxml-0.1.0/.gitignore ADDED
@@ -0,0 +1,16 @@
1
+ links/
2
+ meta/
3
+ __pycache__/
4
+ *.py[cod]
5
+ *.so
6
+ *.egg-info/
7
+ tags
8
+ target/
9
+ dist/
10
+ build/
11
+ .venv/
12
+ venv/
13
+ .env
14
+ .DS_Store
15
+ .ipynb_checkpoints/
16
+ Cargo.lock
oxml-0.1.0/Cargo.lock ADDED
@@ -0,0 +1,511 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.5"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "autocfg"
16
+ version = "1.5.1"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
19
+
20
+ [[package]]
21
+ name = "base64"
22
+ version = "0.23.1"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
25
+
26
+ [[package]]
27
+ name = "bitflags"
28
+ version = "2.13.2"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
31
+
32
+ [[package]]
33
+ name = "cfg-if"
34
+ version = "1.0.4"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
37
+
38
+ [[package]]
39
+ name = "chrono"
40
+ version = "0.4.45"
41
+ source = "registry+https://github.com/rust-lang/crates.io-index"
42
+ checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
43
+ dependencies = [
44
+ "num-traits",
45
+ ]
46
+
47
+ [[package]]
48
+ name = "core_detect"
49
+ version = "1.0.0"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48"
52
+
53
+ [[package]]
54
+ name = "crc32fast"
55
+ version = "1.5.2"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "01a7799fd6b852db0e61728dde9a204c423b44d689dbd432522543614b490e78"
58
+ dependencies = [
59
+ "cfg-if",
60
+ ]
61
+
62
+ [[package]]
63
+ name = "encoding_rs"
64
+ version = "0.8.41"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "7b5ef0006ac9ab233c38522f5ae99cae3625151de8f706cacee1cba4b8e2832a"
67
+ dependencies = [
68
+ "cfg-if",
69
+ "core_detect",
70
+ "multiversion",
71
+ "multiversion_no_op",
72
+ "rustversion",
73
+ "scopeguard",
74
+ "simdutf8",
75
+ ]
76
+
77
+ [[package]]
78
+ name = "equivalent"
79
+ version = "1.0.2"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
82
+
83
+ [[package]]
84
+ name = "errno"
85
+ version = "0.3.14"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
88
+ dependencies = [
89
+ "libc",
90
+ "windows-sys",
91
+ ]
92
+
93
+ [[package]]
94
+ name = "fastrand"
95
+ version = "2.5.0"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
98
+
99
+ [[package]]
100
+ name = "flate2"
101
+ version = "1.1.10"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb"
104
+ dependencies = [
105
+ "zlib-rs",
106
+ ]
107
+
108
+ [[package]]
109
+ name = "getrandom"
110
+ version = "0.4.3"
111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
112
+ checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
113
+ dependencies = [
114
+ "cfg-if",
115
+ "libc",
116
+ "r-efi",
117
+ ]
118
+
119
+ [[package]]
120
+ name = "hashbrown"
121
+ version = "0.17.1"
122
+ source = "registry+https://github.com/rust-lang/crates.io-index"
123
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
124
+
125
+ [[package]]
126
+ name = "heck"
127
+ version = "0.5.0"
128
+ source = "registry+https://github.com/rust-lang/crates.io-index"
129
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
130
+
131
+ [[package]]
132
+ name = "indexmap"
133
+ version = "2.14.2"
134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
135
+ checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
136
+ dependencies = [
137
+ "equivalent",
138
+ "hashbrown",
139
+ ]
140
+
141
+ [[package]]
142
+ name = "itoa"
143
+ version = "1.0.18"
144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
145
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
146
+
147
+ [[package]]
148
+ name = "libc"
149
+ version = "0.2.189"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
152
+
153
+ [[package]]
154
+ name = "linux-raw-sys"
155
+ version = "0.12.1"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
158
+
159
+ [[package]]
160
+ name = "memchr"
161
+ version = "2.8.3"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
164
+
165
+ [[package]]
166
+ name = "multiversion"
167
+ version = "0.9.0"
168
+ source = "registry+https://github.com/rust-lang/crates.io-index"
169
+ checksum = "b4ca4bea16ffc3f443cf7d866912118196bfef4c6a1556ca00f9f9b00bb43f7c"
170
+ dependencies = [
171
+ "multiversion-macros",
172
+ ]
173
+
174
+ [[package]]
175
+ name = "multiversion-macros"
176
+ version = "0.9.0"
177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
178
+ checksum = "0d416831a7317ef4b08bee00b69cbbb9c8763da7959a7026244d6266869f9c83"
179
+ dependencies = [
180
+ "proc-macro2",
181
+ "quote",
182
+ "rustversion",
183
+ "syn 3.0.5",
184
+ ]
185
+
186
+ [[package]]
187
+ name = "multiversion_no_op"
188
+ version = "1.0.0"
189
+ source = "registry+https://github.com/rust-lang/crates.io-index"
190
+ checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d"
191
+
192
+ [[package]]
193
+ name = "num-traits"
194
+ version = "0.2.19"
195
+ source = "registry+https://github.com/rust-lang/crates.io-index"
196
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
197
+ dependencies = [
198
+ "autocfg",
199
+ ]
200
+
201
+ [[package]]
202
+ name = "once_cell"
203
+ version = "1.21.4"
204
+ source = "registry+https://github.com/rust-lang/crates.io-index"
205
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
206
+
207
+ [[package]]
208
+ name = "oxml"
209
+ version = "0.1.0"
210
+ dependencies = [
211
+ "base64",
212
+ "chrono",
213
+ "pyo3",
214
+ "quick-xml",
215
+ "regex",
216
+ "serde_json",
217
+ "tempfile",
218
+ "zip",
219
+ ]
220
+
221
+ [[package]]
222
+ name = "portable-atomic"
223
+ version = "1.15.0"
224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
225
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
226
+
227
+ [[package]]
228
+ name = "proc-macro2"
229
+ version = "1.0.107"
230
+ source = "registry+https://github.com/rust-lang/crates.io-index"
231
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
232
+ dependencies = [
233
+ "unicode-ident",
234
+ ]
235
+
236
+ [[package]]
237
+ name = "pyo3"
238
+ version = "0.29.2"
239
+ source = "registry+https://github.com/rust-lang/crates.io-index"
240
+ checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
241
+ dependencies = [
242
+ "libc",
243
+ "once_cell",
244
+ "portable-atomic",
245
+ "pyo3-build-config",
246
+ "pyo3-ffi",
247
+ "pyo3-macros",
248
+ ]
249
+
250
+ [[package]]
251
+ name = "pyo3-build-config"
252
+ version = "0.29.2"
253
+ source = "registry+https://github.com/rust-lang/crates.io-index"
254
+ checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9"
255
+ dependencies = [
256
+ "target-lexicon",
257
+ ]
258
+
259
+ [[package]]
260
+ name = "pyo3-ffi"
261
+ version = "0.29.2"
262
+ source = "registry+https://github.com/rust-lang/crates.io-index"
263
+ checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327"
264
+ dependencies = [
265
+ "libc",
266
+ "pyo3-build-config",
267
+ ]
268
+
269
+ [[package]]
270
+ name = "pyo3-macros"
271
+ version = "0.29.2"
272
+ source = "registry+https://github.com/rust-lang/crates.io-index"
273
+ checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c"
274
+ dependencies = [
275
+ "proc-macro2",
276
+ "pyo3-macros-backend",
277
+ "quote",
278
+ "syn 2.0.119",
279
+ ]
280
+
281
+ [[package]]
282
+ name = "pyo3-macros-backend"
283
+ version = "0.29.2"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952"
286
+ dependencies = [
287
+ "heck",
288
+ "proc-macro2",
289
+ "quote",
290
+ "syn 2.0.119",
291
+ ]
292
+
293
+ [[package]]
294
+ name = "quick-xml"
295
+ version = "0.42.0"
296
+ source = "registry+https://github.com/rust-lang/crates.io-index"
297
+ checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b"
298
+ dependencies = [
299
+ "encoding_rs",
300
+ "memchr",
301
+ ]
302
+
303
+ [[package]]
304
+ name = "quote"
305
+ version = "1.0.47"
306
+ source = "registry+https://github.com/rust-lang/crates.io-index"
307
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
308
+ dependencies = [
309
+ "proc-macro2",
310
+ ]
311
+
312
+ [[package]]
313
+ name = "r-efi"
314
+ version = "6.0.0"
315
+ source = "registry+https://github.com/rust-lang/crates.io-index"
316
+ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
317
+
318
+ [[package]]
319
+ name = "regex"
320
+ version = "1.13.1"
321
+ source = "registry+https://github.com/rust-lang/crates.io-index"
322
+ checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
323
+ dependencies = [
324
+ "aho-corasick",
325
+ "memchr",
326
+ "regex-automata",
327
+ "regex-syntax",
328
+ ]
329
+
330
+ [[package]]
331
+ name = "regex-automata"
332
+ version = "0.4.18"
333
+ source = "registry+https://github.com/rust-lang/crates.io-index"
334
+ checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
335
+ dependencies = [
336
+ "aho-corasick",
337
+ "memchr",
338
+ "regex-syntax",
339
+ ]
340
+
341
+ [[package]]
342
+ name = "regex-syntax"
343
+ version = "0.8.11"
344
+ source = "registry+https://github.com/rust-lang/crates.io-index"
345
+ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
346
+
347
+ [[package]]
348
+ name = "rustix"
349
+ version = "1.1.4"
350
+ source = "registry+https://github.com/rust-lang/crates.io-index"
351
+ checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
352
+ dependencies = [
353
+ "bitflags",
354
+ "errno",
355
+ "libc",
356
+ "linux-raw-sys",
357
+ "windows-sys",
358
+ ]
359
+
360
+ [[package]]
361
+ name = "rustversion"
362
+ version = "1.0.23"
363
+ source = "registry+https://github.com/rust-lang/crates.io-index"
364
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
365
+
366
+ [[package]]
367
+ name = "scopeguard"
368
+ version = "1.2.0"
369
+ source = "registry+https://github.com/rust-lang/crates.io-index"
370
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
371
+
372
+ [[package]]
373
+ name = "serde"
374
+ version = "1.0.229"
375
+ source = "registry+https://github.com/rust-lang/crates.io-index"
376
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
377
+ dependencies = [
378
+ "serde_core",
379
+ ]
380
+
381
+ [[package]]
382
+ name = "serde_core"
383
+ version = "1.0.229"
384
+ source = "registry+https://github.com/rust-lang/crates.io-index"
385
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
386
+ dependencies = [
387
+ "serde_derive",
388
+ ]
389
+
390
+ [[package]]
391
+ name = "serde_derive"
392
+ version = "1.0.229"
393
+ source = "registry+https://github.com/rust-lang/crates.io-index"
394
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
395
+ dependencies = [
396
+ "proc-macro2",
397
+ "quote",
398
+ "syn 3.0.5",
399
+ ]
400
+
401
+ [[package]]
402
+ name = "serde_json"
403
+ version = "1.0.151"
404
+ source = "registry+https://github.com/rust-lang/crates.io-index"
405
+ checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
406
+ dependencies = [
407
+ "itoa",
408
+ "memchr",
409
+ "serde",
410
+ "serde_core",
411
+ "zmij",
412
+ ]
413
+
414
+ [[package]]
415
+ name = "simdutf8"
416
+ version = "0.1.5"
417
+ source = "registry+https://github.com/rust-lang/crates.io-index"
418
+ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
419
+
420
+ [[package]]
421
+ name = "syn"
422
+ version = "2.0.119"
423
+ source = "registry+https://github.com/rust-lang/crates.io-index"
424
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
425
+ dependencies = [
426
+ "proc-macro2",
427
+ "quote",
428
+ "unicode-ident",
429
+ ]
430
+
431
+ [[package]]
432
+ name = "syn"
433
+ version = "3.0.5"
434
+ source = "registry+https://github.com/rust-lang/crates.io-index"
435
+ checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
436
+ dependencies = [
437
+ "proc-macro2",
438
+ "quote",
439
+ "unicode-ident",
440
+ ]
441
+
442
+ [[package]]
443
+ name = "target-lexicon"
444
+ version = "0.13.5"
445
+ source = "registry+https://github.com/rust-lang/crates.io-index"
446
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
447
+
448
+ [[package]]
449
+ name = "tempfile"
450
+ version = "3.27.0"
451
+ source = "registry+https://github.com/rust-lang/crates.io-index"
452
+ checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
453
+ dependencies = [
454
+ "fastrand",
455
+ "getrandom",
456
+ "once_cell",
457
+ "rustix",
458
+ "windows-sys",
459
+ ]
460
+
461
+ [[package]]
462
+ name = "typed-path"
463
+ version = "0.12.3"
464
+ source = "registry+https://github.com/rust-lang/crates.io-index"
465
+ checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e"
466
+
467
+ [[package]]
468
+ name = "unicode-ident"
469
+ version = "1.0.24"
470
+ source = "registry+https://github.com/rust-lang/crates.io-index"
471
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
472
+
473
+ [[package]]
474
+ name = "windows-link"
475
+ version = "0.2.1"
476
+ source = "registry+https://github.com/rust-lang/crates.io-index"
477
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
478
+
479
+ [[package]]
480
+ name = "windows-sys"
481
+ version = "0.61.2"
482
+ source = "registry+https://github.com/rust-lang/crates.io-index"
483
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
484
+ dependencies = [
485
+ "windows-link",
486
+ ]
487
+
488
+ [[package]]
489
+ name = "zip"
490
+ version = "8.6.0"
491
+ source = "registry+https://github.com/rust-lang/crates.io-index"
492
+ checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b"
493
+ dependencies = [
494
+ "crc32fast",
495
+ "flate2",
496
+ "indexmap",
497
+ "memchr",
498
+ "typed-path",
499
+ ]
500
+
501
+ [[package]]
502
+ name = "zlib-rs"
503
+ version = "0.6.7"
504
+ source = "registry+https://github.com/rust-lang/crates.io-index"
505
+ checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12"
506
+
507
+ [[package]]
508
+ name = "zmij"
509
+ version = "1.0.23"
510
+ source = "registry+https://github.com/rust-lang/crates.io-index"
511
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
oxml-0.1.0/Cargo.toml ADDED
@@ -0,0 +1,41 @@
1
+ [package]
2
+ name = "oxml"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ license = "Apache-2.0"
6
+ description = "Office Open XML client"
7
+ readme = "README.md"
8
+
9
+ [lib]
10
+ name = "oxml"
11
+ crate-type = ["cdylib", "rlib"]
12
+
13
+ [profile.release]
14
+ lto = false
15
+ codegen-units = 16
16
+
17
+ [profile.release.package.oxml]
18
+ incremental = true
19
+
20
+ [profile.dist]
21
+ inherits = "release"
22
+ lto = true
23
+ incremental = false
24
+ codegen-units = 1
25
+ strip = true
26
+
27
+ [profile.dist.package.oxml]
28
+ incremental = false
29
+
30
+ [dependencies]
31
+ pyo3 = ">=0.28"
32
+ quick-xml = { version = ">=0.42.0", features = ["encoding"] }
33
+ zip = { version = ">=8.6.0", default-features = false, features = ["deflate-flate2-zlib-rs"] }
34
+ tempfile = ">=3.27.0"
35
+ serde_json = ">=1.0.151"
36
+ regex = ">=1.13.1"
37
+ base64 = ">=0.23.1"
38
+ chrono = { version = ">=0.4.45", default-features = false, features = ["std"] }
39
+
40
+ [features]
41
+ extension-module = ["pyo3/extension-module"]