subgraphsearch 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 (39) hide show
  1. subgraphsearch-0.1.0/Cargo.lock +428 -0
  2. subgraphsearch-0.1.0/Cargo.toml +15 -0
  3. subgraphsearch-0.1.0/LICENSE +21 -0
  4. subgraphsearch-0.1.0/PKG-INFO +371 -0
  5. subgraphsearch-0.1.0/crates/subgraphsearch-cli/Cargo.toml +27 -0
  6. subgraphsearch-0.1.0/crates/subgraphsearch-cli/src/lib.rs +973 -0
  7. subgraphsearch-0.1.0/crates/subgraphsearch-cli/src/main.rs +5 -0
  8. subgraphsearch-0.1.0/crates/subgraphsearch-cli/tests/cli.rs +208 -0
  9. subgraphsearch-0.1.0/crates/subgraphsearch-cli/tests/golden.rs +105 -0
  10. subgraphsearch-0.1.0/crates/subgraphsearch-core/Cargo.toml +14 -0
  11. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/formats.rs +1120 -0
  12. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/generate.rs +200 -0
  13. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/graph.rs +447 -0
  14. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/layout.rs +97 -0
  15. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/legacy.rs +708 -0
  16. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/lib.rs +73 -0
  17. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/ops.rs +208 -0
  18. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/regular.rs +827 -0
  19. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/rng.rs +174 -0
  20. subgraphsearch-0.1.0/crates/subgraphsearch-core/src/search.rs +797 -0
  21. subgraphsearch-0.1.0/crates/subgraphsearch-py/Cargo.toml +19 -0
  22. subgraphsearch-0.1.0/crates/subgraphsearch-py/src/lib.rs +553 -0
  23. subgraphsearch-0.1.0/pyproject.toml +56 -0
  24. subgraphsearch-0.1.0/python/PYPI_README.md +335 -0
  25. subgraphsearch-0.1.0/python/subgraphsearch/__init__.py +59 -0
  26. subgraphsearch-0.1.0/python/subgraphsearch/__main__.py +99 -0
  27. subgraphsearch-0.1.0/python/subgraphsearch/_cli.py +20 -0
  28. subgraphsearch-0.1.0/python/subgraphsearch/_graph.py +423 -0
  29. subgraphsearch-0.1.0/python/subgraphsearch/_html.py +168 -0
  30. subgraphsearch-0.1.0/python/subgraphsearch/_search.py +253 -0
  31. subgraphsearch-0.1.0/python/subgraphsearch/convert.py +109 -0
  32. subgraphsearch-0.1.0/python/subgraphsearch/legacy.py +55 -0
  33. subgraphsearch-0.1.0/python/subgraphsearch/quickstart.ipynb +551 -0
  34. subgraphsearch-0.1.0/python/subgraphsearch/viz/__init__.py +54 -0
  35. subgraphsearch-0.1.0/python/subgraphsearch/viz/_style.py +27 -0
  36. subgraphsearch-0.1.0/python/subgraphsearch/viz/diagnostics.py +130 -0
  37. subgraphsearch-0.1.0/python/subgraphsearch/viz/drawing.py +71 -0
  38. subgraphsearch-0.1.0/python/subgraphsearch/viz/interactive.py +374 -0
  39. subgraphsearch-0.1.0/python/subgraphsearch/viz/spectral.py +163 -0
