f8-engine 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 (99) hide show
  1. f8_engine-0.1.0/Cargo.lock +437 -0
  2. f8_engine-0.1.0/Cargo.toml +27 -0
  3. f8_engine-0.1.0/LICENSE +661 -0
  4. f8_engine-0.1.0/PKG-INFO +162 -0
  5. f8_engine-0.1.0/README.md +135 -0
  6. f8_engine-0.1.0/crates/f8-core/Cargo.toml +24 -0
  7. f8_engine-0.1.0/crates/f8-core/src/compiler/compiled/error.rs +28 -0
  8. f8_engine-0.1.0/crates/f8-core/src/compiler/compiled/mod.rs +1337 -0
  9. f8_engine-0.1.0/crates/f8-core/src/compiler/compiled/model.rs +343 -0
  10. f8_engine-0.1.0/crates/f8-core/src/compiler/emission/error.rs +51 -0
  11. f8_engine-0.1.0/crates/f8-core/src/compiler/emission/format.rs +501 -0
  12. f8_engine-0.1.0/crates/f8-core/src/compiler/emission/mod.rs +13 -0
  13. f8_engine-0.1.0/crates/f8-core/src/compiler/emission/workbook.rs +539 -0
  14. f8_engine-0.1.0/crates/f8-core/src/compiler/error.rs +49 -0
  15. f8_engine-0.1.0/crates/f8-core/src/compiler/eval/context.rs +93 -0
  16. f8_engine-0.1.0/crates/f8-core/src/compiler/eval/error.rs +136 -0
  17. f8_engine-0.1.0/crates/f8-core/src/compiler/eval/expr.rs +206 -0
  18. f8_engine-0.1.0/crates/f8-core/src/compiler/eval/mod.rs +62 -0
  19. f8_engine-0.1.0/crates/f8-core/src/compiler/eval/model.rs +211 -0
  20. f8_engine-0.1.0/crates/f8-core/src/compiler/graph/cycle.rs +48 -0
  21. f8_engine-0.1.0/crates/f8-core/src/compiler/graph/dependency.rs +289 -0
  22. f8_engine-0.1.0/crates/f8-core/src/compiler/graph/error.rs +187 -0
  23. f8_engine-0.1.0/crates/f8-core/src/compiler/graph/mod.rs +15 -0
  24. f8_engine-0.1.0/crates/f8-core/src/compiler/graph/resolve.rs +445 -0
  25. f8_engine-0.1.0/crates/f8-core/src/compiler/ir/cell.rs +354 -0
  26. f8_engine-0.1.0/crates/f8-core/src/compiler/ir/error.rs +122 -0
  27. f8_engine-0.1.0/crates/f8-core/src/compiler/ir/expand.rs +676 -0
  28. f8_engine-0.1.0/crates/f8-core/src/compiler/ir/id.rs +56 -0
  29. f8_engine-0.1.0/crates/f8-core/src/compiler/ir/mod.rs +15 -0
  30. f8_engine-0.1.0/crates/f8-core/src/compiler/ir/symbol.rs +245 -0
  31. f8_engine-0.1.0/crates/f8-core/src/compiler/layout/a1.rs +109 -0
  32. f8_engine-0.1.0/crates/f8-core/src/compiler/layout/error.rs +25 -0
  33. f8_engine-0.1.0/crates/f8-core/src/compiler/layout/mod.rs +581 -0
  34. f8_engine-0.1.0/crates/f8-core/src/compiler/lowering/address.rs +121 -0
  35. f8_engine-0.1.0/crates/f8-core/src/compiler/lowering/error.rs +30 -0
  36. f8_engine-0.1.0/crates/f8-core/src/compiler/lowering/mod.rs +314 -0
  37. f8_engine-0.1.0/crates/f8-core/src/compiler/mod.rs +178 -0
  38. f8_engine-0.1.0/crates/f8-core/src/expr/ast.rs +314 -0
  39. f8_engine-0.1.0/crates/f8-core/src/expr/error.rs +70 -0
  40. f8_engine-0.1.0/crates/f8-core/src/expr/mod.rs +19 -0
  41. f8_engine-0.1.0/crates/f8-core/src/expr/parser.rs +1638 -0
  42. f8_engine-0.1.0/crates/f8-core/src/functions/common.rs +457 -0
  43. f8_engine-0.1.0/crates/f8-core/src/functions/date/constructors.rs +283 -0
  44. f8_engine-0.1.0/crates/f8-core/src/functions/date/mod.rs +29 -0
  45. f8_engine-0.1.0/crates/f8-core/src/functions/date/parts.rs +235 -0
  46. f8_engine-0.1.0/crates/f8-core/src/functions/date/serial.rs +421 -0
  47. f8_engine-0.1.0/crates/f8-core/src/functions/date/yearfrac.rs +244 -0
  48. f8_engine-0.1.0/crates/f8-core/src/functions/error.rs +138 -0
  49. f8_engine-0.1.0/crates/f8-core/src/functions/financial/annuity.rs +396 -0
  50. f8_engine-0.1.0/crates/f8-core/src/functions/financial/discounting.rs +251 -0
  51. f8_engine-0.1.0/crates/f8-core/src/functions/financial/irr.rs +309 -0
  52. f8_engine-0.1.0/crates/f8-core/src/functions/financial/mod.rs +21 -0
  53. f8_engine-0.1.0/crates/f8-core/src/functions/logical/boolean.rs +166 -0
  54. f8_engine-0.1.0/crates/f8-core/src/functions/logical/branching.rs +325 -0
  55. f8_engine-0.1.0/crates/f8-core/src/functions/logical/error_handling.rs +140 -0
  56. f8_engine-0.1.0/crates/f8-core/src/functions/logical/mod.rs +23 -0
  57. f8_engine-0.1.0/crates/f8-core/src/functions/lookup/index.rs +135 -0
  58. f8_engine-0.1.0/crates/f8-core/src/functions/lookup/mod.rs +21 -0
  59. f8_engine-0.1.0/crates/f8-core/src/functions/lookup/search.rs +787 -0
  60. f8_engine-0.1.0/crates/f8-core/src/functions/lookup/xlookup.rs +143 -0
  61. f8_engine-0.1.0/crates/f8-core/src/functions/lookup/xmatch.rs +117 -0
  62. f8_engine-0.1.0/crates/f8-core/src/functions/math/aggregation.rs +359 -0
  63. f8_engine-0.1.0/crates/f8-core/src/functions/math/basic.rs +64 -0
  64. f8_engine-0.1.0/crates/f8-core/src/functions/math/conditional.rs +529 -0
  65. f8_engine-0.1.0/crates/f8-core/src/functions/math/criteria.rs +419 -0
  66. f8_engine-0.1.0/crates/f8-core/src/functions/math/mod.rs +42 -0
  67. f8_engine-0.1.0/crates/f8-core/src/functions/math/product.rs +120 -0
  68. f8_engine-0.1.0/crates/f8-core/src/functions/math/rounding.rs +112 -0
  69. f8_engine-0.1.0/crates/f8-core/src/functions/mod.rs +21 -0
  70. f8_engine-0.1.0/crates/f8-core/src/functions/registry.rs +217 -0
  71. f8_engine-0.1.0/crates/f8-core/src/functions/traits.rs +242 -0
  72. f8_engine-0.1.0/crates/f8-core/src/lib.rs +12 -0
  73. f8_engine-0.1.0/crates/f8-core/src/model/error.rs +132 -0
  74. f8_engine-0.1.0/crates/f8-core/src/model/format.rs +179 -0
  75. f8_engine-0.1.0/crates/f8-core/src/model/id.rs +69 -0
  76. f8_engine-0.1.0/crates/f8-core/src/model/manifest.rs +77 -0
  77. f8_engine-0.1.0/crates/f8-core/src/model/mod.rs +19 -0
  78. f8_engine-0.1.0/crates/f8-core/src/model/table.rs +1067 -0
  79. f8_engine-0.1.0/crates/f8-core/src/model/theme.rs +541 -0
  80. f8_engine-0.1.0/crates/f8-core/src/value/error.rs +92 -0
  81. f8_engine-0.1.0/crates/f8-core/src/value/format.rs +257 -0
  82. f8_engine-0.1.0/crates/f8-core/src/value/mod.rs +404 -0
  83. f8_engine-0.1.0/crates/f8-python/Cargo.toml +22 -0
  84. f8_engine-0.1.0/crates/f8-python/src/error.rs +328 -0
  85. f8_engine-0.1.0/crates/f8-python/src/lib.rs +41 -0
  86. f8_engine-0.1.0/crates/f8-python/src/model.rs +301 -0
  87. f8_engine-0.1.0/pyproject.toml +81 -0
  88. f8_engine-0.1.0/python/f8/__init__.py +95 -0
  89. f8_engine-0.1.0/python/f8/__main__.py +10 -0
  90. f8_engine-0.1.0/python/f8/_core.pyi +139 -0
  91. f8_engine-0.1.0/python/f8/audit.py +553 -0
  92. f8_engine-0.1.0/python/f8/builder.py +687 -0
  93. f8_engine-0.1.0/python/f8/cli.py +271 -0
  94. f8_engine-0.1.0/python/f8/py.typed +1 -0
  95. f8_engine-0.1.0/python/f8/skills/f8-modeling/SKILL.md +43 -0
  96. f8_engine-0.1.0/python/f8/skills/f8-modeling/references/auditing-and-repair.md +366 -0
  97. f8_engine-0.1.0/python/f8/skills/f8-modeling/references/functions.md +172 -0
  98. f8_engine-0.1.0/python/f8/skills/f8-modeling/references/syntax-and-grid.md +342 -0
  99. f8_engine-0.1.0/python/f8/types.py +389 -0
