sanqi-python 0.1.1__cp310-cp310-win_amd64.whl

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,5 @@
1
+ from .sanqi_python import *
2
+
3
+ __doc__ = sanqi_python.__doc__
4
+ if hasattr(sanqi_python, "__all__"):
5
+ __all__ = sanqi_python.__all__
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: sanqi-python
3
+ Version: 0.1.1
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Intended Audience :: Developers
6
+ Classifier: License :: OSI Approved :: MIT License
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3 :: Only
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Programming Language :: Rust
16
+ Summary: Python bindings for the Sanqi Rust engine
17
+ Keywords: sanqi,board game,game engine,rust
18
+ Home-Page: https://github.com/curoli/sanqi
19
+ Author: Oliver Ruebenacker
20
+ License: MIT
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
23
+ Project-URL: Homepage, https://github.com/curoli/sanqi
24
+ Project-URL: Issues, https://github.com/curoli/sanqi/issues
25
+ Project-URL: Repository, https://github.com/curoli/sanqi
26
+
27
+ # sanqi-python
28
+
29
+ Python bindings for the Sanqi Rust engine.
30
+
31
+ ## Build
32
+
33
+ From `crates/sanqi-python`:
34
+
35
+ ```bash
36
+ maturin develop
37
+ ```
38
+
39
+ Or build a wheel:
40
+
41
+ ```bash
42
+ maturin build
43
+ ```
44
+
45
+ To test the installed bindings:
46
+
47
+ ```bash
48
+ python -m pip install ../../target/wheels/sanqi_python-*.whl
49
+ python -m unittest discover -s tests
50
+ ```
51
+
52
+ ## Example
53
+
54
+ ```python
55
+ import sanqi_python as sanqi
56
+
57
+ position = sanqi.Position.initial()
58
+ print(position.legal_moves()[:5])
59
+
60
+ move = position.best_move(2)
61
+ if move is not None:
62
+ svg = position.svg_for_move(move)
63
+ position.apply_move(move)
64
+ ```
65
+
66
+ ## Exposed API
67
+
68
+ - `Position.initial()`
69
+ - `Position.empty("white" | "black")`
70
+ - `Position.legal_moves()`
71
+ - `Position.is_legal_move(move)`
72
+ - `Position.apply_move(move)`
73
+ - `Position.piece_at(square)`
74
+ - `Position.set_piece(color, square)`
75
+ - `Position.clear_square(square)`
76
+ - `Position.piece_count(color)`
77
+ - `Position.ascii_board()`
78
+ - `Position.svg_board()`
79
+ - `Position.svg_for_move(move)`
80
+ - `Position.best_move(depth)`
81
+ - `Position.evaluate()`
82
+ - `Position.outcome()`
83
+ - `Position.supporting_pivots(move)`
84
+
@@ -0,0 +1,6 @@
1
+ sanqi_python/__init__.py,sha256=Un7okCaqWef7HU-cRk-OVqu-6SJYfaKx4g2CArcBkiE,131
2
+ sanqi_python/sanqi_python.cp310-win_amd64.pyd,sha256=KsPQ7YPnjejjcsLgfsXJ2HMLC_L0lERKWGiQ_Xg9K5Q,369152
3
+ sanqi_python-0.1.1.dist-info/METADATA,sha256=7pGvoq3hpy_t7XcPRfjz_VfFz3Pqkjb23k045kwT2fM,2208
4
+ sanqi_python-0.1.1.dist-info/WHEEL,sha256=_CXncSBfsN4S-rTKZnRh5m2XTrHUVwx6rXabm4y-3cM,97
5
+ sanqi_python-0.1.1.dist-info/sboms/sanqi-python.cyclonedx.json,sha256=civUZaxNzvF0u_XCDIezSfNEtid-q22HJpX2mzVy78I,19021
6
+ sanqi_python-0.1.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.15.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp310-cp310-win_amd64
@@ -0,0 +1,636 @@
1
+ {
2
+ "bomFormat": "CycloneDX",
3
+ "specVersion": "1.5",
4
+ "version": 1,
5
+ "serialNumber": "urn:uuid:39a2d047-9593-4695-80eb-caa32ff34818",
6
+ "metadata": {
7
+ "timestamp": "2026-10-19T16:30:22.462983200Z",
8
+ "tools": [
9
+ {
10
+ "vendor": "CycloneDX",
11
+ "name": "cargo-cyclonedx",
12
+ "version": "0.5.9"
13
+ }
14
+ ],
15
+ "component": {
16
+ "type": "library",
17
+ "bom-ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-python#0.1.1",
18
+ "name": "sanqi-python",
19
+ "version": "0.1.1",
20
+ "description": "PyO3-based Python bindings for the Sanqi Rust engine",
21
+ "scope": "required",
22
+ "licenses": [
23
+ {
24
+ "expression": "MIT"
25
+ }
26
+ ],
27
+ "purl": "pkg:cargo/sanqi-python@0.1.1?download_url=file://.",
28
+ "externalReferences": [
29
+ {
30
+ "type": "website",
31
+ "url": "https://github.com/curoli/sanqi"
32
+ },
33
+ {
34
+ "type": "vcs",
35
+ "url": "https://github.com/curoli/sanqi"
36
+ }
37
+ ],
38
+ "components": [
39
+ {
40
+ "type": "library",
41
+ "bom-ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-python#0.1.1 bin-target-0",
42
+ "name": "sanqi_python",
43
+ "version": "0.1.1",
44
+ "purl": "pkg:cargo/sanqi-python@0.1.1?download_url=file://.#src/lib.rs"
45
+ }
46
+ ]
47
+ },
48
+ "properties": [
49
+ {
50
+ "name": "cdx:rustc:sbom:target:all_targets",
51
+ "value": "true"
52
+ }
53
+ ]
54
+ },
55
+ "components": [
56
+ {
57
+ "type": "library",
58
+ "bom-ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-core#0.1.1",
59
+ "name": "sanqi-core",
60
+ "version": "0.1.1",
61
+ "description": "Core rules and data structures for the Sanqi board game",
62
+ "scope": "required",
63
+ "licenses": [
64
+ {
65
+ "expression": "MIT"
66
+ }
67
+ ],
68
+ "purl": "pkg:cargo/sanqi-core@0.1.1?download_url=file://..\\sanqi-core",
69
+ "externalReferences": [
70
+ {
71
+ "type": "website",
72
+ "url": "https://github.com/curoli/sanqi"
73
+ },
74
+ {
75
+ "type": "vcs",
76
+ "url": "https://github.com/curoli/sanqi"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "type": "library",
82
+ "bom-ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-engine#0.1.1",
83
+ "name": "sanqi-engine",
84
+ "version": "0.1.1",
85
+ "description": "Search and evaluation engine for the Sanqi board game",
86
+ "scope": "required",
87
+ "licenses": [
88
+ {
89
+ "expression": "MIT"
90
+ }
91
+ ],
92
+ "purl": "pkg:cargo/sanqi-engine@0.1.1?download_url=file://..\\sanqi-engine",
93
+ "externalReferences": [
94
+ {
95
+ "type": "website",
96
+ "url": "https://github.com/curoli/sanqi"
97
+ },
98
+ {
99
+ "type": "vcs",
100
+ "url": "https://github.com/curoli/sanqi"
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ "type": "library",
106
+ "bom-ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-render#0.1.1",
107
+ "name": "sanqi-render",
108
+ "version": "0.1.1",
109
+ "description": "ASCII and SVG rendering helpers for the Sanqi board game",
110
+ "scope": "required",
111
+ "licenses": [
112
+ {
113
+ "expression": "MIT"
114
+ }
115
+ ],
116
+ "purl": "pkg:cargo/sanqi-render@0.1.1?download_url=file://..\\sanqi-render",
117
+ "externalReferences": [
118
+ {
119
+ "type": "website",
120
+ "url": "https://github.com/curoli/sanqi"
121
+ },
122
+ {
123
+ "type": "vcs",
124
+ "url": "https://github.com/curoli/sanqi"
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "type": "library",
130
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
131
+ "name": "heck",
132
+ "version": "0.5.0",
133
+ "description": "heck is a case conversion library.",
134
+ "scope": "required",
135
+ "hashes": [
136
+ {
137
+ "alg": "SHA-256",
138
+ "content": "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
139
+ }
140
+ ],
141
+ "licenses": [
142
+ {
143
+ "expression": "MIT OR Apache-2.0"
144
+ }
145
+ ],
146
+ "purl": "pkg:cargo/heck@0.5.0",
147
+ "externalReferences": [
148
+ {
149
+ "type": "vcs",
150
+ "url": "https://github.com/withoutboats/heck"
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "type": "library",
156
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
157
+ "name": "libc",
158
+ "version": "0.2.191",
159
+ "description": "Raw FFI bindings to platform libraries like libc.",
160
+ "scope": "required",
161
+ "hashes": [
162
+ {
163
+ "alg": "SHA-256",
164
+ "content": "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
165
+ }
166
+ ],
167
+ "licenses": [
168
+ {
169
+ "expression": "MIT OR Apache-2.0"
170
+ }
171
+ ],
172
+ "purl": "pkg:cargo/libc@0.2.191",
173
+ "externalReferences": [
174
+ {
175
+ "type": "vcs",
176
+ "url": "https://github.com/rust-lang/libc"
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ "type": "library",
182
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
183
+ "author": "Aleksey Kladov <aleksey.kladov@gmail.com>",
184
+ "name": "once_cell",
185
+ "version": "1.21.4",
186
+ "description": "Single assignment cells and lazy values.",
187
+ "scope": "required",
188
+ "hashes": [
189
+ {
190
+ "alg": "SHA-256",
191
+ "content": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
192
+ }
193
+ ],
194
+ "licenses": [
195
+ {
196
+ "expression": "MIT OR Apache-2.0"
197
+ }
198
+ ],
199
+ "purl": "pkg:cargo/once_cell@1.21.4",
200
+ "externalReferences": [
201
+ {
202
+ "type": "documentation",
203
+ "url": "https://docs.rs/once_cell"
204
+ },
205
+ {
206
+ "type": "vcs",
207
+ "url": "https://github.com/matklad/once_cell"
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "type": "library",
213
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
214
+ "author": "David Tolnay <dtolnay@gmail.com>, Alex Crichton <alex@alexcrichton.com>",
215
+ "name": "proc-macro2",
216
+ "version": "1.0.107",
217
+ "description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.",
218
+ "scope": "required",
219
+ "hashes": [
220
+ {
221
+ "alg": "SHA-256",
222
+ "content": "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
223
+ }
224
+ ],
225
+ "licenses": [
226
+ {
227
+ "expression": "MIT OR Apache-2.0"
228
+ }
229
+ ],
230
+ "purl": "pkg:cargo/proc-macro2@1.0.107",
231
+ "externalReferences": [
232
+ {
233
+ "type": "documentation",
234
+ "url": "https://docs.rs/proc-macro2"
235
+ },
236
+ {
237
+ "type": "vcs",
238
+ "url": "https://github.com/dtolnay/proc-macro2"
239
+ }
240
+ ]
241
+ },
242
+ {
243
+ "type": "library",
244
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1",
245
+ "author": "PyO3 Project and Contributors <https://github.com/PyO3>",
246
+ "name": "pyo3-build-config",
247
+ "version": "0.30.1",
248
+ "description": "Build configuration for the PyO3 ecosystem",
249
+ "scope": "excluded",
250
+ "hashes": [
251
+ {
252
+ "alg": "SHA-256",
253
+ "content": "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
254
+ }
255
+ ],
256
+ "licenses": [
257
+ {
258
+ "expression": "MIT OR Apache-2.0"
259
+ }
260
+ ],
261
+ "purl": "pkg:cargo/pyo3-build-config@0.30.1",
262
+ "externalReferences": [
263
+ {
264
+ "type": "website",
265
+ "url": "https://pyo3.rs/"
266
+ },
267
+ {
268
+ "type": "vcs",
269
+ "url": "https://github.com/pyo3/pyo3"
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "type": "library",
275
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.30.1",
276
+ "author": "PyO3 Project and Contributors <https://github.com/PyO3>",
277
+ "name": "pyo3-ffi",
278
+ "version": "0.30.1",
279
+ "description": "Python-API bindings for the PyO3 ecosystem",
280
+ "scope": "required",
281
+ "hashes": [
282
+ {
283
+ "alg": "SHA-256",
284
+ "content": "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
285
+ }
286
+ ],
287
+ "licenses": [
288
+ {
289
+ "expression": "MIT OR Apache-2.0"
290
+ }
291
+ ],
292
+ "purl": "pkg:cargo/pyo3-ffi@0.30.1",
293
+ "externalReferences": [
294
+ {
295
+ "type": "website",
296
+ "url": "https://pyo3.rs/"
297
+ },
298
+ {
299
+ "type": "other",
300
+ "url": "python"
301
+ },
302
+ {
303
+ "type": "vcs",
304
+ "url": "https://github.com/pyo3/pyo3"
305
+ }
306
+ ]
307
+ },
308
+ {
309
+ "type": "library",
310
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.30.1",
311
+ "author": "PyO3 Project and Contributors <https://github.com/PyO3>",
312
+ "name": "pyo3-macros-backend",
313
+ "version": "0.30.1",
314
+ "description": "Code generation for PyO3 package",
315
+ "scope": "required",
316
+ "hashes": [
317
+ {
318
+ "alg": "SHA-256",
319
+ "content": "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
320
+ }
321
+ ],
322
+ "licenses": [
323
+ {
324
+ "expression": "MIT OR Apache-2.0"
325
+ }
326
+ ],
327
+ "purl": "pkg:cargo/pyo3-macros-backend@0.30.1",
328
+ "externalReferences": [
329
+ {
330
+ "type": "website",
331
+ "url": "https://pyo3.rs/"
332
+ },
333
+ {
334
+ "type": "vcs",
335
+ "url": "https://github.com/pyo3/pyo3"
336
+ }
337
+ ]
338
+ },
339
+ {
340
+ "type": "library",
341
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.30.1",
342
+ "author": "PyO3 Project and Contributors <https://github.com/PyO3>",
343
+ "name": "pyo3-macros",
344
+ "version": "0.30.1",
345
+ "description": "Proc macros for PyO3 package",
346
+ "scope": "required",
347
+ "hashes": [
348
+ {
349
+ "alg": "SHA-256",
350
+ "content": "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
351
+ }
352
+ ],
353
+ "licenses": [
354
+ {
355
+ "expression": "MIT OR Apache-2.0"
356
+ }
357
+ ],
358
+ "purl": "pkg:cargo/pyo3-macros@0.30.1",
359
+ "externalReferences": [
360
+ {
361
+ "type": "website",
362
+ "url": "https://pyo3.rs/"
363
+ },
364
+ {
365
+ "type": "vcs",
366
+ "url": "https://github.com/pyo3/pyo3"
367
+ }
368
+ ]
369
+ },
370
+ {
371
+ "type": "library",
372
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.30.1",
373
+ "author": "PyO3 Project and Contributors <https://github.com/PyO3>",
374
+ "name": "pyo3",
375
+ "version": "0.30.1",
376
+ "description": "Bindings to Python interpreter",
377
+ "scope": "required",
378
+ "hashes": [
379
+ {
380
+ "alg": "SHA-256",
381
+ "content": "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
382
+ }
383
+ ],
384
+ "licenses": [
385
+ {
386
+ "expression": "MIT OR Apache-2.0"
387
+ }
388
+ ],
389
+ "purl": "pkg:cargo/pyo3@0.30.1",
390
+ "externalReferences": [
391
+ {
392
+ "type": "documentation",
393
+ "url": "https://docs.rs/crate/pyo3/"
394
+ },
395
+ {
396
+ "type": "website",
397
+ "url": "https://pyo3.rs/"
398
+ },
399
+ {
400
+ "type": "other",
401
+ "url": "pyo3-python"
402
+ },
403
+ {
404
+ "type": "vcs",
405
+ "url": "https://github.com/pyo3/pyo3"
406
+ }
407
+ ]
408
+ },
409
+ {
410
+ "type": "library",
411
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
412
+ "author": "David Tolnay <dtolnay@gmail.com>",
413
+ "name": "quote",
414
+ "version": "1.0.47",
415
+ "description": "Quasi-quoting macro quote!(...)",
416
+ "scope": "required",
417
+ "hashes": [
418
+ {
419
+ "alg": "SHA-256",
420
+ "content": "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
421
+ }
422
+ ],
423
+ "licenses": [
424
+ {
425
+ "expression": "MIT OR Apache-2.0"
426
+ }
427
+ ],
428
+ "purl": "pkg:cargo/quote@1.0.47",
429
+ "externalReferences": [
430
+ {
431
+ "type": "documentation",
432
+ "url": "https://docs.rs/quote/"
433
+ },
434
+ {
435
+ "type": "vcs",
436
+ "url": "https://github.com/dtolnay/quote"
437
+ }
438
+ ]
439
+ },
440
+ {
441
+ "type": "library",
442
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9",
443
+ "author": "David Tolnay <dtolnay@gmail.com>",
444
+ "name": "syn",
445
+ "version": "3.0.9",
446
+ "description": "Parser for Rust source code",
447
+ "scope": "required",
448
+ "hashes": [
449
+ {
450
+ "alg": "SHA-256",
451
+ "content": "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
452
+ }
453
+ ],
454
+ "licenses": [
455
+ {
456
+ "expression": "MIT OR Apache-2.0"
457
+ }
458
+ ],
459
+ "purl": "pkg:cargo/syn@3.0.9",
460
+ "externalReferences": [
461
+ {
462
+ "type": "documentation",
463
+ "url": "https://docs.rs/syn"
464
+ },
465
+ {
466
+ "type": "vcs",
467
+ "url": "https://github.com/dtolnay/syn"
468
+ }
469
+ ]
470
+ },
471
+ {
472
+ "type": "library",
473
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.5",
474
+ "author": "Dan Gohman <sunfish@mozilla.com>",
475
+ "name": "target-lexicon",
476
+ "version": "0.13.5",
477
+ "description": "LLVM target triple types",
478
+ "scope": "excluded",
479
+ "hashes": [
480
+ {
481
+ "alg": "SHA-256",
482
+ "content": "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
483
+ }
484
+ ],
485
+ "licenses": [
486
+ {
487
+ "expression": "Apache-2.0 WITH LLVM-exception"
488
+ }
489
+ ],
490
+ "purl": "pkg:cargo/target-lexicon@0.13.5",
491
+ "externalReferences": [
492
+ {
493
+ "type": "documentation",
494
+ "url": "https://docs.rs/target-lexicon/"
495
+ },
496
+ {
497
+ "type": "vcs",
498
+ "url": "https://github.com/bytecodealliance/target-lexicon"
499
+ }
500
+ ]
501
+ },
502
+ {
503
+ "type": "library",
504
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27",
505
+ "author": "David Tolnay <dtolnay@gmail.com>",
506
+ "name": "unicode-ident",
507
+ "version": "1.0.27",
508
+ "description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31",
509
+ "scope": "required",
510
+ "hashes": [
511
+ {
512
+ "alg": "SHA-256",
513
+ "content": "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
514
+ }
515
+ ],
516
+ "licenses": [
517
+ {
518
+ "expression": "(MIT OR Apache-2.0) AND Unicode-3.0"
519
+ }
520
+ ],
521
+ "purl": "pkg:cargo/unicode-ident@1.0.27",
522
+ "externalReferences": [
523
+ {
524
+ "type": "documentation",
525
+ "url": "https://docs.rs/unicode-ident"
526
+ },
527
+ {
528
+ "type": "vcs",
529
+ "url": "https://github.com/dtolnay/unicode-ident"
530
+ }
531
+ ]
532
+ }
533
+ ],
534
+ "dependencies": [
535
+ {
536
+ "ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-core#0.1.1"
537
+ },
538
+ {
539
+ "ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-engine#0.1.1",
540
+ "dependsOn": [
541
+ "path+file:///D:/a/sanqi/sanqi/crates/sanqi-core#0.1.1"
542
+ ]
543
+ },
544
+ {
545
+ "ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-python#0.1.1",
546
+ "dependsOn": [
547
+ "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.30.1",
548
+ "path+file:///D:/a/sanqi/sanqi/crates/sanqi-core#0.1.1",
549
+ "path+file:///D:/a/sanqi/sanqi/crates/sanqi-engine#0.1.1",
550
+ "path+file:///D:/a/sanqi/sanqi/crates/sanqi-render#0.1.1"
551
+ ]
552
+ },
553
+ {
554
+ "ref": "path+file:///D:/a/sanqi/sanqi/crates/sanqi-render#0.1.1",
555
+ "dependsOn": [
556
+ "path+file:///D:/a/sanqi/sanqi/crates/sanqi-core#0.1.1"
557
+ ]
558
+ },
559
+ {
560
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0"
561
+ },
562
+ {
563
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191"
564
+ },
565
+ {
566
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4"
567
+ },
568
+ {
569
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
570
+ "dependsOn": [
571
+ "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27"
572
+ ]
573
+ },
574
+ {
575
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1",
576
+ "dependsOn": [
577
+ "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.5"
578
+ ]
579
+ },
580
+ {
581
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.30.1",
582
+ "dependsOn": [
583
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
584
+ "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1"
585
+ ]
586
+ },
587
+ {
588
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.30.1",
589
+ "dependsOn": [
590
+ "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
591
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
592
+ "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
593
+ "registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9"
594
+ ]
595
+ },
596
+ {
597
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.30.1",
598
+ "dependsOn": [
599
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
600
+ "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.30.1",
601
+ "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
602
+ "registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9"
603
+ ]
604
+ },
605
+ {
606
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.30.1",
607
+ "dependsOn": [
608
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
609
+ "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
610
+ "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1",
611
+ "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.30.1",
612
+ "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.30.1"
613
+ ]
614
+ },
615
+ {
616
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
617
+ "dependsOn": [
618
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107"
619
+ ]
620
+ },
621
+ {
622
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9",
623
+ "dependsOn": [
624
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
625
+ "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
626
+ "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27"
627
+ ]
628
+ },
629
+ {
630
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.5"
631
+ },
632
+ {
633
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27"
634
+ }
635
+ ]
636
+ }