illusion-markdown 2.0.1__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.
@@ -0,0 +1,50 @@
1
+ Metadata-Version: 2.4
2
+ Name: illusion-markdown
3
+ Version: 2.0.1
4
+ Classifier: Development Status :: 4 - Beta
5
+ Classifier: License :: OSI Approved :: MIT License
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Programming Language :: Python :: 3 :: Only
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Rust
13
+ Classifier: Topic :: Text Processing :: Markup
14
+ Summary: Python bindings for illusion Markdown (MDI), backed by the Rust core.
15
+ Keywords: markdown,mdi,ruby,typesetting
16
+ Author: illusions-lab
17
+ License: MIT
18
+ Requires-Python: >=3.10
19
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
20
+ Project-URL: Documentation, https://illusions-lab.github.io/mdi-js/
21
+ Project-URL: Homepage, https://github.com/illusions-lab/MDI
22
+ Project-URL: Issues, https://github.com/illusions-lab/MDI/issues
23
+ Project-URL: Repository, https://github.com/illusions-lab/MDI
24
+
25
+ # illusion-markdown
26
+
27
+ Python bindings for [illusion Markdown (MDI)](../SYNTAX.md). The package is a
28
+ thin PyO3 interface over the repository's Rust `mdi-core`; it does not parse
29
+ or render MDI in Python.
30
+
31
+ ```bash
32
+ pip install illusion-markdown
33
+ ```
34
+
35
+ ```python
36
+ import mdi
37
+
38
+ result = mdi.parse("{東京|とうきょう} ^12^")
39
+ html = mdi.render_html("# 題\n\n{東京|とうきょう}")
40
+ epub = mdi.render_epub("# Chapter\n\ntext")
41
+ ```
42
+
43
+ `parse()` returns the versioned, JSON-compatible MDI document IR with UTF-8
44
+ byte spans and recoverable diagnostics. The package also exposes
45
+ `serialize_mdi`, `render_text`, `render_text_format`, `render_epub`, and
46
+ `render_docx`.
47
+
48
+ The PyPI distribution is named `illusion-markdown`; the import namespace is
49
+ `mdi`.
50
+
@@ -0,0 +1,25 @@
1
+ # illusion-markdown
2
+
3
+ Python bindings for [illusion Markdown (MDI)](../SYNTAX.md). The package is a
4
+ thin PyO3 interface over the repository's Rust `mdi-core`; it does not parse
5
+ or render MDI in Python.
6
+
7
+ ```bash
8
+ pip install illusion-markdown
9
+ ```
10
+
11
+ ```python
12
+ import mdi
13
+
14
+ result = mdi.parse("{東京|とうきょう} ^12^")
15
+ html = mdi.render_html("# 題\n\n{東京|とうきょう}")
16
+ epub = mdi.render_epub("# Chapter\n\ntext")
17
+ ```
18
+
19
+ `parse()` returns the versioned, JSON-compatible MDI document IR with UTF-8
20
+ byte spans and recoverable diagnostics. The package also exposes
21
+ `serialize_mdi`, `render_text`, `render_text_format`, `render_epub`, and
22
+ `render_docx`.
23
+
24
+ The PyPI distribution is named `illusion-markdown`; the import namespace is
25
+ `mdi`.
@@ -0,0 +1,442 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "adler2"
7
+ version = "2.0.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
+
11
+ [[package]]
12
+ name = "arbitrary"
13
+ version = "1.4.2"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
16
+ dependencies = [
17
+ "derive_arbitrary",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "bumpalo"
22
+ version = "3.20.3"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
25
+
26
+ [[package]]
27
+ name = "cfg-if"
28
+ version = "1.0.4"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
31
+
32
+ [[package]]
33
+ name = "crc32fast"
34
+ version = "1.5.0"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
37
+ dependencies = [
38
+ "cfg-if",
39
+ ]
40
+
41
+ [[package]]
42
+ name = "crossbeam-utils"
43
+ version = "0.8.22"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
46
+
47
+ [[package]]
48
+ name = "derive_arbitrary"
49
+ version = "1.4.2"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
52
+ dependencies = [
53
+ "proc-macro2",
54
+ "quote",
55
+ "syn 2.0.119",
56
+ ]
57
+
58
+ [[package]]
59
+ name = "displaydoc"
60
+ version = "0.2.6"
61
+ source = "registry+https://github.com/rust-lang/crates.io-index"
62
+ checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
63
+ dependencies = [
64
+ "proc-macro2",
65
+ "quote",
66
+ "syn 2.0.119",
67
+ ]
68
+
69
+ [[package]]
70
+ name = "equivalent"
71
+ version = "1.0.2"
72
+ source = "registry+https://github.com/rust-lang/crates.io-index"
73
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
74
+
75
+ [[package]]
76
+ name = "flate2"
77
+ version = "1.1.9"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
80
+ dependencies = [
81
+ "crc32fast",
82
+ "miniz_oxide",
83
+ ]
84
+
85
+ [[package]]
86
+ name = "futures-core"
87
+ version = "0.3.33"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
90
+
91
+ [[package]]
92
+ name = "futures-task"
93
+ version = "0.3.33"
94
+ source = "registry+https://github.com/rust-lang/crates.io-index"
95
+ checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
96
+
97
+ [[package]]
98
+ name = "futures-util"
99
+ version = "0.3.33"
100
+ source = "registry+https://github.com/rust-lang/crates.io-index"
101
+ checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
102
+ dependencies = [
103
+ "futures-core",
104
+ "futures-task",
105
+ "pin-project-lite",
106
+ "slab",
107
+ ]
108
+
109
+ [[package]]
110
+ name = "hashbrown"
111
+ version = "0.17.1"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
114
+
115
+ [[package]]
116
+ name = "indexmap"
117
+ version = "2.14.0"
118
+ source = "registry+https://github.com/rust-lang/crates.io-index"
119
+ checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
120
+ dependencies = [
121
+ "equivalent",
122
+ "hashbrown",
123
+ ]
124
+
125
+ [[package]]
126
+ name = "itoa"
127
+ version = "1.0.18"
128
+ source = "registry+https://github.com/rust-lang/crates.io-index"
129
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
130
+
131
+ [[package]]
132
+ name = "js-sys"
133
+ version = "0.3.103"
134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
135
+ checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
136
+ dependencies = [
137
+ "cfg-if",
138
+ "futures-util",
139
+ "wasm-bindgen",
140
+ ]
141
+
142
+ [[package]]
143
+ name = "log"
144
+ version = "0.4.33"
145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
146
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
147
+
148
+ [[package]]
149
+ name = "markdown"
150
+ version = "1.0.0"
151
+ source = "registry+https://github.com/rust-lang/crates.io-index"
152
+ checksum = "a5cab8f2cadc416a82d2e783a1946388b31654d391d1c7d92cc1f03e295b1deb"
153
+ dependencies = [
154
+ "serde",
155
+ "unicode-id",
156
+ ]
157
+
158
+ [[package]]
159
+ name = "mdi-core"
160
+ version = "2.0.1"
161
+ dependencies = [
162
+ "js-sys",
163
+ "markdown",
164
+ "serde",
165
+ "serde_json",
166
+ "serde_yaml",
167
+ "unicode-segmentation",
168
+ "wasm-bindgen",
169
+ "zip",
170
+ ]
171
+
172
+ [[package]]
173
+ name = "memchr"
174
+ version = "2.8.3"
175
+ source = "registry+https://github.com/rust-lang/crates.io-index"
176
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
177
+
178
+ [[package]]
179
+ name = "miniz_oxide"
180
+ version = "0.8.9"
181
+ source = "registry+https://github.com/rust-lang/crates.io-index"
182
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
183
+ dependencies = [
184
+ "adler2",
185
+ "simd-adler32",
186
+ ]
187
+
188
+ [[package]]
189
+ name = "once_cell"
190
+ version = "1.21.4"
191
+ source = "registry+https://github.com/rust-lang/crates.io-index"
192
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
193
+
194
+ [[package]]
195
+ name = "pin-project-lite"
196
+ version = "0.2.17"
197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
198
+ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
199
+
200
+ [[package]]
201
+ name = "proc-macro2"
202
+ version = "1.0.107"
203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
204
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
205
+ dependencies = [
206
+ "unicode-ident",
207
+ ]
208
+
209
+ [[package]]
210
+ name = "quote"
211
+ version = "1.0.47"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
214
+ dependencies = [
215
+ "proc-macro2",
216
+ ]
217
+
218
+ [[package]]
219
+ name = "rustversion"
220
+ version = "1.0.23"
221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
222
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
223
+
224
+ [[package]]
225
+ name = "ryu"
226
+ version = "1.0.23"
227
+ source = "registry+https://github.com/rust-lang/crates.io-index"
228
+ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
229
+
230
+ [[package]]
231
+ name = "serde"
232
+ version = "1.0.229"
233
+ source = "registry+https://github.com/rust-lang/crates.io-index"
234
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
235
+ dependencies = [
236
+ "serde_core",
237
+ "serde_derive",
238
+ ]
239
+
240
+ [[package]]
241
+ name = "serde_core"
242
+ version = "1.0.229"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
245
+ dependencies = [
246
+ "serde_derive",
247
+ ]
248
+
249
+ [[package]]
250
+ name = "serde_derive"
251
+ version = "1.0.229"
252
+ source = "registry+https://github.com/rust-lang/crates.io-index"
253
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
254
+ dependencies = [
255
+ "proc-macro2",
256
+ "quote",
257
+ "syn 3.0.2",
258
+ ]
259
+
260
+ [[package]]
261
+ name = "serde_json"
262
+ version = "1.0.151"
263
+ source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
265
+ dependencies = [
266
+ "itoa",
267
+ "memchr",
268
+ "serde",
269
+ "serde_core",
270
+ "zmij",
271
+ ]
272
+
273
+ [[package]]
274
+ name = "serde_yaml"
275
+ version = "0.9.34+deprecated"
276
+ source = "registry+https://github.com/rust-lang/crates.io-index"
277
+ checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
278
+ dependencies = [
279
+ "indexmap",
280
+ "itoa",
281
+ "ryu",
282
+ "serde",
283
+ "unsafe-libyaml",
284
+ ]
285
+
286
+ [[package]]
287
+ name = "simd-adler32"
288
+ version = "0.3.10"
289
+ source = "registry+https://github.com/rust-lang/crates.io-index"
290
+ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
291
+
292
+ [[package]]
293
+ name = "slab"
294
+ version = "0.4.12"
295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
296
+ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
297
+
298
+ [[package]]
299
+ name = "syn"
300
+ version = "2.0.119"
301
+ source = "registry+https://github.com/rust-lang/crates.io-index"
302
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
303
+ dependencies = [
304
+ "proc-macro2",
305
+ "quote",
306
+ "unicode-ident",
307
+ ]
308
+
309
+ [[package]]
310
+ name = "syn"
311
+ version = "3.0.2"
312
+ source = "registry+https://github.com/rust-lang/crates.io-index"
313
+ checksum = "a207d6d6a2b7fc470b80443726053f18a2481b7e1eee970597051596567987a3"
314
+ dependencies = [
315
+ "proc-macro2",
316
+ "quote",
317
+ "unicode-ident",
318
+ ]
319
+
320
+ [[package]]
321
+ name = "thiserror"
322
+ version = "2.0.19"
323
+ source = "registry+https://github.com/rust-lang/crates.io-index"
324
+ checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
325
+ dependencies = [
326
+ "thiserror-impl",
327
+ ]
328
+
329
+ [[package]]
330
+ name = "thiserror-impl"
331
+ version = "2.0.19"
332
+ source = "registry+https://github.com/rust-lang/crates.io-index"
333
+ checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
334
+ dependencies = [
335
+ "proc-macro2",
336
+ "quote",
337
+ "syn 3.0.2",
338
+ ]
339
+
340
+ [[package]]
341
+ name = "unicode-id"
342
+ version = "0.3.6"
343
+ source = "registry+https://github.com/rust-lang/crates.io-index"
344
+ checksum = "70ba288e709927c043cbe476718d37be306be53fb1fafecd0dbe36d072be2580"
345
+
346
+ [[package]]
347
+ name = "unicode-ident"
348
+ version = "1.0.24"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
351
+
352
+ [[package]]
353
+ name = "unicode-segmentation"
354
+ version = "1.13.3"
355
+ source = "registry+https://github.com/rust-lang/crates.io-index"
356
+ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
357
+
358
+ [[package]]
359
+ name = "unsafe-libyaml"
360
+ version = "0.2.11"
361
+ source = "registry+https://github.com/rust-lang/crates.io-index"
362
+ checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
363
+
364
+ [[package]]
365
+ name = "wasm-bindgen"
366
+ version = "0.2.126"
367
+ source = "registry+https://github.com/rust-lang/crates.io-index"
368
+ checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
369
+ dependencies = [
370
+ "cfg-if",
371
+ "once_cell",
372
+ "rustversion",
373
+ "wasm-bindgen-macro",
374
+ "wasm-bindgen-shared",
375
+ ]
376
+
377
+ [[package]]
378
+ name = "wasm-bindgen-macro"
379
+ version = "0.2.126"
380
+ source = "registry+https://github.com/rust-lang/crates.io-index"
381
+ checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
382
+ dependencies = [
383
+ "quote",
384
+ "wasm-bindgen-macro-support",
385
+ ]
386
+
387
+ [[package]]
388
+ name = "wasm-bindgen-macro-support"
389
+ version = "0.2.126"
390
+ source = "registry+https://github.com/rust-lang/crates.io-index"
391
+ checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
392
+ dependencies = [
393
+ "bumpalo",
394
+ "proc-macro2",
395
+ "quote",
396
+ "syn 2.0.119",
397
+ "wasm-bindgen-shared",
398
+ ]
399
+
400
+ [[package]]
401
+ name = "wasm-bindgen-shared"
402
+ version = "0.2.126"
403
+ source = "registry+https://github.com/rust-lang/crates.io-index"
404
+ checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
405
+ dependencies = [
406
+ "unicode-ident",
407
+ ]
408
+
409
+ [[package]]
410
+ name = "zip"
411
+ version = "2.4.2"
412
+ source = "registry+https://github.com/rust-lang/crates.io-index"
413
+ checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50"
414
+ dependencies = [
415
+ "arbitrary",
416
+ "crc32fast",
417
+ "crossbeam-utils",
418
+ "displaydoc",
419
+ "flate2",
420
+ "indexmap",
421
+ "memchr",
422
+ "thiserror",
423
+ "zopfli",
424
+ ]
425
+
426
+ [[package]]
427
+ name = "zmij"
428
+ version = "1.0.23"
429
+ source = "registry+https://github.com/rust-lang/crates.io-index"
430
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
431
+
432
+ [[package]]
433
+ name = "zopfli"
434
+ version = "0.8.3"
435
+ source = "registry+https://github.com/rust-lang/crates.io-index"
436
+ checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
437
+ dependencies = [
438
+ "bumpalo",
439
+ "crc32fast",
440
+ "log",
441
+ "simd-adler32",
442
+ ]
@@ -0,0 +1,28 @@
1
+ [package]
2
+ name = "mdi-core"
3
+ version = "2.0.1"
4
+ description = "Language-neutral parser for MDI 2.0 syntax"
5
+ edition = "2024"
6
+ license = "MIT"
7
+ repository = "https://github.com/illusions-lab/MDI"
8
+ keywords = ["markdown", "mdi", "ruby", "typesetting"]
9
+ categories = ["parser-implementations", "text-processing"]
10
+
11
+ [lib]
12
+ crate-type = ["cdylib", "rlib"]
13
+
14
+ [dependencies]
15
+ markdown = { version = "1.0.0", features = ["serde"] }
16
+ serde = { version = "1.0", features = ["derive"] }
17
+ serde_json = "1.0"
18
+ serde_yaml = "0.9"
19
+ unicode-segmentation = "1.12.0"
20
+ zip = { version = "2.2", default-features = false, features = ["deflate"] }
21
+ wasm-bindgen = { version = "0.2", optional = true }
22
+ js-sys = { version = "0.3", optional = true }
23
+
24
+ [features]
25
+ wasm = ["dep:wasm-bindgen", "dep:js-sys"]
26
+
27
+ [lints.rust]
28
+ unsafe_code = "forbid"