@@ -0,0 +1,437 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.5.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
10
+
11
+ [[package]]
12
+ name = "bumpalo"
13
+ version = "3.20.3"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
16
+
17
+ [[package]]
18
+ name = "cfg-if"
19
+ version = "1.0.5"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
22
+
23
+ [[package]]
24
+ name = "crc32fast"
25
+ version = "1.5.2"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "01a7799fd6b852db0e61728dde9a204c423b44d689dbd432522543614b490e78"
28
+ dependencies = [
29
+ "cfg-if",
30
+ ]
31
+
32
+ [[package]]
33
+ name = "equivalent"
34
+ version = "1.0.2"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
37
+
38
+ [[package]]
39
+ name = "f8-core"
40
+ version = "0.1.0"
41
+ dependencies = [
42
+ "indexmap",
43
+ "petgraph",
44
+ "rust_xlsxwriter",
45
+ "serde",
46
+ "serde_json",
47
+ "thiserror",
48
+ "zip",
49
+ ]
50
+
51
+ [[package]]
52
+ name = "f8-python"
53
+ version = "0.1.0"
54
+ dependencies = [
55
+ "f8-core",
56
+ "pyo3",
57
+ "pythonize",
58
+ ]
59
+
60
+ [[package]]
61
+ name = "fixedbitset"
62
+ version = "0.5.7"
63
+ source = "registry+https://github.com/rust-lang/crates.io-index"
64
+ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99"
65
+
66
+ [[package]]
67
+ name = "flate2"
68
+ version = "1.1.10"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb"
71
+ dependencies = [
72
+ "zlib-rs",
73
+ ]
74
+
75
+ [[package]]
76
+ name = "foldhash"
77
+ version = "0.1.5"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
80
+
81
+ [[package]]
82
+ name = "hashbrown"
83
+ version = "0.15.5"
84
+ source = "registry+https://github.com/rust-lang/crates.io-index"
85
+ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
86
+ dependencies = [
87
+ "foldhash",
88
+ ]
89
+
90
+ [[package]]
91
+ name = "hashbrown"
92
+ version = "0.17.1"
93
+ source = "registry+https://github.com/rust-lang/crates.io-index"
94
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
95
+
96
+ [[package]]
97
+ name = "heck"
98
+ version = "0.5.0"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
101
+
102
+ [[package]]
103
+ name = "indexmap"
104
+ version = "2.14.2"
105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
106
+ checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
107
+ dependencies = [
108
+ "equivalent",
109
+ "hashbrown 0.17.1",
110
+ "serde",
111
+ "serde_core",
112
+ ]
113
+
114
+ [[package]]
115
+ name = "indoc"
116
+ version = "2.0.7"
117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
118
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
119
+ dependencies = [
120
+ "rustversion",
121
+ ]
122
+
123
+ [[package]]
124
+ name = "itoa"
125
+ version = "1.0.18"
126
+ source = "registry+https://github.com/rust-lang/crates.io-index"
127
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
128
+
129
+ [[package]]
130
+ name = "libc"
131
+ version = "0.2.189"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
134
+
135
+ [[package]]
136
+ name = "log"
137
+ version = "0.4.34"
138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
139
+ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
140
+
141
+ [[package]]
142
+ name = "memchr"
143
+ version = "2.8.3"
144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
145
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
146
+
147
+ [[package]]
148
+ name = "memoffset"
149
+ version = "0.9.1"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
152
+ dependencies = [
153
+ "autocfg",
154
+ ]
155
+
156
+ [[package]]
157
+ name = "once_cell"
158
+ version = "1.21.4"
159
+ source = "registry+https://github.com/rust-lang/crates.io-index"
160
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
161
+
162
+ [[package]]
163
+ name = "petgraph"
164
+ version = "0.8.3"
165
+ source = "registry+https://github.com/rust-lang/crates.io-index"
166
+ checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455"
167
+ dependencies = [
168
+ "fixedbitset",
169
+ "hashbrown 0.15.5",
170
+ "indexmap",
171
+ "serde",
172
+ ]
173
+
174
+ [[package]]
175
+ name = "portable-atomic"
176
+ version = "1.15.0"
177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
178
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
179
+
180
+ [[package]]
181
+ name = "proc-macro2"
182
+ version = "1.0.107"
183
+ source = "registry+https://github.com/rust-lang/crates.io-index"
184
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
185
+ dependencies = [
186
+ "unicode-ident",
187
+ ]
188
+
189
+ [[package]]
190
+ name = "pyo3"
191
+ version = "0.24.2"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219"
194
+ dependencies = [
195
+ "cfg-if",
196
+ "indoc",
197
+ "libc",
198
+ "memoffset",
199
+ "once_cell",
200
+ "portable-atomic",
201
+ "pyo3-build-config",
202
+ "pyo3-ffi",
203
+ "pyo3-macros",
204
+ "unindent",
205
+ ]
206
+
207
+ [[package]]
208
+ name = "pyo3-build-config"
209
+ version = "0.24.2"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999"
212
+ dependencies = [
213
+ "once_cell",
214
+ "target-lexicon",
215
+ ]
216
+
217
+ [[package]]
218
+ name = "pyo3-ffi"
219
+ version = "0.24.2"
220
+ source = "registry+https://github.com/rust-lang/crates.io-index"
221
+ checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33"
222
+ dependencies = [
223
+ "libc",
224
+ "pyo3-build-config",
225
+ ]
226
+
227
+ [[package]]
228
+ name = "pyo3-macros"
229
+ version = "0.24.2"
230
+ source = "registry+https://github.com/rust-lang/crates.io-index"
231
+ checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9"
232
+ dependencies = [
233
+ "proc-macro2",
234
+ "pyo3-macros-backend",
235
+ "quote",
236
+ "syn 2.0.119",
237
+ ]
238
+
239
+ [[package]]
240
+ name = "pyo3-macros-backend"
241
+ version = "0.24.2"
242
+ source = "registry+https://github.com/rust-lang/crates.io-index"
243
+ checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a"
244
+ dependencies = [
245
+ "heck",
246
+ "proc-macro2",
247
+ "pyo3-build-config",
248
+ "quote",
249
+ "syn 2.0.119",
250
+ ]
251
+
252
+ [[package]]
253
+ name = "pythonize"
254
+ version = "0.24.0"
255
+ source = "registry+https://github.com/rust-lang/crates.io-index"
256
+ checksum = "d5bcac0d0b71821f0d69e42654f1e15e5c94b85196446c4de9588951a2117e7b"
257
+ dependencies = [
258
+ "pyo3",
259
+ "serde",
260
+ ]
261
+
262
+ [[package]]
263
+ name = "quote"
264
+ version = "1.0.47"
265
+ source = "registry+https://github.com/rust-lang/crates.io-index"
266
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
267
+ dependencies = [
268
+ "proc-macro2",
269
+ ]
270
+
271
+ [[package]]
272
+ name = "rust_xlsxwriter"
273
+ version = "0.99.1"
274
+ source = "registry+https://github.com/rust-lang/crates.io-index"
275
+ checksum = "34f2d2cda7223168a14fb86bc7411dbc3379bd7d49749ecc53b91ed98585b6b0"
276
+ dependencies = [
277
+ "zip",
278
+ ]
279
+
280
+ [[package]]
281
+ name = "rustversion"
282
+ version = "1.0.23"
283
+ source = "registry+https://github.com/rust-lang/crates.io-index"
284
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
285
+
286
+ [[package]]
287
+ name = "serde"
288
+ version = "1.0.229"
289
+ source = "registry+https://github.com/rust-lang/crates.io-index"
290
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
291
+ dependencies = [
292
+ "serde_core",
293
+ "serde_derive",
294
+ ]
295
+
296
+ [[package]]
297
+ name = "serde_core"
298
+ version = "1.0.229"
299
+ source = "registry+https://github.com/rust-lang/crates.io-index"
300
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
301
+ dependencies = [
302
+ "serde_derive",
303
+ ]
304
+
305
+ [[package]]
306
+ name = "serde_derive"
307
+ version = "1.0.229"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
310
+ dependencies = [
311
+ "proc-macro2",
312
+ "quote",
313
+ "syn 3.0.5",
314
+ ]
315
+
316
+ [[package]]
317
+ name = "serde_json"
318
+ version = "1.0.151"
319
+ source = "registry+https://github.com/rust-lang/crates.io-index"
320
+ checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
321
+ dependencies = [
322
+ "itoa",
323
+ "memchr",
324
+ "serde",
325
+ "serde_core",
326
+ "zmij",
327
+ ]
328
+
329
+ [[package]]
330
+ name = "simd-adler32"
331
+ version = "0.3.10"
332
+ source = "registry+https://github.com/rust-lang/crates.io-index"
333
+ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
334
+
335
+ [[package]]
336
+ name = "syn"
337
+ version = "2.0.119"
338
+ source = "registry+https://github.com/rust-lang/crates.io-index"
339
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
340
+ dependencies = [
341
+ "proc-macro2",
342
+ "quote",
343
+ "unicode-ident",
344
+ ]
345
+
346
+ [[package]]
347
+ name = "syn"
348
+ version = "3.0.5"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
351
+ dependencies = [
352
+ "proc-macro2",
353
+ "quote",
354
+ "unicode-ident",
355
+ ]
356
+
357
+ [[package]]
358
+ name = "target-lexicon"
359
+ version = "0.13.5"
360
+ source = "registry+https://github.com/rust-lang/crates.io-index"
361
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
362
+
363
+ [[package]]
364
+ name = "thiserror"
365
+ version = "2.0.20"
366
+ source = "registry+https://github.com/rust-lang/crates.io-index"
367
+ checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
368
+ dependencies = [
369
+ "thiserror-impl",
370
+ ]
371
+
372
+ [[package]]
373
+ name = "thiserror-impl"
374
+ version = "2.0.20"
375
+ source = "registry+https://github.com/rust-lang/crates.io-index"
376
+ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
377
+ dependencies = [
378
+ "proc-macro2",
379
+ "quote",
380
+ "syn 3.0.5",
381
+ ]
382
+
383
+ [[package]]
384
+ name = "typed-path"
385
+ version = "0.12.3"
386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
387
+ checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e"
388
+
389
+ [[package]]
390
+ name = "unicode-ident"
391
+ version = "1.0.24"
392
+ source = "registry+https://github.com/rust-lang/crates.io-index"
393
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
394
+
395
+ [[package]]
396
+ name = "unindent"
397
+ version = "0.2.4"
398
+ source = "registry+https://github.com/rust-lang/crates.io-index"
399
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
400
+
401
+ [[package]]
402
+ name = "zip"
403
+ version = "8.6.0"
404
+ source = "registry+https://github.com/rust-lang/crates.io-index"
405
+ checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b"
406
+ dependencies = [
407
+ "crc32fast",
408
+ "flate2",
409
+ "indexmap",
410
+ "memchr",
411
+ "typed-path",
412
+ "zopfli",
413
+ ]
414
+
415
+ [[package]]
416
+ name = "zlib-rs"
417
+ version = "0.6.8"
418
+ source = "registry+https://github.com/rust-lang/crates.io-index"
419
+ checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112"
420
+
421
+ [[package]]
422
+ name = "zmij"
423
+ version = "1.0.23"
424
+ source = "registry+https://github.com/rust-lang/crates.io-index"
425
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
426
+
427
+ [[package]]
428
+ name = "zopfli"
429
+ version = "0.8.3"
430
+ source = "registry+https://github.com/rust-lang/crates.io-index"
431
+ checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
432
+ dependencies = [
433
+ "bumpalo",
434
+ "crc32fast",
435
+ "log",
436
+ "simd-adler32",
437
+ ]
@@ -0,0 +1,27 @@
1
+ [workspace]
2
+ resolver = "3"
3
+ members = ["crates/f8-core", "crates/f8-python"]
4
+
5
+ [workspace.package]
6
+ version = "0.1.0"
7
+ edition = "2024"
8
+ description = "Financial modeling engine with compiler verification and live Excel formulas"
9
+ authors = ["Michael (Chencheng) Hu, CFA"]
10
+ license = "AGPL-3.0-only"
11
+ repository = "https://github.com/mhcfa/f8"
12
+
13
+ [workspace.dependencies]
14
+ f8-core = { path = "crates/f8-core" }
15
+ indexmap = { version = "2.7", features = ["serde"] }
16
+ petgraph = "0.8.3"
17
+ serde = { version = "1.0", features = ["derive"] }
18
+ serde_json = "1.0"
19
+ rust_xlsxwriter = "0.99"
20
+ thiserror = "2.0"
21
+ zip = { version = "8.6", default-features = false }
22
+ pyo3 = { version = "0.24", default-features = false, features = ["macros"] }
23
+ pythonize = "0.24"
24
+
25
+ [workspace.lints.clippy]
26
+ unwrap_used = "deny"
27
+ expect_used = "deny"