fpm-rs 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 (126) hide show
  1. fpm_rs-0.1.0/Cargo.lock +1389 -0
  2. fpm_rs-0.1.0/Cargo.toml +94 -0
  3. fpm_rs-0.1.0/LICENSE-MIT +22 -0
  4. fpm_rs-0.1.0/PKG-INFO +558 -0
  5. fpm_rs-0.1.0/README.md +530 -0
  6. fpm_rs-0.1.0/dataset_registry.json +4 -0
  7. fpm_rs-0.1.0/dataset_spec.md +678 -0
  8. fpm_rs-0.1.0/examples/benchmark_algorithms.rs +151 -0
  9. fpm_rs-0.1.0/examples/callbacks_save_images.rs +33 -0
  10. fpm_rs-0.1.0/examples/compare_algorithms.rs +36 -0
  11. fpm_rs-0.1.0/examples/epry_pupil_recovery.rs +41 -0
  12. fpm_rs-0.1.0/examples/load_local_dataset.rs +62 -0
  13. fpm_rs-0.1.0/examples/load_measurement_manifest.rs +24 -0
  14. fpm_rs-0.1.0/examples/reconstruct_from_kvectors.rs +50 -0
  15. fpm_rs-0.1.0/examples/simulate_and_reconstruct.rs +38 -0
  16. fpm_rs-0.1.0/examples/support/mod.rs +28 -0
  17. fpm_rs-0.1.0/pyproject.toml +47 -0
  18. fpm_rs-0.1.0/python/Cargo.toml +15 -0
  19. fpm_rs-0.1.0/python/examples/diagnostics_debug.ipynb +115 -0
  20. fpm_rs-0.1.0/python/examples/diagnostics_plots.ipynb +122 -0
  21. fpm_rs-0.1.0/python/fpm_rs/__init__.py +62 -0
  22. fpm_rs-0.1.0/python/fpm_rs/__init__.pyi +743 -0
  23. fpm_rs-0.1.0/python/fpm_rs/datasets/__init__.py +5 -0
  24. fpm_rs-0.1.0/python/fpm_rs/datasets/__main__.py +3 -0
  25. fpm_rs-0.1.0/python/fpm_rs/datasets/cli.py +73 -0
  26. fpm_rs-0.1.0/python/fpm_rs/diagnostics/__init__.py +14 -0
  27. fpm_rs-0.1.0/python/fpm_rs/diagnostics/__main__.py +5 -0
  28. fpm_rs-0.1.0/python/fpm_rs/diagnostics/cli.py +29 -0
  29. fpm_rs-0.1.0/python/fpm_rs/diagnostics/io.py +67 -0
  30. fpm_rs-0.1.0/python/fpm_rs/diagnostics/report.py +135 -0
  31. fpm_rs-0.1.0/python/fpm_rs/plot.py +640 -0
  32. fpm_rs-0.1.0/python/fpm_rs/py.typed +0 -0
  33. fpm_rs-0.1.0/python/src/arrays.rs +63 -0
  34. fpm_rs-0.1.0/python/src/config.rs +621 -0
  35. fpm_rs-0.1.0/python/src/datasets.rs +355 -0
  36. fpm_rs-0.1.0/python/src/errors.rs +74 -0
  37. fpm_rs-0.1.0/python/src/lib.rs +23 -0
  38. fpm_rs-0.1.0/python/src/measurements.rs +162 -0
  39. fpm_rs-0.1.0/python/src/model.rs +145 -0
  40. fpm_rs-0.1.0/python/src/reconstruction.rs +1325 -0
  41. fpm_rs-0.1.0/python/src/simulation.rs +310 -0
  42. fpm_rs-0.1.0/python/tests/conftest.py +45 -0
  43. fpm_rs-0.1.0/python/tests/test_callbacks_and_checkpoints.py +95 -0
  44. fpm_rs-0.1.0/python/tests/test_configuration.py +102 -0
  45. fpm_rs-0.1.0/python/tests/test_datasets.py +71 -0
  46. fpm_rs-0.1.0/python/tests/test_diagnostic_notebooks.py +99 -0
  47. fpm_rs-0.1.0/python/tests/test_diagnostics.py +185 -0
  48. fpm_rs-0.1.0/python/tests/test_gil.py +68 -0
  49. fpm_rs-0.1.0/python/tests/test_measurements_and_simulation.py +101 -0
  50. fpm_rs-0.1.0/python/tests/test_plotting.py +49 -0
  51. fpm_rs-0.1.0/python/tests/test_reconstruction.py +121 -0
  52. fpm_rs-0.1.0/src/algorithms/admm.rs +444 -0
  53. fpm_rs-0.1.0/src/algorithms/alternating_projection.rs +134 -0
  54. fpm_rs-0.1.0/src/algorithms/common.rs +390 -0
  55. fpm_rs-0.1.0/src/algorithms/epry.rs +251 -0
  56. fpm_rs-0.1.0/src/algorithms/fpie.rs +137 -0
  57. fpm_rs-0.1.0/src/algorithms/gradient_descent.rs +1096 -0
  58. fpm_rs-0.1.0/src/algorithms/mod.rs +119 -0
  59. fpm_rs-0.1.0/src/algorithms/regularization.rs +120 -0
  60. fpm_rs-0.1.0/src/array.rs +148 -0
  61. fpm_rs-0.1.0/src/backend/cpu.rs +282 -0
  62. fpm_rs-0.1.0/src/backend/mod.rs +8 -0
  63. fpm_rs-0.1.0/src/backend/traits.rs +96 -0
  64. fpm_rs-0.1.0/src/benchmark.rs +498 -0
  65. fpm_rs-0.1.0/src/bin/fpm-datasets.rs +165 -0
  66. fpm_rs-0.1.0/src/callbacks/checkpoint.rs +37 -0
  67. fpm_rs-0.1.0/src/callbacks/context.rs +62 -0
  68. fpm_rs-0.1.0/src/callbacks/csv_logger.rs +48 -0
  69. fpm_rs-0.1.0/src/callbacks/early_stop.rs +65 -0
  70. fpm_rs-0.1.0/src/callbacks/mod.rs +13 -0
  71. fpm_rs-0.1.0/src/callbacks/progress.rs +44 -0
  72. fpm_rs-0.1.0/src/callbacks/save_image.rs +176 -0
  73. fpm_rs-0.1.0/src/complex.rs +33 -0
  74. fpm_rs-0.1.0/src/configuration.rs +413 -0
  75. fpm_rs-0.1.0/src/datasets/loader.rs +340 -0
  76. fpm_rs-0.1.0/src/datasets/mod.rs +18 -0
  77. fpm_rs-0.1.0/src/datasets/registry.rs +897 -0
  78. fpm_rs-0.1.0/src/datasets/subset.rs +434 -0
  79. fpm_rs-0.1.0/src/diagnostics/coverage.rs +100 -0
  80. fpm_rs-0.1.0/src/diagnostics/frame.rs +130 -0
  81. fpm_rs-0.1.0/src/diagnostics/history.rs +25 -0
  82. fpm_rs-0.1.0/src/diagnostics/iteration.rs +18 -0
  83. fpm_rs-0.1.0/src/diagnostics/loss.rs +58 -0
  84. fpm_rs-0.1.0/src/diagnostics/metrics.rs +161 -0
  85. fpm_rs-0.1.0/src/diagnostics/mod.rs +23 -0
  86. fpm_rs-0.1.0/src/diagnostics/raw_stack.rs +63 -0
  87. fpm_rs-0.1.0/src/diagnostics/recorder.rs +305 -0
  88. fpm_rs-0.1.0/src/diagnostics/serialization.rs +35 -0
  89. fpm_rs-0.1.0/src/error.rs +39 -0
  90. fpm_rs-0.1.0/src/experiment/illumination.rs +280 -0
  91. fpm_rs-0.1.0/src/experiment/led_array.rs +189 -0
  92. fpm_rs-0.1.0/src/experiment/mod.rs +12 -0
  93. fpm_rs-0.1.0/src/experiment/optics.rs +114 -0
  94. fpm_rs-0.1.0/src/experiment/spherical.rs +780 -0
  95. fpm_rs-0.1.0/src/image_io.rs +228 -0
  96. fpm_rs-0.1.0/src/lib.rs +25 -0
  97. fpm_rs-0.1.0/src/measurements/lazy.rs +705 -0
  98. fpm_rs-0.1.0/src/measurements/manifest.rs +91 -0
  99. fpm_rs-0.1.0/src/measurements/metadata.rs +30 -0
  100. fpm_rs-0.1.0/src/measurements/mod.rs +13 -0
  101. fpm_rs-0.1.0/src/measurements/preprocessing.rs +11 -0
  102. fpm_rs-0.1.0/src/measurements/read.rs +106 -0
  103. fpm_rs-0.1.0/src/measurements/stack.rs +597 -0
  104. fpm_rs-0.1.0/src/model/crop.rs +298 -0
  105. fpm_rs-0.1.0/src/model/forward.rs +497 -0
  106. fpm_rs-0.1.0/src/model/image_plane_fpm.rs +475 -0
  107. fpm_rs-0.1.0/src/model/mod.rs +12 -0
  108. fpm_rs-0.1.0/src/model/pupil.rs +97 -0
  109. fpm_rs-0.1.0/src/model/sampling.rs +83 -0
  110. fpm_rs-0.1.0/src/reconstruction/batch.rs +18 -0
  111. fpm_rs-0.1.0/src/reconstruction/checkpoint.rs +256 -0
  112. fpm_rs-0.1.0/src/reconstruction/mod.rs +20 -0
  113. fpm_rs-0.1.0/src/reconstruction/options.rs +22 -0
  114. fpm_rs-0.1.0/src/reconstruction/problem.rs +66 -0
  115. fpm_rs-0.1.0/src/reconstruction/result.rs +337 -0
  116. fpm_rs-0.1.0/src/reconstruction/runner.rs +425 -0
  117. fpm_rs-0.1.0/src/reconstruction/schedule.rs +140 -0
  118. fpm_rs-0.1.0/src/reconstruction/state.rs +268 -0
  119. fpm_rs-0.1.0/src/simulation/camera.rs +306 -0
  120. fpm_rs-0.1.0/src/simulation/illumination_acquisition_errors.rs +36 -0
  121. fpm_rs-0.1.0/src/simulation/metrics.rs +452 -0
  122. fpm_rs-0.1.0/src/simulation/mod.rs +18 -0
  123. fpm_rs-0.1.0/src/simulation/presets.rs +87 -0
  124. fpm_rs-0.1.0/src/simulation/result.rs +25 -0
  125. fpm_rs-0.1.0/src/simulation/simulator.rs +287 -0
  126. fpm_rs-0.1.0/src/simulation/synthetic_object.rs +312 -0
