crc-framework 0.2.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 (57) hide show
  1. crc_framework-0.2.0/.github/workflows/release.yaml +139 -0
  2. crc_framework-0.2.0/.gitignore +14 -0
  3. crc_framework-0.2.0/Cargo.lock +483 -0
  4. crc_framework-0.2.0/Cargo.toml +21 -0
  5. crc_framework-0.2.0/LICENSE +619 -0
  6. crc_framework-0.2.0/PKG-INFO +355 -0
  7. crc_framework-0.2.0/README.md +331 -0
  8. crc_framework-0.2.0/THIRD_PARTY_NOTICES.md +70 -0
  9. crc_framework-0.2.0/crates/core/Cargo.toml +13 -0
  10. crc_framework-0.2.0/crates/core/src/constants.rs +134 -0
  11. crc_framework-0.2.0/crates/core/src/distribution.rs +1317 -0
  12. crc_framework-0.2.0/crates/core/src/error.rs +56 -0
  13. crc_framework-0.2.0/crates/core/src/lib.rs +24 -0
  14. crc_framework-0.2.0/crates/core/src/metrics.rs +197 -0
  15. crc_framework-0.2.0/crates/core/src/reference/climate/ag_params.rs +751 -0
  16. crc_framework-0.2.0/crates/core/src/reference/climate/energy_params.rs +1009 -0
  17. crc_framework-0.2.0/crates/core/src/reference/climate/flood_params.rs +119 -0
  18. crc_framework-0.2.0/crates/core/src/reference/climate/mod.rs +12 -0
  19. crc_framework-0.2.0/crates/core/src/reference/climate/precipitation_thresholds.rs +504508 -0
  20. crc_framework-0.2.0/crates/core/src/reference/climate/spei_params.rs +199 -0
  21. crc_framework-0.2.0/crates/core/src/reference/climate/wind_params.rs +1658 -0
  22. crc_framework-0.2.0/crates/core/src/reference/curve_fitting.rs +2981 -0
  23. crc_framework-0.2.0/crates/core/src/reference/mod.rs +4 -0
  24. crc_framework-0.2.0/crates/core/src/reference/spatial/continent_r4.rs +5658 -0
  25. crc_framework-0.2.0/crates/core/src/reference/spatial/geography_r5.rs +28461 -0
  26. crc_framework-0.2.0/crates/core/src/reference/spatial/ipcc.rs +13416 -0
  27. crc_framework-0.2.0/crates/core/src/reference/spatial/mod.rs +4 -0
  28. crc_framework-0.2.0/crates/core/src/risk.rs +238 -0
  29. crc_framework-0.2.0/crates/core/src/spatial.rs +101 -0
  30. crc_framework-0.2.0/crates/core/src/transform.rs +590 -0
  31. crc_framework-0.2.0/pyproject.toml +46 -0
  32. crc_framework-0.2.0/python/crc_framework/__init__.py +91 -0
  33. crc_framework-0.2.0/python/crc_framework/_core.pyi +189 -0
  34. crc_framework-0.2.0/python/crc_framework/constants.py +134 -0
  35. crc_framework-0.2.0/python/crc_framework/distributions/__init__.py +42 -0
  36. crc_framework-0.2.0/python/crc_framework/distributions/base.py +29 -0
  37. crc_framework-0.2.0/python/crc_framework/distributions/empirical.py +55 -0
  38. crc_framework-0.2.0/python/crc_framework/distributions/fitted.py +91 -0
  39. crc_framework-0.2.0/python/crc_framework/distributions/fitting.py +310 -0
  40. crc_framework-0.2.0/python/crc_framework/distributions/hurdle.py +84 -0
  41. crc_framework-0.2.0/python/crc_framework/distributions/tabulated.py +109 -0
  42. crc_framework-0.2.0/python/crc_framework/metrics/__init__.py +33 -0
  43. crc_framework-0.2.0/python/crc_framework/metrics/distribution.py +32 -0
  44. crc_framework-0.2.0/python/crc_framework/metrics/microscores.py +142 -0
  45. crc_framework-0.2.0/python/crc_framework/metrics/risk.py +65 -0
  46. crc_framework-0.2.0/python/crc_framework/metrics/spanning.py +35 -0
  47. crc_framework-0.2.0/python/crc_framework/models.py +30 -0
  48. crc_framework-0.2.0/python/crc_framework/py.typed +1 -0
  49. crc_framework-0.2.0/python/crc_framework/spatial.py +30 -0
  50. crc_framework-0.2.0/python/crc_framework/transforms/__init__.py +16 -0
  51. crc_framework-0.2.0/python/crc_framework/transforms/base.py +93 -0
  52. crc_framework-0.2.0/python/crc_framework/transforms/builtin.py +140 -0
  53. crc_framework-0.2.0/python/crc_framework/transforms/climate.py +93 -0
  54. crc_framework-0.2.0/src/lib.rs +893 -0
  55. crc_framework-0.2.0/tests/test_impacts.py +99 -0
  56. crc_framework-0.2.0/tests/test_sdk.py +171 -0
  57. crc_framework-0.2.0/tests/typing_smoke.py +46 -0