@@ -0,0 +1,428 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "anstream"
7
+ version = "1.0.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
10
+ dependencies = [
11
+ "anstyle",
12
+ "anstyle-parse",
13
+ "anstyle-query",
14
+ "anstyle-wincon",
15
+ "colorchoice",
16
+ "is_terminal_polyfill",
17
+ "utf8parse",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "anstyle"
22
+ version = "1.0.14"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
25
+
26
+ [[package]]
27
+ name = "anstyle-parse"
28
+ version = "1.0.0"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
31
+ dependencies = [
32
+ "utf8parse",
33
+ ]
34
+
35
+ [[package]]
36
+ name = "anstyle-query"
37
+ version = "1.1.5"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
40
+ dependencies = [
41
+ "windows-sys",
42
+ ]
43
+
44
+ [[package]]
45
+ name = "anstyle-wincon"
46
+ version = "3.0.11"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
49
+ dependencies = [
50
+ "anstyle",
51
+ "once_cell_polyfill",
52
+ "windows-sys",
53
+ ]
54
+
55
+ [[package]]
56
+ name = "anyhow"
57
+ version = "1.0.104"
58
+ source = "registry+https://github.com/rust-lang/crates.io-index"
59
+ checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
60
+
61
+ [[package]]
62
+ name = "clap"
63
+ version = "4.6.7"
64
+ source = "registry+https://github.com/rust-lang/crates.io-index"
65
+ checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946"
66
+ dependencies = [
67
+ "clap_builder",
68
+ "clap_derive",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "clap_builder"
73
+ version = "4.6.7"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d"
76
+ dependencies = [
77
+ "anstream",
78
+ "anstyle",
79
+ "clap_lex",
80
+ "strsim",
81
+ ]
82
+
83
+ [[package]]
84
+ name = "clap_derive"
85
+ version = "4.6.7"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0"
88
+ dependencies = [
89
+ "heck",
90
+ "proc-macro2",
91
+ "quote",
92
+ "syn",
93
+ ]
94
+
95
+ [[package]]
96
+ name = "clap_lex"
97
+ version = "1.1.1"
98
+ source = "registry+https://github.com/rust-lang/crates.io-index"
99
+ checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486"
100
+
101
+ [[package]]
102
+ name = "colorchoice"
103
+ version = "1.0.5"
104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
105
+ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
106
+
107
+ [[package]]
108
+ name = "crossbeam-deque"
109
+ version = "0.8.8"
110
+ source = "registry+https://github.com/rust-lang/crates.io-index"
111
+ checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a"
112
+ dependencies = [
113
+ "crossbeam-epoch",
114
+ "crossbeam-utils",
115
+ ]
116
+
117
+ [[package]]
118
+ name = "crossbeam-epoch"
119
+ version = "0.9.21"
120
+ source = "registry+https://github.com/rust-lang/crates.io-index"
121
+ checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d"
122
+ dependencies = [
123
+ "crossbeam-utils",
124
+ ]
125
+
126
+ [[package]]
127
+ name = "crossbeam-utils"
128
+ version = "0.8.23"
129
+ source = "registry+https://github.com/rust-lang/crates.io-index"
130
+ checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
131
+
132
+ [[package]]
133
+ name = "either"
134
+ version = "1.19.0"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be"
137
+
138
+ [[package]]
139
+ name = "heck"
140
+ version = "0.5.0"
141
+ source = "registry+https://github.com/rust-lang/crates.io-index"
142
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
143
+
144
+ [[package]]
145
+ name = "is_terminal_polyfill"
146
+ version = "1.70.2"
147
+ source = "registry+https://github.com/rust-lang/crates.io-index"
148
+ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
149
+
150
+ [[package]]
151
+ name = "itoa"
152
+ version = "1.0.18"
153
+ source = "registry+https://github.com/rust-lang/crates.io-index"
154
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
155
+
156
+ [[package]]
157
+ name = "libc"
158
+ version = "0.2.191"
159
+ source = "registry+https://github.com/rust-lang/crates.io-index"
160
+ checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
161
+
162
+ [[package]]
163
+ name = "memchr"
164
+ version = "2.8.3"
165
+ source = "registry+https://github.com/rust-lang/crates.io-index"
166
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
167
+
168
+ [[package]]
169
+ name = "once_cell"
170
+ version = "1.21.4"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
173
+
174
+ [[package]]
175
+ name = "once_cell_polyfill"
176
+ version = "1.70.2"
177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
178
+ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
179
+
180
+ [[package]]
181
+ name = "portable-atomic"
182
+ version = "1.15.0"
183
+ source = "registry+https://github.com/rust-lang/crates.io-index"
184
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
185
+
186
+ [[package]]
187
+ name = "proc-macro2"
188
+ version = "1.0.107"
189
+ source = "registry+https://github.com/rust-lang/crates.io-index"
190
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
191
+ dependencies = [
192
+ "unicode-ident",
193
+ ]
194
+
195
+ [[package]]
196
+ name = "pyo3"
197
+ version = "0.30.1"
198
+ source = "registry+https://github.com/rust-lang/crates.io-index"
199
+ checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
200
+ dependencies = [
201
+ "libc",
202
+ "once_cell",
203
+ "portable-atomic",
204
+ "pyo3-build-config",
205
+ "pyo3-ffi",
206
+ "pyo3-macros",
207
+ ]
208
+
209
+ [[package]]
210
+ name = "pyo3-build-config"
211
+ version = "0.30.1"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
214
+ dependencies = [
215
+ "target-lexicon",
216
+ ]
217
+
218
+ [[package]]
219
+ name = "pyo3-ffi"
220
+ version = "0.30.1"
221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
222
+ checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
223
+ dependencies = [
224
+ "libc",
225
+ "pyo3-build-config",
226
+ ]
227
+
228
+ [[package]]
229
+ name = "pyo3-macros"
230
+ version = "0.30.1"
231
+ source = "registry+https://github.com/rust-lang/crates.io-index"
232
+ checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
233
+ dependencies = [
234
+ "proc-macro2",
235
+ "pyo3-macros-backend",
236
+ "quote",
237
+ "syn",
238
+ ]
239
+
240
+ [[package]]
241
+ name = "pyo3-macros-backend"
242
+ version = "0.30.1"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
245
+ dependencies = [
246
+ "heck",
247
+ "proc-macro2",
248
+ "quote",
249
+ "syn",
250
+ ]
251
+
252
+ [[package]]
253
+ name = "quote"
254
+ version = "1.0.47"
255
+ source = "registry+https://github.com/rust-lang/crates.io-index"
256
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
257
+ dependencies = [
258
+ "proc-macro2",
259
+ ]
260
+
261
+ [[package]]
262
+ name = "rayon"
263
+ version = "1.12.0"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
266
+ dependencies = [
267
+ "either",
268
+ "rayon-core",
269
+ ]
270
+
271
+ [[package]]
272
+ name = "rayon-core"
273
+ version = "1.13.0"
274
+ source = "registry+https://github.com/rust-lang/crates.io-index"
275
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
276
+ dependencies = [
277
+ "crossbeam-deque",
278
+ "crossbeam-utils",
279
+ ]
280
+
281
+ [[package]]
282
+ name = "serde"
283
+ version = "1.0.229"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
286
+ dependencies = [
287
+ "serde_core",
288
+ "serde_derive",
289
+ ]
290
+
291
+ [[package]]
292
+ name = "serde_core"
293
+ version = "1.0.229"
294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
295
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
296
+ dependencies = [
297
+ "serde_derive",
298
+ ]
299
+
300
+ [[package]]
301
+ name = "serde_derive"
302
+ version = "1.0.229"
303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
304
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
305
+ dependencies = [
306
+ "proc-macro2",
307
+ "quote",
308
+ "syn",
309
+ ]
310
+
311
+ [[package]]
312
+ name = "serde_json"
313
+ version = "1.0.154"
314
+ source = "registry+https://github.com/rust-lang/crates.io-index"
315
+ checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
316
+ dependencies = [
317
+ "itoa",
318
+ "memchr",
319
+ "serde",
320
+ "serde_core",
321
+ "zmij",
322
+ ]
323
+
324
+ [[package]]
325
+ name = "strsim"
326
+ version = "0.11.1"
327
+ source = "registry+https://github.com/rust-lang/crates.io-index"
328
+ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
329
+
330
+ [[package]]
331
+ name = "subgraphsearch"
332
+ version = "0.1.0"
333
+ dependencies = [
334
+ "anyhow",
335
+ "clap",
336
+ "libc",
337
+ "rayon",
338
+ "serde_json",
339
+ "subgraphsearch-core",
340
+ ]
341
+
342
+ [[package]]
343
+ name = "subgraphsearch-core"
344
+ version = "0.1.0"
345
+ dependencies = [
346
+ "rayon",
347
+ "serde",
348
+ "thiserror",
349
+ ]
350
+
351
+ [[package]]
352
+ name = "subgraphsearch-py"
353
+ version = "0.1.0"
354
+ dependencies = [
355
+ "pyo3",
356
+ "subgraphsearch",
357
+ "subgraphsearch-core",
358
+ ]
359
+
360
+ [[package]]
361
+ name = "syn"
362
+ version = "3.0.9"
363
+ source = "registry+https://github.com/rust-lang/crates.io-index"
364
+ checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
365
+ dependencies = [
366
+ "proc-macro2",
367
+ "quote",
368
+ "unicode-ident",
369
+ ]
370
+
371
+ [[package]]
372
+ name = "target-lexicon"
373
+ version = "0.13.5"
374
+ source = "registry+https://github.com/rust-lang/crates.io-index"
375
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
376
+
377
+ [[package]]
378
+ name = "thiserror"
379
+ version = "2.0.21"
380
+ source = "registry+https://github.com/rust-lang/crates.io-index"
381
+ checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e"
382
+ dependencies = [
383
+ "thiserror-impl",
384
+ ]
385
+
386
+ [[package]]
387
+ name = "thiserror-impl"
388
+ version = "2.0.21"
389
+ source = "registry+https://github.com/rust-lang/crates.io-index"
390
+ checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524"
391
+ dependencies = [
392
+ "proc-macro2",
393
+ "quote",
394
+ "syn",
395
+ ]
396
+
397
+ [[package]]
398
+ name = "unicode-ident"
399
+ version = "1.0.27"
400
+ source = "registry+https://github.com/rust-lang/crates.io-index"
401
+ checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
402
+
403
+ [[package]]
404
+ name = "utf8parse"
405
+ version = "0.2.2"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
408
+
409
+ [[package]]
410
+ name = "windows-link"
411
+ version = "0.2.1"
412
+ source = "registry+https://github.com/rust-lang/crates.io-index"
413
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
414
+
415
+ [[package]]
416
+ name = "windows-sys"
417
+ version = "0.61.2"
418
+ source = "registry+https://github.com/rust-lang/crates.io-index"
419
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
420
+ dependencies = [
421
+ "windows-link",
422
+ ]
423
+
424
+ [[package]]
425
+ name = "zmij"
426
+ version = "1.0.23"
427
+ source = "registry+https://github.com/rust-lang/crates.io-index"
428
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
@@ -0,0 +1,15 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = ["crates/subgraphsearch-core", "crates/subgraphsearch-cli", "crates/subgraphsearch-py"]
4
+
5
+ [workspace.package]
6
+ version = "0.1.0"
7
+ edition = "2024"
8
+ rust-version = "1.87"
9
+ license = "MIT"
10
+ authors = ["Victor Glazer"]
11
+ repository = "https://github.com/vglazer/subgraphsearch"
12
+
13
+ [profile.release]
14
+ lto = "thin"
15
+ codegen-units = 1
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2002-2026 Victor Glazer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.