@@ -0,0 +1,1389 @@
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 = "anstream"
13
+ version = "1.0.0"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
16
+ dependencies = [
17
+ "anstyle",
18
+ "anstyle-parse",
19
+ "anstyle-query",
20
+ "anstyle-wincon",
21
+ "colorchoice",
22
+ "is_terminal_polyfill",
23
+ "utf8parse",
24
+ ]
25
+
26
+ [[package]]
27
+ name = "anstyle"
28
+ version = "1.0.14"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
31
+
32
+ [[package]]
33
+ name = "anstyle-parse"
34
+ version = "1.0.0"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
37
+ dependencies = [
38
+ "utf8parse",
39
+ ]
40
+
41
+ [[package]]
42
+ name = "anstyle-query"
43
+ version = "1.1.5"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
46
+ dependencies = [
47
+ "windows-sys 0.61.2",
48
+ ]
49
+
50
+ [[package]]
51
+ name = "anstyle-wincon"
52
+ version = "3.0.11"
53
+ source = "registry+https://github.com/rust-lang/crates.io-index"
54
+ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
55
+ dependencies = [
56
+ "anstyle",
57
+ "once_cell_polyfill",
58
+ "windows-sys 0.61.2",
59
+ ]
60
+
61
+ [[package]]
62
+ name = "approx"
63
+ version = "0.5.1"
64
+ source = "registry+https://github.com/rust-lang/crates.io-index"
65
+ checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
66
+ dependencies = [
67
+ "num-traits",
68
+ ]
69
+
70
+ [[package]]
71
+ name = "autocfg"
72
+ version = "1.5.1"
73
+ source = "registry+https://github.com/rust-lang/crates.io-index"
74
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
75
+
76
+ [[package]]
77
+ name = "base64"
78
+ version = "0.22.1"
79
+ source = "registry+https://github.com/rust-lang/crates.io-index"
80
+ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
81
+
82
+ [[package]]
83
+ name = "bitflags"
84
+ version = "2.13.0"
85
+ source = "registry+https://github.com/rust-lang/crates.io-index"
86
+ checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
87
+
88
+ [[package]]
89
+ name = "block-buffer"
90
+ version = "0.10.4"
91
+ source = "registry+https://github.com/rust-lang/crates.io-index"
92
+ checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
93
+ dependencies = [
94
+ "generic-array",
95
+ ]
96
+
97
+ [[package]]
98
+ name = "bytemuck"
99
+ version = "1.25.0"
100
+ source = "registry+https://github.com/rust-lang/crates.io-index"
101
+ checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
102
+
103
+ [[package]]
104
+ name = "byteorder-lite"
105
+ version = "0.1.0"
106
+ source = "registry+https://github.com/rust-lang/crates.io-index"
107
+ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
108
+
109
+ [[package]]
110
+ name = "bytes"
111
+ version = "1.12.1"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
114
+
115
+ [[package]]
116
+ name = "cc"
117
+ version = "1.2.67"
118
+ source = "registry+https://github.com/rust-lang/crates.io-index"
119
+ checksum = "e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38"
120
+ dependencies = [
121
+ "find-msvc-tools",
122
+ "jobserver",
123
+ "libc",
124
+ "shlex",
125
+ ]
126
+
127
+ [[package]]
128
+ name = "cfg-if"
129
+ version = "1.0.4"
130
+ source = "registry+https://github.com/rust-lang/crates.io-index"
131
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
132
+
133
+ [[package]]
134
+ name = "clap"
135
+ version = "4.6.1"
136
+ source = "registry+https://github.com/rust-lang/crates.io-index"
137
+ checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
138
+ dependencies = [
139
+ "clap_builder",
140
+ "clap_derive",
141
+ ]
142
+
143
+ [[package]]
144
+ name = "clap_builder"
145
+ version = "4.6.0"
146
+ source = "registry+https://github.com/rust-lang/crates.io-index"
147
+ checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
148
+ dependencies = [
149
+ "anstream",
150
+ "anstyle",
151
+ "clap_lex",
152
+ "strsim",
153
+ ]
154
+
155
+ [[package]]
156
+ name = "clap_derive"
157
+ version = "4.6.1"
158
+ source = "registry+https://github.com/rust-lang/crates.io-index"
159
+ checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
160
+ dependencies = [
161
+ "heck",
162
+ "proc-macro2",
163
+ "quote",
164
+ "syn",
165
+ ]
166
+
167
+ [[package]]
168
+ name = "clap_lex"
169
+ version = "1.1.0"
170
+ source = "registry+https://github.com/rust-lang/crates.io-index"
171
+ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
172
+
173
+ [[package]]
174
+ name = "colorchoice"
175
+ version = "1.0.5"
176
+ source = "registry+https://github.com/rust-lang/crates.io-index"
177
+ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
178
+
179
+ [[package]]
180
+ name = "cpufeatures"
181
+ version = "0.2.17"
182
+ source = "registry+https://github.com/rust-lang/crates.io-index"
183
+ checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
184
+ dependencies = [
185
+ "libc",
186
+ ]
187
+
188
+ [[package]]
189
+ name = "crc32fast"
190
+ version = "1.5.0"
191
+ source = "registry+https://github.com/rust-lang/crates.io-index"
192
+ checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
193
+ dependencies = [
194
+ "cfg-if",
195
+ ]
196
+
197
+ [[package]]
198
+ name = "crunchy"
199
+ version = "0.2.4"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
202
+
203
+ [[package]]
204
+ name = "crypto-common"
205
+ version = "0.1.7"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
208
+ dependencies = [
209
+ "generic-array",
210
+ "typenum",
211
+ ]
212
+
213
+ [[package]]
214
+ name = "csv"
215
+ version = "1.4.0"
216
+ source = "registry+https://github.com/rust-lang/crates.io-index"
217
+ checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
218
+ dependencies = [
219
+ "csv-core",
220
+ "itoa",
221
+ "ryu",
222
+ "serde_core",
223
+ ]
224
+
225
+ [[package]]
226
+ name = "csv-core"
227
+ version = "0.1.13"
228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
229
+ checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
230
+ dependencies = [
231
+ "memchr",
232
+ ]
233
+
234
+ [[package]]
235
+ name = "digest"
236
+ version = "0.10.7"
237
+ source = "registry+https://github.com/rust-lang/crates.io-index"
238
+ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
239
+ dependencies = [
240
+ "block-buffer",
241
+ "crypto-common",
242
+ ]
243
+
244
+ [[package]]
245
+ name = "dirs"
246
+ version = "6.0.0"
247
+ source = "registry+https://github.com/rust-lang/crates.io-index"
248
+ checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
249
+ dependencies = [
250
+ "dirs-sys",
251
+ ]
252
+
253
+ [[package]]
254
+ name = "dirs-sys"
255
+ version = "0.5.0"
256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
257
+ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
258
+ dependencies = [
259
+ "libc",
260
+ "option-ext",
261
+ "redox_users",
262
+ "windows-sys 0.61.2",
263
+ ]
264
+
265
+ [[package]]
266
+ name = "errno"
267
+ version = "0.3.14"
268
+ source = "registry+https://github.com/rust-lang/crates.io-index"
269
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
270
+ dependencies = [
271
+ "libc",
272
+ "windows-sys 0.61.2",
273
+ ]
274
+
275
+ [[package]]
276
+ name = "fastrand"
277
+ version = "2.4.1"
278
+ source = "registry+https://github.com/rust-lang/crates.io-index"
279
+ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
280
+
281
+ [[package]]
282
+ name = "fax"
283
+ version = "0.2.7"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a"
286
+
287
+ [[package]]
288
+ name = "fdeflate"
289
+ version = "0.3.7"
290
+ source = "registry+https://github.com/rust-lang/crates.io-index"
291
+ checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
292
+ dependencies = [
293
+ "simd-adler32",
294
+ ]
295
+
296
+ [[package]]
297
+ name = "filetime"
298
+ version = "0.2.29"
299
+ source = "registry+https://github.com/rust-lang/crates.io-index"
300
+ checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759"
301
+ dependencies = [
302
+ "cfg-if",
303
+ "libc",
304
+ ]
305
+
306
+ [[package]]
307
+ name = "find-msvc-tools"
308
+ version = "0.1.9"
309
+ source = "registry+https://github.com/rust-lang/crates.io-index"
310
+ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
311
+
312
+ [[package]]
313
+ name = "flate2"
314
+ version = "1.1.9"
315
+ source = "registry+https://github.com/rust-lang/crates.io-index"
316
+ checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
317
+ dependencies = [
318
+ "crc32fast",
319
+ "miniz_oxide",
320
+ ]
321
+
322
+ [[package]]
323
+ name = "fpm-rs"
324
+ version = "0.1.0"
325
+ dependencies = [
326
+ "approx",
327
+ "clap",
328
+ "csv",
329
+ "dirs",
330
+ "fs2",
331
+ "image",
332
+ "num-complex",
333
+ "rand",
334
+ "rand_distr",
335
+ "rustfft",
336
+ "serde",
337
+ "serde_json",
338
+ "sha2",
339
+ "tar",
340
+ "tempfile",
341
+ "thiserror",
342
+ "tiff",
343
+ "ureq",
344
+ "zstd",
345
+ ]
346
+
347
+ [[package]]
348
+ name = "fpm-rs-python"
349
+ version = "0.1.0"
350
+ dependencies = [
351
+ "fpm-rs",
352
+ "numpy",
353
+ "pyo3",
354
+ ]
355
+
356
+ [[package]]
357
+ name = "fs2"
358
+ version = "0.4.3"
359
+ source = "registry+https://github.com/rust-lang/crates.io-index"
360
+ checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
361
+ dependencies = [
362
+ "libc",
363
+ "winapi",
364
+ ]
365
+
366
+ [[package]]
367
+ name = "generic-array"
368
+ version = "0.14.7"
369
+ source = "registry+https://github.com/rust-lang/crates.io-index"
370
+ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
371
+ dependencies = [
372
+ "typenum",
373
+ "version_check",
374
+ ]
375
+
376
+ [[package]]
377
+ name = "getrandom"
378
+ version = "0.2.17"
379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
380
+ checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
381
+ dependencies = [
382
+ "cfg-if",
383
+ "libc",
384
+ "wasi",
385
+ ]
386
+
387
+ [[package]]
388
+ name = "getrandom"
389
+ version = "0.3.4"
390
+ source = "registry+https://github.com/rust-lang/crates.io-index"
391
+ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
392
+ dependencies = [
393
+ "cfg-if",
394
+ "libc",
395
+ "r-efi 5.3.0",
396
+ "wasip2",
397
+ ]
398
+
399
+ [[package]]
400
+ name = "getrandom"
401
+ version = "0.4.3"
402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
403
+ checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
404
+ dependencies = [
405
+ "cfg-if",
406
+ "libc",
407
+ "r-efi 6.0.0",
408
+ ]
409
+
410
+ [[package]]
411
+ name = "half"
412
+ version = "2.7.1"
413
+ source = "registry+https://github.com/rust-lang/crates.io-index"
414
+ checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
415
+ dependencies = [
416
+ "cfg-if",
417
+ "crunchy",
418
+ "zerocopy",
419
+ ]
420
+
421
+ [[package]]
422
+ name = "heck"
423
+ version = "0.5.0"
424
+ source = "registry+https://github.com/rust-lang/crates.io-index"
425
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
426
+
427
+ [[package]]
428
+ name = "http"
429
+ version = "1.4.2"
430
+ source = "registry+https://github.com/rust-lang/crates.io-index"
431
+ checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
432
+ dependencies = [
433
+ "bytes",
434
+ "itoa",
435
+ ]
436
+
437
+ [[package]]
438
+ name = "httparse"
439
+ version = "1.10.1"
440
+ source = "registry+https://github.com/rust-lang/crates.io-index"
441
+ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
442
+
443
+ [[package]]
444
+ name = "image"
445
+ version = "0.25.10"
446
+ source = "registry+https://github.com/rust-lang/crates.io-index"
447
+ checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104"
448
+ dependencies = [
449
+ "bytemuck",
450
+ "byteorder-lite",
451
+ "moxcms",
452
+ "num-traits",
453
+ "png",
454
+ "tiff",
455
+ ]
456
+
457
+ [[package]]
458
+ name = "is_terminal_polyfill"
459
+ version = "1.70.2"
460
+ source = "registry+https://github.com/rust-lang/crates.io-index"
461
+ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
462
+
463
+ [[package]]
464
+ name = "itoa"
465
+ version = "1.0.18"
466
+ source = "registry+https://github.com/rust-lang/crates.io-index"
467
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
468
+
469
+ [[package]]
470
+ name = "jobserver"
471
+ version = "0.1.35"
472
+ source = "registry+https://github.com/rust-lang/crates.io-index"
473
+ checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3"
474
+ dependencies = [
475
+ "getrandom 0.4.3",
476
+ "libc",
477
+ ]
478
+
479
+ [[package]]
480
+ name = "libc"
481
+ version = "0.2.186"
482
+ source = "registry+https://github.com/rust-lang/crates.io-index"
483
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
484
+
485
+ [[package]]
486
+ name = "libm"
487
+ version = "0.2.16"
488
+ source = "registry+https://github.com/rust-lang/crates.io-index"
489
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
490
+
491
+ [[package]]
492
+ name = "libredox"
493
+ version = "0.1.18"
494
+ source = "registry+https://github.com/rust-lang/crates.io-index"
495
+ checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
496
+ dependencies = [
497
+ "libc",
498
+ ]
499
+
500
+ [[package]]
501
+ name = "linux-raw-sys"
502
+ version = "0.12.1"
503
+ source = "registry+https://github.com/rust-lang/crates.io-index"
504
+ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
505
+
506
+ [[package]]
507
+ name = "log"
508
+ version = "0.4.33"
509
+ source = "registry+https://github.com/rust-lang/crates.io-index"
510
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
511
+
512
+ [[package]]
513
+ name = "matrixmultiply"
514
+ version = "0.3.10"
515
+ source = "registry+https://github.com/rust-lang/crates.io-index"
516
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
517
+ dependencies = [
518
+ "autocfg",
519
+ "rawpointer",
520
+ ]
521
+
522
+ [[package]]
523
+ name = "memchr"
524
+ version = "2.8.2"
525
+ source = "registry+https://github.com/rust-lang/crates.io-index"
526
+ checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"
527
+
528
+ [[package]]
529
+ name = "miniz_oxide"
530
+ version = "0.8.9"
531
+ source = "registry+https://github.com/rust-lang/crates.io-index"
532
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
533
+ dependencies = [
534
+ "adler2",
535
+ "simd-adler32",
536
+ ]
537
+
538
+ [[package]]
539
+ name = "moxcms"
540
+ version = "0.8.1"
541
+ source = "registry+https://github.com/rust-lang/crates.io-index"
542
+ checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
543
+ dependencies = [
544
+ "num-traits",
545
+ "pxfm",
546
+ ]
547
+
548
+ [[package]]
549
+ name = "ndarray"
550
+ version = "0.17.2"
551
+ source = "registry+https://github.com/rust-lang/crates.io-index"
552
+ checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d"
553
+ dependencies = [
554
+ "matrixmultiply",
555
+ "num-complex",
556
+ "num-integer",
557
+ "num-traits",
558
+ "portable-atomic",
559
+ "portable-atomic-util",
560
+ "rawpointer",
561
+ ]
562
+
563
+ [[package]]
564
+ name = "num-complex"
565
+ version = "0.4.6"
566
+ source = "registry+https://github.com/rust-lang/crates.io-index"
567
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
568
+ dependencies = [
569
+ "num-traits",
570
+ "serde",
571
+ ]
572
+
573
+ [[package]]
574
+ name = "num-integer"
575
+ version = "0.1.46"
576
+ source = "registry+https://github.com/rust-lang/crates.io-index"
577
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
578
+ dependencies = [
579
+ "num-traits",
580
+ ]
581
+
582
+ [[package]]
583
+ name = "num-traits"
584
+ version = "0.2.19"
585
+ source = "registry+https://github.com/rust-lang/crates.io-index"
586
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
587
+ dependencies = [
588
+ "autocfg",
589
+ "libm",
590
+ ]
591
+
592
+ [[package]]
593
+ name = "numpy"
594
+ version = "0.29.0"
595
+ source = "registry+https://github.com/rust-lang/crates.io-index"
596
+ checksum = "6a5b15d63a5ff39e378daed0e1340d3a5964703ea9712eb09a0dc66fade996f4"
597
+ dependencies = [
598
+ "libc",
599
+ "ndarray",
600
+ "num-complex",
601
+ "num-integer",
602
+ "num-traits",
603
+ "pyo3",
604
+ "pyo3-build-config",
605
+ "rustc-hash",
606
+ ]
607
+
608
+ [[package]]
609
+ name = "once_cell"
610
+ version = "1.21.4"
611
+ source = "registry+https://github.com/rust-lang/crates.io-index"
612
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
613
+
614
+ [[package]]
615
+ name = "once_cell_polyfill"
616
+ version = "1.70.2"
617
+ source = "registry+https://github.com/rust-lang/crates.io-index"
618
+ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
619
+
620
+ [[package]]
621
+ name = "option-ext"
622
+ version = "0.2.0"
623
+ source = "registry+https://github.com/rust-lang/crates.io-index"
624
+ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
625
+
626
+ [[package]]
627
+ name = "percent-encoding"
628
+ version = "2.3.2"
629
+ source = "registry+https://github.com/rust-lang/crates.io-index"
630
+ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
631
+
632
+ [[package]]
633
+ name = "pkg-config"
634
+ version = "0.3.33"
635
+ source = "registry+https://github.com/rust-lang/crates.io-index"
636
+ checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
637
+
638
+ [[package]]
639
+ name = "png"
640
+ version = "0.18.1"
641
+ source = "registry+https://github.com/rust-lang/crates.io-index"
642
+ checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"
643
+ dependencies = [
644
+ "bitflags",
645
+ "crc32fast",
646
+ "fdeflate",
647
+ "flate2",
648
+ "miniz_oxide",
649
+ ]
650
+
651
+ [[package]]
652
+ name = "portable-atomic"
653
+ version = "1.13.1"
654
+ source = "registry+https://github.com/rust-lang/crates.io-index"
655
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
656
+
657
+ [[package]]
658
+ name = "portable-atomic-util"
659
+ version = "0.2.7"
660
+ source = "registry+https://github.com/rust-lang/crates.io-index"
661
+ checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"
662
+ dependencies = [
663
+ "portable-atomic",
664
+ ]
665
+
666
+ [[package]]
667
+ name = "ppv-lite86"
668
+ version = "0.2.21"
669
+ source = "registry+https://github.com/rust-lang/crates.io-index"
670
+ checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
671
+ dependencies = [
672
+ "zerocopy",
673
+ ]
674
+
675
+ [[package]]
676
+ name = "primal-check"
677
+ version = "0.3.4"
678
+ source = "registry+https://github.com/rust-lang/crates.io-index"
679
+ checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08"
680
+ dependencies = [
681
+ "num-integer",
682
+ ]
683
+
684
+ [[package]]
685
+ name = "proc-macro2"
686
+ version = "1.0.106"
687
+ source = "registry+https://github.com/rust-lang/crates.io-index"
688
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
689
+ dependencies = [
690
+ "unicode-ident",
691
+ ]
692
+
693
+ [[package]]
694
+ name = "pxfm"
695
+ version = "0.1.29"
696
+ source = "registry+https://github.com/rust-lang/crates.io-index"
697
+ checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f"
698
+
699
+ [[package]]
700
+ name = "pyo3"
701
+ version = "0.29.0"
702
+ source = "registry+https://github.com/rust-lang/crates.io-index"
703
+ checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
704
+ dependencies = [
705
+ "libc",
706
+ "once_cell",
707
+ "portable-atomic",
708
+ "pyo3-build-config",
709
+ "pyo3-ffi",
710
+ "pyo3-macros",
711
+ ]
712
+
713
+ [[package]]
714
+ name = "pyo3-build-config"
715
+ version = "0.29.0"
716
+ source = "registry+https://github.com/rust-lang/crates.io-index"
717
+ checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
718
+ dependencies = [
719
+ "target-lexicon",
720
+ ]
721
+
722
+ [[package]]
723
+ name = "pyo3-ffi"
724
+ version = "0.29.0"
725
+ source = "registry+https://github.com/rust-lang/crates.io-index"
726
+ checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
727
+ dependencies = [
728
+ "libc",
729
+ "pyo3-build-config",
730
+ ]
731
+
732
+ [[package]]
733
+ name = "pyo3-macros"
734
+ version = "0.29.0"
735
+ source = "registry+https://github.com/rust-lang/crates.io-index"
736
+ checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
737
+ dependencies = [
738
+ "proc-macro2",
739
+ "pyo3-macros-backend",
740
+ "quote",
741
+ "syn",
742
+ ]
743
+
744
+ [[package]]
745
+ name = "pyo3-macros-backend"
746
+ version = "0.29.0"
747
+ source = "registry+https://github.com/rust-lang/crates.io-index"
748
+ checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
749
+ dependencies = [
750
+ "heck",
751
+ "proc-macro2",
752
+ "quote",
753
+ "syn",
754
+ ]
755
+
756
+ [[package]]
757
+ name = "quick-error"
758
+ version = "2.0.1"
759
+ source = "registry+https://github.com/rust-lang/crates.io-index"
760
+ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
761
+
762
+ [[package]]
763
+ name = "quote"
764
+ version = "1.0.46"
765
+ source = "registry+https://github.com/rust-lang/crates.io-index"
766
+ checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
767
+ dependencies = [
768
+ "proc-macro2",
769
+ ]
770
+
771
+ [[package]]
772
+ name = "r-efi"
773
+ version = "5.3.0"
774
+ source = "registry+https://github.com/rust-lang/crates.io-index"
775
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
776
+
777
+ [[package]]
778
+ name = "r-efi"
779
+ version = "6.0.0"
780
+ source = "registry+https://github.com/rust-lang/crates.io-index"
781
+ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
782
+
783
+ [[package]]
784
+ name = "rand"
785
+ version = "0.9.4"
786
+ source = "registry+https://github.com/rust-lang/crates.io-index"
787
+ checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"
788
+ dependencies = [
789
+ "rand_chacha",
790
+ "rand_core",
791
+ ]
792
+
793
+ [[package]]
794
+ name = "rand_chacha"
795
+ version = "0.9.0"
796
+ source = "registry+https://github.com/rust-lang/crates.io-index"
797
+ checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
798
+ dependencies = [
799
+ "ppv-lite86",
800
+ "rand_core",
801
+ ]
802
+
803
+ [[package]]
804
+ name = "rand_core"
805
+ version = "0.9.5"
806
+ source = "registry+https://github.com/rust-lang/crates.io-index"
807
+ checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
808
+ dependencies = [
809
+ "getrandom 0.3.4",
810
+ ]
811
+
812
+ [[package]]
813
+ name = "rand_distr"
814
+ version = "0.5.1"
815
+ source = "registry+https://github.com/rust-lang/crates.io-index"
816
+ checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
817
+ dependencies = [
818
+ "num-traits",
819
+ "rand",
820
+ ]
821
+
822
+ [[package]]
823
+ name = "rawpointer"
824
+ version = "0.2.1"
825
+ source = "registry+https://github.com/rust-lang/crates.io-index"
826
+ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
827
+
828
+ [[package]]
829
+ name = "redox_users"
830
+ version = "0.5.2"
831
+ source = "registry+https://github.com/rust-lang/crates.io-index"
832
+ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
833
+ dependencies = [
834
+ "getrandom 0.2.17",
835
+ "libredox",
836
+ "thiserror",
837
+ ]
838
+
839
+ [[package]]
840
+ name = "ring"
841
+ version = "0.17.14"
842
+ source = "registry+https://github.com/rust-lang/crates.io-index"
843
+ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
844
+ dependencies = [
845
+ "cc",
846
+ "cfg-if",
847
+ "getrandom 0.2.17",
848
+ "libc",
849
+ "untrusted",
850
+ "windows-sys 0.52.0",
851
+ ]
852
+
853
+ [[package]]
854
+ name = "rustc-hash"
855
+ version = "2.1.2"
856
+ source = "registry+https://github.com/rust-lang/crates.io-index"
857
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
858
+
859
+ [[package]]
860
+ name = "rustfft"
861
+ version = "6.4.1"
862
+ source = "registry+https://github.com/rust-lang/crates.io-index"
863
+ checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89"
864
+ dependencies = [
865
+ "num-complex",
866
+ "num-integer",
867
+ "num-traits",
868
+ "primal-check",
869
+ "strength_reduce",
870
+ "transpose",
871
+ ]
872
+
873
+ [[package]]
874
+ name = "rustix"
875
+ version = "1.1.4"
876
+ source = "registry+https://github.com/rust-lang/crates.io-index"
877
+ checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
878
+ dependencies = [
879
+ "bitflags",
880
+ "errno",
881
+ "libc",
882
+ "linux-raw-sys",
883
+ "windows-sys 0.61.2",
884
+ ]
885
+
886
+ [[package]]
887
+ name = "rustls"
888
+ version = "0.23.41"
889
+ source = "registry+https://github.com/rust-lang/crates.io-index"
890
+ checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f"
891
+ dependencies = [
892
+ "log",
893
+ "once_cell",
894
+ "ring",
895
+ "rustls-pki-types",
896
+ "rustls-webpki",
897
+ "subtle",
898
+ "zeroize",
899
+ ]
900
+
901
+ [[package]]
902
+ name = "rustls-pki-types"
903
+ version = "1.15.0"
904
+ source = "registry+https://github.com/rust-lang/crates.io-index"
905
+ checksum = "764899a24af3980067ee14bc143654f297b22eaebfe3c7b6b211920a5a59b046"
906
+ dependencies = [
907
+ "zeroize",
908
+ ]
909
+
910
+ [[package]]
911
+ name = "rustls-webpki"
912
+ version = "0.103.13"
913
+ source = "registry+https://github.com/rust-lang/crates.io-index"
914
+ checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e"
915
+ dependencies = [
916
+ "ring",
917
+ "rustls-pki-types",
918
+ "untrusted",
919
+ ]
920
+
921
+ [[package]]
922
+ name = "ryu"
923
+ version = "1.0.23"
924
+ source = "registry+https://github.com/rust-lang/crates.io-index"
925
+ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
926
+
927
+ [[package]]
928
+ name = "serde"
929
+ version = "1.0.228"
930
+ source = "registry+https://github.com/rust-lang/crates.io-index"
931
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
932
+ dependencies = [
933
+ "serde_core",
934
+ "serde_derive",
935
+ ]
936
+
937
+ [[package]]
938
+ name = "serde_core"
939
+ version = "1.0.228"
940
+ source = "registry+https://github.com/rust-lang/crates.io-index"
941
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
942
+ dependencies = [
943
+ "serde_derive",
944
+ ]
945
+
946
+ [[package]]
947
+ name = "serde_derive"
948
+ version = "1.0.228"
949
+ source = "registry+https://github.com/rust-lang/crates.io-index"
950
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
951
+ dependencies = [
952
+ "proc-macro2",
953
+ "quote",
954
+ "syn",
955
+ ]
956
+
957
+ [[package]]
958
+ name = "serde_json"
959
+ version = "1.0.150"
960
+ source = "registry+https://github.com/rust-lang/crates.io-index"
961
+ checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
962
+ dependencies = [
963
+ "itoa",
964
+ "memchr",
965
+ "serde",
966
+ "serde_core",
967
+ "zmij",
968
+ ]
969
+
970
+ [[package]]
971
+ name = "sha2"
972
+ version = "0.10.9"
973
+ source = "registry+https://github.com/rust-lang/crates.io-index"
974
+ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
975
+ dependencies = [
976
+ "cfg-if",
977
+ "cpufeatures",
978
+ "digest",
979
+ ]
980
+
981
+ [[package]]
982
+ name = "shlex"
983
+ version = "2.0.1"
984
+ source = "registry+https://github.com/rust-lang/crates.io-index"
985
+ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
986
+
987
+ [[package]]
988
+ name = "simd-adler32"
989
+ version = "0.3.9"
990
+ source = "registry+https://github.com/rust-lang/crates.io-index"
991
+ checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
992
+
993
+ [[package]]
994
+ name = "strength_reduce"
995
+ version = "0.2.4"
996
+ source = "registry+https://github.com/rust-lang/crates.io-index"
997
+ checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
998
+
999
+ [[package]]
1000
+ name = "strsim"
1001
+ version = "0.11.1"
1002
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1003
+ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1004
+
1005
+ [[package]]
1006
+ name = "subtle"
1007
+ version = "2.6.1"
1008
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1009
+ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1010
+
1011
+ [[package]]
1012
+ name = "syn"
1013
+ version = "2.0.118"
1014
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1015
+ checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
1016
+ dependencies = [
1017
+ "proc-macro2",
1018
+ "quote",
1019
+ "unicode-ident",
1020
+ ]
1021
+
1022
+ [[package]]
1023
+ name = "tar"
1024
+ version = "0.4.46"
1025
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1026
+ checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840"
1027
+ dependencies = [
1028
+ "filetime",
1029
+ "libc",
1030
+ "xattr",
1031
+ ]
1032
+
1033
+ [[package]]
1034
+ name = "target-lexicon"
1035
+ version = "0.13.5"
1036
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1037
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
1038
+
1039
+ [[package]]
1040
+ name = "tempfile"
1041
+ version = "3.27.0"
1042
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1043
+ checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
1044
+ dependencies = [
1045
+ "fastrand",
1046
+ "getrandom 0.4.3",
1047
+ "once_cell",
1048
+ "rustix",
1049
+ "windows-sys 0.61.2",
1050
+ ]
1051
+
1052
+ [[package]]
1053
+ name = "thiserror"
1054
+ version = "2.0.18"
1055
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1056
+ checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
1057
+ dependencies = [
1058
+ "thiserror-impl",
1059
+ ]
1060
+
1061
+ [[package]]
1062
+ name = "thiserror-impl"
1063
+ version = "2.0.18"
1064
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1065
+ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
1066
+ dependencies = [
1067
+ "proc-macro2",
1068
+ "quote",
1069
+ "syn",
1070
+ ]
1071
+
1072
+ [[package]]
1073
+ name = "tiff"
1074
+ version = "0.11.3"
1075
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1076
+ checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52"
1077
+ dependencies = [
1078
+ "fax",
1079
+ "flate2",
1080
+ "half",
1081
+ "quick-error",
1082
+ "weezl",
1083
+ "zune-jpeg",
1084
+ ]
1085
+
1086
+ [[package]]
1087
+ name = "transpose"
1088
+ version = "0.2.3"
1089
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1090
+ checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e"
1091
+ dependencies = [
1092
+ "num-integer",
1093
+ "strength_reduce",
1094
+ ]
1095
+
1096
+ [[package]]
1097
+ name = "typenum"
1098
+ version = "1.20.1"
1099
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1100
+ checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
1101
+
1102
+ [[package]]
1103
+ name = "unicode-ident"
1104
+ version = "1.0.24"
1105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1106
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
1107
+
1108
+ [[package]]
1109
+ name = "untrusted"
1110
+ version = "0.9.0"
1111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1112
+ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
1113
+
1114
+ [[package]]
1115
+ name = "ureq"
1116
+ version = "3.3.0"
1117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1118
+ checksum = "dea7109cdcd5864d4eeb1b58a1648dc9bf520360d7af16ec26d0a9354bafcfc0"
1119
+ dependencies = [
1120
+ "base64",
1121
+ "log",
1122
+ "percent-encoding",
1123
+ "rustls",
1124
+ "rustls-pki-types",
1125
+ "ureq-proto",
1126
+ "utf8-zero",
1127
+ "webpki-roots",
1128
+ ]
1129
+
1130
+ [[package]]
1131
+ name = "ureq-proto"
1132
+ version = "0.6.0"
1133
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1134
+ checksum = "e994ba84b0bd1b1b0cf92878b7ef898a5c1760108fe7b6010327e274917a808c"
1135
+ dependencies = [
1136
+ "base64",
1137
+ "http",
1138
+ "httparse",
1139
+ "log",
1140
+ ]
1141
+
1142
+ [[package]]
1143
+ name = "utf8-zero"
1144
+ version = "0.8.1"
1145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1146
+ checksum = "b8c0a043c9540bae7c578c88f91dda8bd82e59ae27c21baca69c8b191aaf5a6e"
1147
+
1148
+ [[package]]
1149
+ name = "utf8parse"
1150
+ version = "0.2.2"
1151
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1152
+ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
1153
+
1154
+ [[package]]
1155
+ name = "version_check"
1156
+ version = "0.9.5"
1157
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1158
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
1159
+
1160
+ [[package]]
1161
+ name = "wasi"
1162
+ version = "0.11.1+wasi-snapshot-preview1"
1163
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1164
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
1165
+
1166
+ [[package]]
1167
+ name = "wasip2"
1168
+ version = "1.0.4+wasi-0.2.12"
1169
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1170
+ checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"
1171
+ dependencies = [
1172
+ "wit-bindgen",
1173
+ ]
1174
+
1175
+ [[package]]
1176
+ name = "webpki-roots"
1177
+ version = "1.0.8"
1178
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1179
+ checksum = "bf85cb06032201fa7c6f829d7db5a7e5aa45bcc0655327713065f6f0576731bf"
1180
+ dependencies = [
1181
+ "rustls-pki-types",
1182
+ ]
1183
+
1184
+ [[package]]
1185
+ name = "weezl"
1186
+ version = "0.1.12"
1187
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1188
+ checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
1189
+
1190
+ [[package]]
1191
+ name = "winapi"
1192
+ version = "0.3.9"
1193
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1194
+ checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1195
+ dependencies = [
1196
+ "winapi-i686-pc-windows-gnu",
1197
+ "winapi-x86_64-pc-windows-gnu",
1198
+ ]
1199
+
1200
+ [[package]]
1201
+ name = "winapi-i686-pc-windows-gnu"
1202
+ version = "0.4.0"
1203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1204
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1205
+
1206
+ [[package]]
1207
+ name = "winapi-x86_64-pc-windows-gnu"
1208
+ version = "0.4.0"
1209
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1210
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1211
+
1212
+ [[package]]
1213
+ name = "windows-link"
1214
+ version = "0.2.1"
1215
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1216
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
1217
+
1218
+ [[package]]
1219
+ name = "windows-sys"
1220
+ version = "0.52.0"
1221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1222
+ checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
1223
+ dependencies = [
1224
+ "windows-targets",
1225
+ ]
1226
+
1227
+ [[package]]
1228
+ name = "windows-sys"
1229
+ version = "0.61.2"
1230
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1231
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
1232
+ dependencies = [
1233
+ "windows-link",
1234
+ ]
1235
+
1236
+ [[package]]
1237
+ name = "windows-targets"
1238
+ version = "0.52.6"
1239
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1240
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
1241
+ dependencies = [
1242
+ "windows_aarch64_gnullvm",
1243
+ "windows_aarch64_msvc",
1244
+ "windows_i686_gnu",
1245
+ "windows_i686_gnullvm",
1246
+ "windows_i686_msvc",
1247
+ "windows_x86_64_gnu",
1248
+ "windows_x86_64_gnullvm",
1249
+ "windows_x86_64_msvc",
1250
+ ]
1251
+
1252
+ [[package]]
1253
+ name = "windows_aarch64_gnullvm"
1254
+ version = "0.52.6"
1255
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1256
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
1257
+
1258
+ [[package]]
1259
+ name = "windows_aarch64_msvc"
1260
+ version = "0.52.6"
1261
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1262
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
1263
+
1264
+ [[package]]
1265
+ name = "windows_i686_gnu"
1266
+ version = "0.52.6"
1267
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1268
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
1269
+
1270
+ [[package]]
1271
+ name = "windows_i686_gnullvm"
1272
+ version = "0.52.6"
1273
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1274
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
1275
+
1276
+ [[package]]
1277
+ name = "windows_i686_msvc"
1278
+ version = "0.52.6"
1279
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1280
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
1281
+
1282
+ [[package]]
1283
+ name = "windows_x86_64_gnu"
1284
+ version = "0.52.6"
1285
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1286
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
1287
+
1288
+ [[package]]
1289
+ name = "windows_x86_64_gnullvm"
1290
+ version = "0.52.6"
1291
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1292
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
1293
+
1294
+ [[package]]
1295
+ name = "windows_x86_64_msvc"
1296
+ version = "0.52.6"
1297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1298
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1299
+
1300
+ [[package]]
1301
+ name = "wit-bindgen"
1302
+ version = "0.57.1"
1303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1304
+ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
1305
+
1306
+ [[package]]
1307
+ name = "xattr"
1308
+ version = "1.6.1"
1309
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1310
+ checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156"
1311
+ dependencies = [
1312
+ "libc",
1313
+ "rustix",
1314
+ ]
1315
+
1316
+ [[package]]
1317
+ name = "zerocopy"
1318
+ version = "0.8.52"
1319
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1320
+ checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f"
1321
+ dependencies = [
1322
+ "zerocopy-derive",
1323
+ ]
1324
+
1325
+ [[package]]
1326
+ name = "zerocopy-derive"
1327
+ version = "0.8.52"
1328
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1329
+ checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930"
1330
+ dependencies = [
1331
+ "proc-macro2",
1332
+ "quote",
1333
+ "syn",
1334
+ ]
1335
+
1336
+ [[package]]
1337
+ name = "zeroize"
1338
+ version = "1.9.0"
1339
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1340
+ checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
1341
+
1342
+ [[package]]
1343
+ name = "zmij"
1344
+ version = "1.0.21"
1345
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1346
+ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
1347
+
1348
+ [[package]]
1349
+ name = "zstd"
1350
+ version = "0.13.3"
1351
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1352
+ checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a"
1353
+ dependencies = [
1354
+ "zstd-safe",
1355
+ ]
1356
+
1357
+ [[package]]
1358
+ name = "zstd-safe"
1359
+ version = "7.2.4"
1360
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1361
+ checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d"
1362
+ dependencies = [
1363
+ "zstd-sys",
1364
+ ]
1365
+
1366
+ [[package]]
1367
+ name = "zstd-sys"
1368
+ version = "2.0.16+zstd.1.5.7"
1369
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1370
+ checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748"
1371
+ dependencies = [
1372
+ "cc",
1373
+ "pkg-config",
1374
+ ]
1375
+
1376
+ [[package]]
1377
+ name = "zune-core"
1378
+ version = "0.5.1"
1379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1380
+ checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
1381
+
1382
+ [[package]]
1383
+ name = "zune-jpeg"
1384
+ version = "0.5.15"
1385
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1386
+ checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296"
1387
+ dependencies = [
1388
+ "zune-core",
1389
+ ]