@@ -0,0 +1,139 @@
1
+ name: Package release
2
+ on:
3
+ push:
4
+ tags:
5
+ - "v*"
6
+ workflow_dispatch:
7
+ permissions:
8
+ contents: write
9
+ id-token: write
10
+ jobs:
11
+
12
+ linux:
13
+ runs-on: ubuntu-22.04
14
+ env:
15
+ CARGO_NET_GIT_FETCH_WITH_CLI: "true"
16
+ strategy:
17
+ matrix:
18
+ target: [x86_64]
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: actions/cache@v4
22
+ with:
23
+ path: |
24
+ ~/.cargo/bin/
25
+ ~/.cargo/registry/index/
26
+ ~/.cargo/registry/cache/
27
+ ~/.cargo/git/db/
28
+ target/
29
+ key: ${{ runner.os }}-${{ matrix.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}
30
+ - name: Build wheels
31
+ uses: PyO3/maturin-action@v1
32
+ env:
33
+ CARGO_NET_GIT_FETCH_WITH_CLI: "true"
34
+ with:
35
+ target: ${{ matrix.target }}
36
+ args: >-
37
+ --release
38
+ --out dist
39
+ --compatibility manylinux_2_28
40
+ --interpreter python3.11 python3.12 python3.13 python3.14 python3.14t
41
+ sccache: "true"
42
+ manylinux: auto
43
+ container: "2_28"
44
+ - name: Upload wheels
45
+ uses: actions/upload-artifact@v4
46
+ with:
47
+ name: wheels-linux-${{ matrix.target }}
48
+ path: dist
49
+
50
+ macos:
51
+ runs-on: macos-latest
52
+ strategy:
53
+ matrix:
54
+ target: [x86_64, aarch64]
55
+ steps:
56
+ - uses: actions/checkout@v4
57
+ - uses: actions/cache@v4
58
+ with:
59
+ path: |
60
+ ~/.cargo/bin/
61
+ ~/.cargo/registry/index/
62
+ ~/.cargo/registry/cache/
63
+ ~/.cargo/git/db/
64
+ target/
65
+ key: ${{ runner.os }}-${{ matrix.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}
66
+ - uses: actions/setup-python@v5
67
+ with:
68
+ python-version: |
69
+ 3.11
70
+ 3.12
71
+ 3.13
72
+ 3.13t
73
+ 3.14
74
+ 3.14t
75
+ - name: Build wheels
76
+ uses: PyO3/maturin-action@v1
77
+ env:
78
+ CARGO_NET_GIT_FETCH_WITH_CLI: "true"
79
+ with:
80
+ target: ${{ matrix.target }}
81
+ args: >-
82
+ --release
83
+ --out dist
84
+ --find-interpreter
85
+ sccache: "true"
86
+ container: "off"
87
+ rust-toolchain: nightly-2026-01-27
88
+ - name: Upload wheels
89
+ uses: actions/upload-artifact@v4
90
+ with:
91
+ name: wheels-mac-${{ matrix.target }}
92
+ path: dist
93
+
94
+ sdist:
95
+ runs-on: ubuntu-latest
96
+ steps:
97
+ - uses: actions/checkout@v4
98
+ - name: Build sdist
99
+ uses: PyO3/maturin-action@v1
100
+ env:
101
+ CARGO_NET_GIT_FETCH_WITH_CLI: "true"
102
+ with:
103
+ command: sdist
104
+ args: --out dist
105
+ rust-toolchain: nightly-2026-01-27
106
+ - name: Upload sdist
107
+ uses: actions/upload-artifact@v4
108
+ with:
109
+ name: wheels-dist
110
+ path: dist
111
+
112
+ deploy:
113
+ name: Release
114
+ environment: production
115
+ runs-on: ubuntu-latest
116
+ needs: [linux, macos, sdist]
117
+ continue-on-error: true
118
+ steps:
119
+ - uses: actions/checkout@v4
120
+
121
+ - name: Download
122
+ id: download
123
+ uses: actions/download-artifact@v4
124
+ with:
125
+ pattern: wheels-*
126
+ path: dist
127
+ merge-multiple: true
128
+
129
+ - name: Create release
130
+ uses: softprops/action-gh-release@v1
131
+ with:
132
+ generate_release_notes: true
133
+ fail_on_unmatched_files: true
134
+ draft: false
135
+ prerelease: false
136
+ files: ${{ steps.download.outputs.download-path }}/*
137
+
138
+ - name: Publish package distributions to PyPI
139
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,14 @@
1
+ target/
2
+ .venv/
3
+ **/*.so
4
+ **/__pycache__/
5
+ .pytest_cache/
6
+ .mypy_cache/
7
+ dist/
8
+ build/
9
+ *.egg-info/
10
+ .DS_Store
11
+ .env
12
+ .vscode/
13
+ .idea/
14
+ .ruff_cache/
@@ -0,0 +1,483 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "ahash"
7
+ version = "0.8.12"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
10
+ dependencies = [
11
+ "cfg-if",
12
+ "const-random",
13
+ "once_cell",
14
+ "version_check",
15
+ "zerocopy",
16
+ ]
17
+
18
+ [[package]]
19
+ name = "autocfg"
20
+ version = "1.5.1"
21
+ source = "registry+https://github.com/rust-lang/crates.io-index"
22
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
23
+
24
+ [[package]]
25
+ name = "cfg-if"
26
+ version = "1.0.4"
27
+ source = "registry+https://github.com/rust-lang/crates.io-index"
28
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
29
+
30
+ [[package]]
31
+ name = "const-random"
32
+ version = "0.1.18"
33
+ source = "registry+https://github.com/rust-lang/crates.io-index"
34
+ checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
35
+ dependencies = [
36
+ "const-random-macro",
37
+ ]
38
+
39
+ [[package]]
40
+ name = "const-random-macro"
41
+ version = "0.1.16"
42
+ source = "registry+https://github.com/rust-lang/crates.io-index"
43
+ checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
44
+ dependencies = [
45
+ "getrandom 0.2.17",
46
+ "once_cell",
47
+ "tiny-keccak",
48
+ ]
49
+
50
+ [[package]]
51
+ name = "crc-framework-core"
52
+ version = "0.2.0"
53
+ dependencies = [
54
+ "h3o",
55
+ "phf",
56
+ "rand",
57
+ ]
58
+
59
+ [[package]]
60
+ name = "crc-framework-rs"
61
+ version = "0.2.0"
62
+ dependencies = [
63
+ "crc-framework-core",
64
+ "h3o",
65
+ "pyo3",
66
+ ]
67
+
68
+ [[package]]
69
+ name = "crunchy"
70
+ version = "0.2.4"
71
+ source = "registry+https://github.com/rust-lang/crates.io-index"
72
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
73
+
74
+ [[package]]
75
+ name = "either"
76
+ version = "1.16.0"
77
+ source = "registry+https://github.com/rust-lang/crates.io-index"
78
+ checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
79
+
80
+ [[package]]
81
+ name = "fastrand"
82
+ version = "2.5.0"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
85
+
86
+ [[package]]
87
+ name = "float_eq"
88
+ version = "1.0.1"
89
+ source = "registry+https://github.com/rust-lang/crates.io-index"
90
+ checksum = "28a80e3145d8ad11ba0995949bbcf48b9df2be62772b3d351ef017dff6ecb853"
91
+
92
+ [[package]]
93
+ name = "getrandom"
94
+ version = "0.2.17"
95
+ source = "registry+https://github.com/rust-lang/crates.io-index"
96
+ checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
97
+ dependencies = [
98
+ "cfg-if",
99
+ "libc",
100
+ "wasi",
101
+ ]
102
+
103
+ [[package]]
104
+ name = "getrandom"
105
+ version = "0.3.4"
106
+ source = "registry+https://github.com/rust-lang/crates.io-index"
107
+ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
108
+ dependencies = [
109
+ "cfg-if",
110
+ "libc",
111
+ "r-efi",
112
+ "wasip2",
113
+ ]
114
+
115
+ [[package]]
116
+ name = "h3o"
117
+ version = "0.9.3"
118
+ source = "registry+https://github.com/rust-lang/crates.io-index"
119
+ checksum = "4a78209b5ec22ba72456c935d8822a035d5f36f50f5bd5b289640dc93afa4965"
120
+ dependencies = [
121
+ "ahash",
122
+ "either",
123
+ "float_eq",
124
+ "h3o-bit",
125
+ "libm",
126
+ ]
127
+
128
+ [[package]]
129
+ name = "h3o-bit"
130
+ version = "0.1.2"
131
+ source = "registry+https://github.com/rust-lang/crates.io-index"
132
+ checksum = "3b42eb4efef1f96510ae1a33b2682562a677d504641e9903a77bf5c666b9013e"
133
+
134
+ [[package]]
135
+ name = "heck"
136
+ version = "0.5.0"
137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
138
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
139
+
140
+ [[package]]
141
+ name = "indoc"
142
+ version = "2.0.7"
143
+ source = "registry+https://github.com/rust-lang/crates.io-index"
144
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
145
+ dependencies = [
146
+ "rustversion",
147
+ ]
148
+
149
+ [[package]]
150
+ name = "libc"
151
+ version = "0.2.188"
152
+ source = "registry+https://github.com/rust-lang/crates.io-index"
153
+ checksum = "22053b6a34f84abc97f9129e61334f40174659a1b9bd18c970b83db6a9a6348b"
154
+
155
+ [[package]]
156
+ name = "libm"
157
+ version = "0.2.16"
158
+ source = "registry+https://github.com/rust-lang/crates.io-index"
159
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
160
+
161
+ [[package]]
162
+ name = "memoffset"
163
+ version = "0.9.1"
164
+ source = "registry+https://github.com/rust-lang/crates.io-index"
165
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
166
+ dependencies = [
167
+ "autocfg",
168
+ ]
169
+
170
+ [[package]]
171
+ name = "once_cell"
172
+ version = "1.21.4"
173
+ source = "registry+https://github.com/rust-lang/crates.io-index"
174
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
175
+
176
+ [[package]]
177
+ name = "phf"
178
+ version = "0.14.0"
179
+ source = "registry+https://github.com/rust-lang/crates.io-index"
180
+ checksum = "010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6"
181
+ dependencies = [
182
+ "phf_macros",
183
+ "phf_shared",
184
+ "serde",
185
+ ]
186
+
187
+ [[package]]
188
+ name = "phf_generator"
189
+ version = "0.14.0"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100"
192
+ dependencies = [
193
+ "fastrand",
194
+ "phf_shared",
195
+ ]
196
+
197
+ [[package]]
198
+ name = "phf_macros"
199
+ version = "0.14.0"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "5fa8d0ca26d424d27630da600c6624696e7dec8bf7b3b492b383c5dc49e5e085"
202
+ dependencies = [
203
+ "phf_generator",
204
+ "phf_shared",
205
+ "proc-macro2",
206
+ "quote",
207
+ "syn 2.0.119",
208
+ ]
209
+
210
+ [[package]]
211
+ name = "phf_shared"
212
+ version = "0.14.0"
213
+ source = "registry+https://github.com/rust-lang/crates.io-index"
214
+ checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89"
215
+ dependencies = [
216
+ "siphasher",
217
+ ]
218
+
219
+ [[package]]
220
+ name = "portable-atomic"
221
+ version = "1.14.0"
222
+ source = "registry+https://github.com/rust-lang/crates.io-index"
223
+ checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
224
+
225
+ [[package]]
226
+ name = "ppv-lite86"
227
+ version = "0.2.21"
228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
229
+ checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
230
+ dependencies = [
231
+ "zerocopy",
232
+ ]
233
+
234
+ [[package]]
235
+ name = "proc-macro2"
236
+ version = "1.0.107"
237
+ source = "registry+https://github.com/rust-lang/crates.io-index"
238
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
239
+ dependencies = [
240
+ "unicode-ident",
241
+ ]
242
+
243
+ [[package]]
244
+ name = "pyo3"
245
+ version = "0.27.2"
246
+ source = "registry+https://github.com/rust-lang/crates.io-index"
247
+ checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
248
+ dependencies = [
249
+ "indoc",
250
+ "libc",
251
+ "memoffset",
252
+ "once_cell",
253
+ "portable-atomic",
254
+ "pyo3-build-config",
255
+ "pyo3-ffi",
256
+ "pyo3-macros",
257
+ "unindent",
258
+ ]
259
+
260
+ [[package]]
261
+ name = "pyo3-build-config"
262
+ version = "0.27.2"
263
+ source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
265
+ dependencies = [
266
+ "target-lexicon",
267
+ ]
268
+
269
+ [[package]]
270
+ name = "pyo3-ffi"
271
+ version = "0.27.2"
272
+ source = "registry+https://github.com/rust-lang/crates.io-index"
273
+ checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
274
+ dependencies = [
275
+ "libc",
276
+ "pyo3-build-config",
277
+ ]
278
+
279
+ [[package]]
280
+ name = "pyo3-macros"
281
+ version = "0.27.2"
282
+ source = "registry+https://github.com/rust-lang/crates.io-index"
283
+ checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
284
+ dependencies = [
285
+ "proc-macro2",
286
+ "pyo3-macros-backend",
287
+ "quote",
288
+ "syn 2.0.119",
289
+ ]
290
+
291
+ [[package]]
292
+ name = "pyo3-macros-backend"
293
+ version = "0.27.2"
294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
295
+ checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
296
+ dependencies = [
297
+ "heck",
298
+ "proc-macro2",
299
+ "pyo3-build-config",
300
+ "quote",
301
+ "syn 2.0.119",
302
+ ]
303
+
304
+ [[package]]
305
+ name = "quote"
306
+ version = "1.0.47"
307
+ source = "registry+https://github.com/rust-lang/crates.io-index"
308
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
309
+ dependencies = [
310
+ "proc-macro2",
311
+ ]
312
+
313
+ [[package]]
314
+ name = "r-efi"
315
+ version = "5.3.0"
316
+ source = "registry+https://github.com/rust-lang/crates.io-index"
317
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
318
+
319
+ [[package]]
320
+ name = "rand"
321
+ version = "0.9.5"
322
+ source = "registry+https://github.com/rust-lang/crates.io-index"
323
+ checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41"
324
+ dependencies = [
325
+ "rand_chacha",
326
+ "rand_core",
327
+ ]
328
+
329
+ [[package]]
330
+ name = "rand_chacha"
331
+ version = "0.9.0"
332
+ source = "registry+https://github.com/rust-lang/crates.io-index"
333
+ checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
334
+ dependencies = [
335
+ "ppv-lite86",
336
+ "rand_core",
337
+ ]
338
+
339
+ [[package]]
340
+ name = "rand_core"
341
+ version = "0.9.5"
342
+ source = "registry+https://github.com/rust-lang/crates.io-index"
343
+ checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
344
+ dependencies = [
345
+ "getrandom 0.3.4",
346
+ ]
347
+
348
+ [[package]]
349
+ name = "rustversion"
350
+ version = "1.0.23"
351
+ source = "registry+https://github.com/rust-lang/crates.io-index"
352
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
353
+
354
+ [[package]]
355
+ name = "serde"
356
+ version = "1.0.229"
357
+ source = "registry+https://github.com/rust-lang/crates.io-index"
358
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
359
+ dependencies = [
360
+ "serde_core",
361
+ ]
362
+
363
+ [[package]]
364
+ name = "serde_core"
365
+ version = "1.0.229"
366
+ source = "registry+https://github.com/rust-lang/crates.io-index"
367
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
368
+ dependencies = [
369
+ "serde_derive",
370
+ ]
371
+
372
+ [[package]]
373
+ name = "serde_derive"
374
+ version = "1.0.229"
375
+ source = "registry+https://github.com/rust-lang/crates.io-index"
376
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
377
+ dependencies = [
378
+ "proc-macro2",
379
+ "quote",
380
+ "syn 3.0.2",
381
+ ]
382
+
383
+ [[package]]
384
+ name = "siphasher"
385
+ version = "1.0.3"
386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
387
+ checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
388
+
389
+ [[package]]
390
+ name = "syn"
391
+ version = "2.0.119"
392
+ source = "registry+https://github.com/rust-lang/crates.io-index"
393
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
394
+ dependencies = [
395
+ "proc-macro2",
396
+ "quote",
397
+ "unicode-ident",
398
+ ]
399
+
400
+ [[package]]
401
+ name = "syn"
402
+ version = "3.0.2"
403
+ source = "registry+https://github.com/rust-lang/crates.io-index"
404
+ checksum = "a207d6d6a2b7fc470b80443726053f18a2481b7e1eee970597051596567987a3"
405
+ dependencies = [
406
+ "proc-macro2",
407
+ "quote",
408
+ "unicode-ident",
409
+ ]
410
+
411
+ [[package]]
412
+ name = "target-lexicon"
413
+ version = "0.13.5"
414
+ source = "registry+https://github.com/rust-lang/crates.io-index"
415
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
416
+
417
+ [[package]]
418
+ name = "tiny-keccak"
419
+ version = "2.0.2"
420
+ source = "registry+https://github.com/rust-lang/crates.io-index"
421
+ checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
422
+ dependencies = [
423
+ "crunchy",
424
+ ]
425
+
426
+ [[package]]
427
+ name = "unicode-ident"
428
+ version = "1.0.24"
429
+ source = "registry+https://github.com/rust-lang/crates.io-index"
430
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
431
+
432
+ [[package]]
433
+ name = "unindent"
434
+ version = "0.2.4"
435
+ source = "registry+https://github.com/rust-lang/crates.io-index"
436
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
437
+
438
+ [[package]]
439
+ name = "version_check"
440
+ version = "0.9.5"
441
+ source = "registry+https://github.com/rust-lang/crates.io-index"
442
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
443
+
444
+ [[package]]
445
+ name = "wasi"
446
+ version = "0.11.1+wasi-snapshot-preview1"
447
+ source = "registry+https://github.com/rust-lang/crates.io-index"
448
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
449
+
450
+ [[package]]
451
+ name = "wasip2"
452
+ version = "1.0.1+wasi-0.2.4"
453
+ source = "registry+https://github.com/rust-lang/crates.io-index"
454
+ checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
455
+ dependencies = [
456
+ "wit-bindgen",
457
+ ]
458
+
459
+ [[package]]
460
+ name = "wit-bindgen"
461
+ version = "0.46.0"
462
+ source = "registry+https://github.com/rust-lang/crates.io-index"
463
+ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
464
+
465
+ [[package]]
466
+ name = "zerocopy"
467
+ version = "0.8.55"
468
+ source = "registry+https://github.com/rust-lang/crates.io-index"
469
+ checksum = "b5a105cd7b140f6eeec8acff2ea38135d3cab283ada58540f629fe51e46696eb"
470
+ dependencies = [
471
+ "zerocopy-derive",
472
+ ]
473
+
474
+ [[package]]
475
+ name = "zerocopy-derive"
476
+ version = "0.8.55"
477
+ source = "registry+https://github.com/rust-lang/crates.io-index"
478
+ checksum = "0fe976fb70c78cd64cccfe3a6fc142244e8a77b70959b30faf9d0ac37ee228eb"
479
+ dependencies = [
480
+ "proc-macro2",
481
+ "quote",
482
+ "syn 2.0.119",
483
+ ]
@@ -0,0 +1,21 @@
1
+ [package]
2
+ name = "crc-framework-rs"
3
+ version = "0.2.0"
4
+ edition = "2024"
5
+ rust-version = "1.85"
6
+ description = "Rust-powered Python bindings for the Climate Risk Commons Framework"
7
+ authors = ["Riskthinking.AI"]
8
+ license = "AGPL-3.0-or-later"
9
+ readme = "README.md"
10
+
11
+ [workspace]
12
+ members = ["crates/core"]
13
+
14
+ [lib]
15
+ name = "_core"
16
+ crate-type = ["cdylib"]
17
+
18
+ [dependencies]
19
+ crc-framework-core = { path = "crates/core" }
20
+ h3o = "=0.9.3"
21
+ pyo3 = { version = "0.27", features = ["extension-module"] }