phytkit 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 (61) hide show
  1. phytkit-0.1.0/Cargo.lock +669 -0
  2. phytkit-0.1.0/Cargo.toml +19 -0
  3. phytkit-0.1.0/LICENSE +21 -0
  4. phytkit-0.1.0/PKG-INFO +57 -0
  5. phytkit-0.1.0/README.md +35 -0
  6. phytkit-0.1.0/crates/cli/Cargo.toml +17 -0
  7. phytkit-0.1.0/crates/cli/src/args.rs +210 -0
  8. phytkit-0.1.0/crates/cli/src/concat.rs +43 -0
  9. phytkit-0.1.0/crates/cli/src/describe.rs +69 -0
  10. phytkit-0.1.0/crates/cli/src/fit.rs +729 -0
  11. phytkit-0.1.0/crates/cli/src/hydraulics_adapter.rs +27 -0
  12. phytkit-0.1.0/crates/cli/src/io.rs +108 -0
  13. phytkit-0.1.0/crates/cli/src/li600.rs +215 -0
  14. phytkit-0.1.0/crates/cli/src/lib.rs +145 -0
  15. phytkit-0.1.0/crates/cli/src/main.rs +13 -0
  16. phytkit-0.1.0/crates/cli/src/options.rs +852 -0
  17. phytkit-0.1.0/crates/cli/src/tools.rs +251 -0
  18. phytkit-0.1.0/crates/core/Cargo.toml +13 -0
  19. phytkit-0.1.0/crates/core/src/concat.rs +183 -0
  20. phytkit-0.1.0/crates/core/src/dual.rs +90 -0
  21. phytkit-0.1.0/crates/core/src/fit.rs +289 -0
  22. phytkit-0.1.0/crates/core/src/group_csv.rs +61 -0
  23. phytkit-0.1.0/crates/core/src/hydraulics.rs +837 -0
  24. phytkit-0.1.0/crates/core/src/li600.rs +338 -0
  25. phytkit-0.1.0/crates/core/src/lib.rs +28 -0
  26. phytkit-0.1.0/crates/core/src/licor.rs +96 -0
  27. phytkit-0.1.0/crates/core/src/linalg.rs +42 -0
  28. phytkit-0.1.0/crates/core/src/model.rs +123 -0
  29. phytkit-0.1.0/crates/core/src/models/brooks_corey.rs +62 -0
  30. phytkit-0.1.0/crates/core/src/models/bta.rs +63 -0
  31. phytkit-0.1.0/crates/core/src/models/empirical_a.rs +266 -0
  32. phytkit-0.1.0/crates/core/src/models/example_light_response.rs +84 -0
  33. phytkit-0.1.0/crates/core/src/models/fractal_swrc.rs +105 -0
  34. phytkit-0.1.0/crates/core/src/models/fvcb.rs +333 -0
  35. phytkit-0.1.0/crates/core/src/models/fvcb_c4.rs +408 -0
  36. phytkit-0.1.0/crates/core/src/models/medlyn.rs +58 -0
  37. phytkit-0.1.0/crates/core/src/models/mod.rs +55 -0
  38. phytkit-0.1.0/crates/core/src/models/modified_van_genuchten.rs +66 -0
  39. phytkit-0.1.0/crates/core/src/models/pvcurve.rs +68 -0
  40. phytkit-0.1.0/crates/core/src/models/raats.rs +172 -0
  41. phytkit-0.1.0/crates/core/src/models/smooth_min.rs +20 -0
  42. phytkit-0.1.0/crates/core/src/models/van_genuchten.rs +60 -0
  43. phytkit-0.1.0/crates/core/src/models/vulnerability.rs +59 -0
  44. phytkit-0.1.0/crates/core/src/numbers.rs +99 -0
  45. phytkit-0.1.0/crates/core/src/parse.rs +198 -0
  46. phytkit-0.1.0/crates/core/src/poro.rs +560 -0
  47. phytkit-0.1.0/crates/core/src/rescale.rs +96 -0
  48. phytkit-0.1.0/crates/core/src/table.rs +153 -0
  49. phytkit-0.1.0/crates/core/src/tresp.rs +10 -0
  50. phytkit-0.1.0/crates/core/src/xlsx.rs +92 -0
  51. phytkit-0.1.0/crates/core/tests/data/model_reference.json +1 -0
  52. phytkit-0.1.0/crates/core/tests/model_reference.rs +641 -0
  53. phytkit-0.1.0/crates/py/Cargo.toml +18 -0
  54. phytkit-0.1.0/crates/py/LICENSE +21 -0
  55. phytkit-0.1.0/crates/py/README.md +35 -0
  56. phytkit-0.1.0/crates/py/src/lib.rs +373 -0
  57. phytkit-0.1.0/crates/py/tests/cli_cases.txt +73 -0
  58. phytkit-0.1.0/crates/py/tests/test_phytkit.py +153 -0
  59. phytkit-0.1.0/pyproject.toml +36 -0
  60. phytkit-0.1.0/python/phytkit/__init__.py +85 -0
  61. phytkit-0.1.0/python/phytkit/__main__.py +19 -0
@@ -0,0 +1,669 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "atoi_simd"
7
+ version = "0.18.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "f3cdb3708a128e559a30fb830e8a77a5022ee6902806925c216658652b452a44"
10
+ dependencies = [
11
+ "debug_unsafe",
12
+ "rustversion",
13
+ ]
14
+
15
+ [[package]]
16
+ name = "bitflags"
17
+ version = "2.13.2"
18
+ source = "registry+https://github.com/rust-lang/crates.io-index"
19
+ checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
20
+
21
+ [[package]]
22
+ name = "bumpalo"
23
+ version = "3.20.3"
24
+ source = "registry+https://github.com/rust-lang/crates.io-index"
25
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
26
+
27
+ [[package]]
28
+ name = "byteorder"
29
+ version = "1.5.0"
30
+ source = "registry+https://github.com/rust-lang/crates.io-index"
31
+ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
32
+
33
+ [[package]]
34
+ name = "calamine"
35
+ version = "0.38.0"
36
+ source = "registry+https://github.com/rust-lang/crates.io-index"
37
+ checksum = "f431b67cba6122a1f7d26b7adafc71bbdf07026095fe811f5efc025d8748e1d8"
38
+ dependencies = [
39
+ "atoi_simd",
40
+ "byteorder",
41
+ "codepage",
42
+ "encoding_rs",
43
+ "fast-float2",
44
+ "log",
45
+ "quick-xml",
46
+ "serde",
47
+ "zip",
48
+ ]
49
+
50
+ [[package]]
51
+ name = "cfg-if"
52
+ version = "1.0.5"
53
+ source = "registry+https://github.com/rust-lang/crates.io-index"
54
+ checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
55
+
56
+ [[package]]
57
+ name = "cfg_aliases"
58
+ version = "0.2.2"
59
+ source = "registry+https://github.com/rust-lang/crates.io-index"
60
+ checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
61
+
62
+ [[package]]
63
+ name = "codepage"
64
+ version = "0.1.3"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "bdff162541cd8b79de82e2edcc7eff3a8c2a6dc3d75152636028f96d93de3b26"
67
+ dependencies = [
68
+ "encoding_rs",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "constant_time_eq"
73
+ version = "0.6.1"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "9eb6feb175df65d0a3ccd3e73484e940d0ac664e8034f0519fd49a93db3071d9"
76
+ dependencies = [
77
+ "rustversion",
78
+ ]
79
+
80
+ [[package]]
81
+ name = "core_detect"
82
+ version = "1.0.0"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48"
85
+
86
+ [[package]]
87
+ name = "crc32fast"
88
+ version = "1.5.4"
89
+ source = "registry+https://github.com/rust-lang/crates.io-index"
90
+ checksum = "5f97d3416d5337d15c4b0d78c8c91df922ca143f57ec20e2d1c188333047ef04"
91
+ dependencies = [
92
+ "cfg-if",
93
+ ]
94
+
95
+ [[package]]
96
+ name = "crossbeam-deque"
97
+ version = "0.8.8"
98
+ source = "registry+https://github.com/rust-lang/crates.io-index"
99
+ checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a"
100
+ dependencies = [
101
+ "crossbeam-epoch",
102
+ "crossbeam-utils",
103
+ ]
104
+
105
+ [[package]]
106
+ name = "crossbeam-epoch"
107
+ version = "0.9.21"
108
+ source = "registry+https://github.com/rust-lang/crates.io-index"
109
+ checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d"
110
+ dependencies = [
111
+ "crossbeam-utils",
112
+ ]
113
+
114
+ [[package]]
115
+ name = "crossbeam-utils"
116
+ version = "0.8.23"
117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
118
+ checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
119
+
120
+ [[package]]
121
+ name = "csv"
122
+ version = "1.4.0"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
125
+ dependencies = [
126
+ "csv-core",
127
+ "itoa",
128
+ "ryu",
129
+ "serde_core",
130
+ ]
131
+
132
+ [[package]]
133
+ name = "csv-core"
134
+ version = "0.1.13"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
137
+ dependencies = [
138
+ "memchr",
139
+ ]
140
+
141
+ [[package]]
142
+ name = "debug_unsafe"
143
+ version = "0.1.4"
144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
145
+ checksum = "7eed2c4702fa172d1ce21078faa7c5203e69f5394d48cc436d25928394a867a2"
146
+
147
+ [[package]]
148
+ name = "either"
149
+ version = "1.19.0"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be"
152
+
153
+ [[package]]
154
+ name = "encoding_rs"
155
+ version = "0.8.44"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "89253175e704ab869b04f9db224d38630e0211a53841a79181deae0889e169f5"
158
+ dependencies = [
159
+ "cfg-if",
160
+ "core_detect",
161
+ "multiversion_no_op",
162
+ "rustversion",
163
+ "scopeguard",
164
+ "simdutf8",
165
+ ]
166
+
167
+ [[package]]
168
+ name = "equivalent"
169
+ version = "1.0.3"
170
+ source = "registry+https://github.com/rust-lang/crates.io-index"
171
+ checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826"
172
+
173
+ [[package]]
174
+ name = "fast-float2"
175
+ version = "0.2.4"
176
+ source = "registry+https://github.com/rust-lang/crates.io-index"
177
+ checksum = "c6e8948ce679d00a02a94739ea185595dca7118ed04feb991127e443bd3d761f"
178
+
179
+ [[package]]
180
+ name = "flate2"
181
+ version = "1.1.11"
182
+ source = "registry+https://github.com/rust-lang/crates.io-index"
183
+ checksum = "626d4928326b646e70f65ed36fc7cf9f206bdb68a0019ee7c6b4709da4e084c4"
184
+ dependencies = [
185
+ "zlib-rs",
186
+ ]
187
+
188
+ [[package]]
189
+ name = "foldhash"
190
+ version = "0.2.0"
191
+ source = "registry+https://github.com/rust-lang/crates.io-index"
192
+ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
193
+
194
+ [[package]]
195
+ name = "getrandom"
196
+ version = "0.4.3"
197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
198
+ checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
199
+ dependencies = [
200
+ "cfg-if",
201
+ "js-sys",
202
+ "libc",
203
+ "r-efi",
204
+ "wasm-bindgen",
205
+ ]
206
+
207
+ [[package]]
208
+ name = "hashbrown"
209
+ version = "0.17.1"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
212
+
213
+ [[package]]
214
+ name = "heck"
215
+ version = "0.5.0"
216
+ source = "registry+https://github.com/rust-lang/crates.io-index"
217
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
218
+
219
+ [[package]]
220
+ name = "indexmap"
221
+ version = "2.14.2"
222
+ source = "registry+https://github.com/rust-lang/crates.io-index"
223
+ checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
224
+ dependencies = [
225
+ "equivalent",
226
+ "hashbrown",
227
+ ]
228
+
229
+ [[package]]
230
+ name = "itoa"
231
+ version = "1.0.19"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "3bd1574e617a9a6c1f8f8181bd7e841e1f20e4277607ef28945765188d6284d4"
234
+
235
+ [[package]]
236
+ name = "js-sys"
237
+ version = "0.3.107"
238
+ source = "registry+https://github.com/rust-lang/crates.io-index"
239
+ checksum = "8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a"
240
+ dependencies = [
241
+ "cfg-if",
242
+ "wasm-bindgen",
243
+ ]
244
+
245
+ [[package]]
246
+ name = "libc"
247
+ version = "0.2.191"
248
+ source = "registry+https://github.com/rust-lang/crates.io-index"
249
+ checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
250
+
251
+ [[package]]
252
+ name = "log"
253
+ version = "0.4.35"
254
+ source = "registry+https://github.com/rust-lang/crates.io-index"
255
+ checksum = "5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c"
256
+
257
+ [[package]]
258
+ name = "memchr"
259
+ version = "2.8.3"
260
+ source = "registry+https://github.com/rust-lang/crates.io-index"
261
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
262
+
263
+ [[package]]
264
+ name = "multiversion_no_op"
265
+ version = "1.0.0"
266
+ source = "registry+https://github.com/rust-lang/crates.io-index"
267
+ checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d"
268
+
269
+ [[package]]
270
+ name = "nix"
271
+ version = "0.31.3"
272
+ source = "registry+https://github.com/rust-lang/crates.io-index"
273
+ checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
274
+ dependencies = [
275
+ "bitflags",
276
+ "cfg-if",
277
+ "cfg_aliases",
278
+ "libc",
279
+ ]
280
+
281
+ [[package]]
282
+ name = "once_cell"
283
+ version = "1.21.4"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
286
+
287
+ [[package]]
288
+ name = "phytkit-cli"
289
+ version = "0.1.0"
290
+ dependencies = [
291
+ "phytkit-core",
292
+ "serde_json",
293
+ ]
294
+
295
+ [[package]]
296
+ name = "phytkit-core"
297
+ version = "0.1.0"
298
+ dependencies = [
299
+ "calamine",
300
+ "csv",
301
+ "indexmap",
302
+ "rayon",
303
+ "serde_json",
304
+ ]
305
+
306
+ [[package]]
307
+ name = "phytkit-py"
308
+ version = "0.1.0"
309
+ dependencies = [
310
+ "phytkit-cli",
311
+ "phytkit-core",
312
+ "pyo3",
313
+ "rayon",
314
+ "serde_json",
315
+ ]
316
+
317
+ [[package]]
318
+ name = "portable-atomic"
319
+ version = "1.15.0"
320
+ source = "registry+https://github.com/rust-lang/crates.io-index"
321
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
322
+
323
+ [[package]]
324
+ name = "proc-macro2"
325
+ version = "1.0.107"
326
+ source = "registry+https://github.com/rust-lang/crates.io-index"
327
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
328
+ dependencies = [
329
+ "unicode-ident",
330
+ ]
331
+
332
+ [[package]]
333
+ name = "pyo3"
334
+ version = "0.30.1"
335
+ source = "registry+https://github.com/rust-lang/crates.io-index"
336
+ checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
337
+ dependencies = [
338
+ "libc",
339
+ "once_cell",
340
+ "portable-atomic",
341
+ "pyo3-build-config",
342
+ "pyo3-ffi",
343
+ "pyo3-macros",
344
+ ]
345
+
346
+ [[package]]
347
+ name = "pyo3-build-config"
348
+ version = "0.30.1"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
351
+ dependencies = [
352
+ "target-lexicon",
353
+ ]
354
+
355
+ [[package]]
356
+ name = "pyo3-ffi"
357
+ version = "0.30.1"
358
+ source = "registry+https://github.com/rust-lang/crates.io-index"
359
+ checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
360
+ dependencies = [
361
+ "libc",
362
+ "pyo3-build-config",
363
+ ]
364
+
365
+ [[package]]
366
+ name = "pyo3-macros"
367
+ version = "0.30.1"
368
+ source = "registry+https://github.com/rust-lang/crates.io-index"
369
+ checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
370
+ dependencies = [
371
+ "proc-macro2",
372
+ "pyo3-macros-backend",
373
+ "quote",
374
+ "syn 3.0.10",
375
+ ]
376
+
377
+ [[package]]
378
+ name = "pyo3-macros-backend"
379
+ version = "0.30.1"
380
+ source = "registry+https://github.com/rust-lang/crates.io-index"
381
+ checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
382
+ dependencies = [
383
+ "heck",
384
+ "proc-macro2",
385
+ "quote",
386
+ "syn 3.0.10",
387
+ ]
388
+
389
+ [[package]]
390
+ name = "quick-xml"
391
+ version = "0.42.0"
392
+ source = "registry+https://github.com/rust-lang/crates.io-index"
393
+ checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b"
394
+ dependencies = [
395
+ "encoding_rs",
396
+ "memchr",
397
+ ]
398
+
399
+ [[package]]
400
+ name = "quote"
401
+ version = "1.0.47"
402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
403
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
404
+ dependencies = [
405
+ "proc-macro2",
406
+ ]
407
+
408
+ [[package]]
409
+ name = "r-efi"
410
+ version = "6.0.0"
411
+ source = "registry+https://github.com/rust-lang/crates.io-index"
412
+ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
413
+
414
+ [[package]]
415
+ name = "rayon"
416
+ version = "1.12.0"
417
+ source = "registry+https://github.com/rust-lang/crates.io-index"
418
+ checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
419
+ dependencies = [
420
+ "either",
421
+ "rayon-core",
422
+ ]
423
+
424
+ [[package]]
425
+ name = "rayon-core"
426
+ version = "1.13.0"
427
+ source = "registry+https://github.com/rust-lang/crates.io-index"
428
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
429
+ dependencies = [
430
+ "crossbeam-deque",
431
+ "crossbeam-utils",
432
+ ]
433
+
434
+ [[package]]
435
+ name = "rustversion"
436
+ version = "1.0.23"
437
+ source = "registry+https://github.com/rust-lang/crates.io-index"
438
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
439
+
440
+ [[package]]
441
+ name = "ryu"
442
+ version = "1.0.23"
443
+ source = "registry+https://github.com/rust-lang/crates.io-index"
444
+ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
445
+
446
+ [[package]]
447
+ name = "scopeguard"
448
+ version = "1.2.0"
449
+ source = "registry+https://github.com/rust-lang/crates.io-index"
450
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
451
+
452
+ [[package]]
453
+ name = "serde"
454
+ version = "1.0.229"
455
+ source = "registry+https://github.com/rust-lang/crates.io-index"
456
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
457
+ dependencies = [
458
+ "serde_core",
459
+ ]
460
+
461
+ [[package]]
462
+ name = "serde_core"
463
+ version = "1.0.229"
464
+ source = "registry+https://github.com/rust-lang/crates.io-index"
465
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
466
+ dependencies = [
467
+ "serde_derive",
468
+ ]
469
+
470
+ [[package]]
471
+ name = "serde_derive"
472
+ version = "1.0.229"
473
+ source = "registry+https://github.com/rust-lang/crates.io-index"
474
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
475
+ dependencies = [
476
+ "proc-macro2",
477
+ "quote",
478
+ "syn 3.0.10",
479
+ ]
480
+
481
+ [[package]]
482
+ name = "serde_json"
483
+ version = "1.0.154"
484
+ source = "registry+https://github.com/rust-lang/crates.io-index"
485
+ checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
486
+ dependencies = [
487
+ "foldhash",
488
+ "indexmap",
489
+ "itoa",
490
+ "memchr",
491
+ "serde",
492
+ "serde_core",
493
+ "zmij",
494
+ ]
495
+
496
+ [[package]]
497
+ name = "simd-adler32"
498
+ version = "0.3.10"
499
+ source = "registry+https://github.com/rust-lang/crates.io-index"
500
+ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
501
+
502
+ [[package]]
503
+ name = "simdutf8"
504
+ version = "0.1.5"
505
+ source = "registry+https://github.com/rust-lang/crates.io-index"
506
+ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
507
+
508
+ [[package]]
509
+ name = "syn"
510
+ version = "2.0.119"
511
+ source = "registry+https://github.com/rust-lang/crates.io-index"
512
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
513
+ dependencies = [
514
+ "proc-macro2",
515
+ "quote",
516
+ "unicode-ident",
517
+ ]
518
+
519
+ [[package]]
520
+ name = "syn"
521
+ version = "3.0.10"
522
+ source = "registry+https://github.com/rust-lang/crates.io-index"
523
+ checksum = "4ae9ccbea3a7b0b09443036490c8f34a8b1b760fd345e5c0dae0aac718faea79"
524
+ dependencies = [
525
+ "proc-macro2",
526
+ "quote",
527
+ "unicode-ident",
528
+ ]
529
+
530
+ [[package]]
531
+ name = "target-lexicon"
532
+ version = "0.13.5"
533
+ source = "registry+https://github.com/rust-lang/crates.io-index"
534
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
535
+
536
+ [[package]]
537
+ name = "typed-path"
538
+ version = "0.13.0"
539
+ source = "registry+https://github.com/rust-lang/crates.io-index"
540
+ checksum = "9ce898823d8cd0f028662d2f349694b1af0a5cc9be83f1d213a00d3147445e1e"
541
+
542
+ [[package]]
543
+ name = "unicode-ident"
544
+ version = "1.0.27"
545
+ source = "registry+https://github.com/rust-lang/crates.io-index"
546
+ checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
547
+
548
+ [[package]]
549
+ name = "wasm-bindgen"
550
+ version = "0.2.130"
551
+ source = "registry+https://github.com/rust-lang/crates.io-index"
552
+ checksum = "a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c"
553
+ dependencies = [
554
+ "cfg-if",
555
+ "rustversion",
556
+ "wasm-bindgen-macro",
557
+ "wasm-bindgen-shared",
558
+ ]
559
+
560
+ [[package]]
561
+ name = "wasm-bindgen-macro"
562
+ version = "0.2.130"
563
+ source = "registry+https://github.com/rust-lang/crates.io-index"
564
+ checksum = "6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9"
565
+ dependencies = [
566
+ "quote",
567
+ "wasm-bindgen-macro-support",
568
+ ]
569
+
570
+ [[package]]
571
+ name = "wasm-bindgen-macro-support"
572
+ version = "0.2.130"
573
+ source = "registry+https://github.com/rust-lang/crates.io-index"
574
+ checksum = "2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a"
575
+ dependencies = [
576
+ "bumpalo",
577
+ "proc-macro2",
578
+ "quote",
579
+ "syn 3.0.10",
580
+ "wasm-bindgen-shared",
581
+ ]
582
+
583
+ [[package]]
584
+ name = "wasm-bindgen-shared"
585
+ version = "0.2.130"
586
+ source = "registry+https://github.com/rust-lang/crates.io-index"
587
+ checksum = "3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e"
588
+ dependencies = [
589
+ "unicode-ident",
590
+ ]
591
+
592
+ [[package]]
593
+ name = "windows-link"
594
+ version = "0.2.1"
595
+ source = "registry+https://github.com/rust-lang/crates.io-index"
596
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
597
+
598
+ [[package]]
599
+ name = "windows-sys"
600
+ version = "0.61.2"
601
+ source = "registry+https://github.com/rust-lang/crates.io-index"
602
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
603
+ dependencies = [
604
+ "windows-link",
605
+ ]
606
+
607
+ [[package]]
608
+ name = "zeroize"
609
+ version = "1.9.1"
610
+ source = "registry+https://github.com/rust-lang/crates.io-index"
611
+ checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879"
612
+ dependencies = [
613
+ "zeroize_derive",
614
+ ]
615
+
616
+ [[package]]
617
+ name = "zeroize_derive"
618
+ version = "1.5.0"
619
+ source = "registry+https://github.com/rust-lang/crates.io-index"
620
+ checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328"
621
+ dependencies = [
622
+ "proc-macro2",
623
+ "quote",
624
+ "syn 2.0.119",
625
+ ]
626
+
627
+ [[package]]
628
+ name = "zip"
629
+ version = "9.5.0"
630
+ source = "registry+https://github.com/rust-lang/crates.io-index"
631
+ checksum = "0700e6c427aff64acdbf02e85fbfd946c2ee12319d1af013092f3a2178914ff8"
632
+ dependencies = [
633
+ "constant_time_eq",
634
+ "crc32fast",
635
+ "flate2",
636
+ "getrandom",
637
+ "indexmap",
638
+ "libc",
639
+ "memchr",
640
+ "nix",
641
+ "typed-path",
642
+ "windows-sys",
643
+ "zeroize",
644
+ "zopfli",
645
+ ]
646
+
647
+ [[package]]
648
+ name = "zlib-rs"
649
+ version = "0.6.8"
650
+ source = "registry+https://github.com/rust-lang/crates.io-index"
651
+ checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112"
652
+
653
+ [[package]]
654
+ name = "zmij"
655
+ version = "1.0.23"
656
+ source = "registry+https://github.com/rust-lang/crates.io-index"
657
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
658
+
659
+ [[package]]
660
+ name = "zopfli"
661
+ version = "0.8.4"
662
+ source = "registry+https://github.com/rust-lang/crates.io-index"
663
+ checksum = "aaf7fc5d30c28483d93805c4a5e12b05bbb52407fa67c5f8bd552374cd01fb11"
664
+ dependencies = [
665
+ "bumpalo",
666
+ "crc32fast",
667
+ "log",
668
+ "simd-adler32",
669
+ ]
@@ -0,0 +1,19 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = ["crates/core", "crates/cli", "crates/py"]
4
+
5
+ [workspace.package]
6
+ version = "0.1.0"
7
+ edition = "2021"
8
+ license = "MIT"
9
+
10
+ [workspace.dependencies]
11
+ indexmap = "2.14"
12
+ serde_json = { version = "1.0", features = ["preserve_order"] }
13
+ calamine = "0.38"
14
+ rayon = "1"
15
+
16
+ [profile.release]
17
+ opt-level = 3
18
+ lto = "fat"
19
+ codegen-units = 1
phytkit-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 PlantSimulationLab
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.