fable-library 0.0.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 (83) hide show
  1. fable_library-0.0.0/Cargo.lock +441 -0
  2. fable_library-0.0.0/Cargo.toml +22 -0
  3. fable_library-0.0.0/PKG-INFO +68 -0
  4. fable_library-0.0.0/README.md +57 -0
  5. fable_library-0.0.0/fable_library/__init__.py +0 -0
  6. fable_library-0.0.0/fable_library/_version.py +1 -0
  7. fable_library-0.0.0/fable_library/array_.py +235 -0
  8. fable_library-0.0.0/fable_library/async_.py +381 -0
  9. fable_library-0.0.0/fable_library/async_builder.py +368 -0
  10. fable_library-0.0.0/fable_library/big_int.py +330 -0
  11. fable_library-0.0.0/fable_library/bit_converter.py +131 -0
  12. fable_library-0.0.0/fable_library/boolean.py +26 -0
  13. fable_library-0.0.0/fable_library/char.py +249 -0
  14. fable_library-0.0.0/fable_library/choice.py +199 -0
  15. fable_library-0.0.0/fable_library/core/__init__.py +80 -0
  16. fable_library-0.0.0/fable_library/core/_core.pyi +59 -0
  17. fable_library-0.0.0/fable_library/core/array.pyi +390 -0
  18. fable_library-0.0.0/fable_library/core/datetime_offset.pyi +44 -0
  19. fable_library-0.0.0/fable_library/core/floats.pyi +152 -0
  20. fable_library-0.0.0/fable_library/core/ints.pyi +335 -0
  21. fable_library-0.0.0/fable_library/core/option.pyi +47 -0
  22. fable_library-0.0.0/fable_library/core/strings.pyi +83 -0
  23. fable_library-0.0.0/fable_library/core/types.pyi +8 -0
  24. fable_library-0.0.0/fable_library/date.py +775 -0
  25. fable_library-0.0.0/fable_library/date_offset.py +237 -0
  26. fable_library-0.0.0/fable_library/decimal_.py +210 -0
  27. fable_library-0.0.0/fable_library/diagnostics.py +56 -0
  28. fable_library-0.0.0/fable_library/double.py +90 -0
  29. fable_library-0.0.0/fable_library/encoding.py +41 -0
  30. fable_library-0.0.0/fable_library/event.py +206 -0
  31. fable_library-0.0.0/fable_library/file.py +109 -0
  32. fable_library-0.0.0/fable_library/floats.py +47 -0
  33. fable_library-0.0.0/fable_library/fsharp_collections.py +74 -0
  34. fable_library-0.0.0/fable_library/fsharp_core.py +220 -0
  35. fable_library-0.0.0/fable_library/global_.py +125 -0
  36. fable_library-0.0.0/fable_library/guid.py +41 -0
  37. fable_library-0.0.0/fable_library/int32.py +31 -0
  38. fable_library-0.0.0/fable_library/list.py +1781 -0
  39. fable_library-0.0.0/fable_library/long.py +339 -0
  40. fable_library-0.0.0/fable_library/mailbox_processor.py +179 -0
  41. fable_library-0.0.0/fable_library/map.py +1904 -0
  42. fable_library-0.0.0/fable_library/map_util.py +149 -0
  43. fable_library-0.0.0/fable_library/mutable_map.py +405 -0
  44. fable_library-0.0.0/fable_library/mutable_set.py +279 -0
  45. fable_library-0.0.0/fable_library/native.py +54 -0
  46. fable_library-0.0.0/fable_library/numeric.py +50 -0
  47. fable_library-0.0.0/fable_library/observable.py +225 -0
  48. fable_library-0.0.0/fable_library/option.py +50 -0
  49. fable_library-0.0.0/fable_library/path.py +62 -0
  50. fable_library-0.0.0/fable_library/range.py +116 -0
  51. fable_library-0.0.0/fable_library/reflection.py +461 -0
  52. fable_library-0.0.0/fable_library/reg_exp.py +139 -0
  53. fable_library-0.0.0/fable_library/resize_array.py +150 -0
  54. fable_library-0.0.0/fable_library/result.py +201 -0
  55. fable_library-0.0.0/fable_library/seq.py +1968 -0
  56. fable_library-0.0.0/fable_library/seq2.py +216 -0
  57. fable_library-0.0.0/fable_library/set.py +2499 -0
  58. fable_library-0.0.0/fable_library/singleton_local_time_zone.py +36 -0
  59. fable_library-0.0.0/fable_library/string_.py +179 -0
  60. fable_library-0.0.0/fable_library/system.py +493 -0
  61. fable_library-0.0.0/fable_library/system_collections_generic.py +490 -0
  62. fable_library-0.0.0/fable_library/system_text.py +248 -0
  63. fable_library-0.0.0/fable_library/task.py +122 -0
  64. fable_library-0.0.0/fable_library/task_builder.py +115 -0
  65. fable_library-0.0.0/fable_library/thread.py +8 -0
  66. fable_library-0.0.0/fable_library/time_span.py +342 -0
  67. fable_library-0.0.0/fable_library/timer.py +18 -0
  68. fable_library-0.0.0/fable_library/types.py +298 -0
  69. fable_library-0.0.0/fable_library/uri.py +109 -0
  70. fable_library-0.0.0/fable_library/util.py +2869 -0
  71. fable_library-0.0.0/py.typed +1 -0
  72. fable_library-0.0.0/pyproject.toml +46 -0
  73. fable_library-0.0.0/src/array.rs +4418 -0
  74. fable_library-0.0.0/src/datetime_offset.rs +105 -0
  75. fable_library-0.0.0/src/floats.rs +698 -0
  76. fable_library-0.0.0/src/ints.rs +1115 -0
  77. fable_library-0.0.0/src/lib.rs +42 -0
  78. fable_library-0.0.0/src/native_array.rs +864 -0
  79. fable_library-0.0.0/src/options.rs +308 -0
  80. fable_library-0.0.0/src/strings.rs +2020 -0
  81. fable_library-0.0.0/src/types.rs +111 -0
  82. fable_library-0.0.0/src/util.rs +69 -0
  83. fable_library-0.0.0/uv.lock +250 -0
@@ -0,0 +1,441 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "android_system_properties"
16
+ version = "0.1.5"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
19
+ dependencies = [
20
+ "libc",
21
+ ]
22
+
23
+ [[package]]
24
+ name = "autocfg"
25
+ version = "1.5.0"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
28
+
29
+ [[package]]
30
+ name = "bumpalo"
31
+ version = "3.19.0"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
34
+
35
+ [[package]]
36
+ name = "byteorder"
37
+ version = "1.5.0"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
40
+
41
+ [[package]]
42
+ name = "cc"
43
+ version = "1.2.44"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3"
46
+ dependencies = [
47
+ "find-msvc-tools",
48
+ "shlex",
49
+ ]
50
+
51
+ [[package]]
52
+ name = "cfg-if"
53
+ version = "1.0.4"
54
+ source = "registry+https://github.com/rust-lang/crates.io-index"
55
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
56
+
57
+ [[package]]
58
+ name = "chrono"
59
+ version = "0.4.42"
60
+ source = "registry+https://github.com/rust-lang/crates.io-index"
61
+ checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
62
+ dependencies = [
63
+ "iana-time-zone",
64
+ "js-sys",
65
+ "num-traits",
66
+ "wasm-bindgen",
67
+ "windows-link",
68
+ ]
69
+
70
+ [[package]]
71
+ name = "core-foundation-sys"
72
+ version = "0.8.7"
73
+ source = "registry+https://github.com/rust-lang/crates.io-index"
74
+ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
75
+
76
+ [[package]]
77
+ name = "fable-library-core"
78
+ version = "0.1.0"
79
+ dependencies = [
80
+ "byteorder",
81
+ "chrono",
82
+ "pyo3",
83
+ "regex",
84
+ ]
85
+
86
+ [[package]]
87
+ name = "find-msvc-tools"
88
+ version = "0.1.4"
89
+ source = "registry+https://github.com/rust-lang/crates.io-index"
90
+ checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127"
91
+
92
+ [[package]]
93
+ name = "heck"
94
+ version = "0.5.0"
95
+ source = "registry+https://github.com/rust-lang/crates.io-index"
96
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
97
+
98
+ [[package]]
99
+ name = "iana-time-zone"
100
+ version = "0.1.64"
101
+ source = "registry+https://github.com/rust-lang/crates.io-index"
102
+ checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
103
+ dependencies = [
104
+ "android_system_properties",
105
+ "core-foundation-sys",
106
+ "iana-time-zone-haiku",
107
+ "js-sys",
108
+ "log",
109
+ "wasm-bindgen",
110
+ "windows-core",
111
+ ]
112
+
113
+ [[package]]
114
+ name = "iana-time-zone-haiku"
115
+ version = "0.1.2"
116
+ source = "registry+https://github.com/rust-lang/crates.io-index"
117
+ checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
118
+ dependencies = [
119
+ "cc",
120
+ ]
121
+
122
+ [[package]]
123
+ name = "indoc"
124
+ version = "2.0.7"
125
+ source = "registry+https://github.com/rust-lang/crates.io-index"
126
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
127
+ dependencies = [
128
+ "rustversion",
129
+ ]
130
+
131
+ [[package]]
132
+ name = "js-sys"
133
+ version = "0.3.82"
134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
135
+ checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
136
+ dependencies = [
137
+ "once_cell",
138
+ "wasm-bindgen",
139
+ ]
140
+
141
+ [[package]]
142
+ name = "libc"
143
+ version = "0.2.177"
144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
145
+ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
146
+
147
+ [[package]]
148
+ name = "log"
149
+ version = "0.4.28"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
152
+
153
+ [[package]]
154
+ name = "memchr"
155
+ version = "2.7.6"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
158
+
159
+ [[package]]
160
+ name = "memoffset"
161
+ version = "0.9.1"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
164
+ dependencies = [
165
+ "autocfg",
166
+ ]
167
+
168
+ [[package]]
169
+ name = "num-traits"
170
+ version = "0.2.19"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
173
+ dependencies = [
174
+ "autocfg",
175
+ ]
176
+
177
+ [[package]]
178
+ name = "once_cell"
179
+ version = "1.21.3"
180
+ source = "registry+https://github.com/rust-lang/crates.io-index"
181
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
182
+
183
+ [[package]]
184
+ name = "portable-atomic"
185
+ version = "1.11.1"
186
+ source = "registry+https://github.com/rust-lang/crates.io-index"
187
+ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
188
+
189
+ [[package]]
190
+ name = "proc-macro2"
191
+ version = "1.0.103"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
194
+ dependencies = [
195
+ "unicode-ident",
196
+ ]
197
+
198
+ [[package]]
199
+ name = "pyo3"
200
+ version = "0.27.1"
201
+ source = "registry+https://github.com/rust-lang/crates.io-index"
202
+ checksum = "37a6df7eab65fc7bee654a421404947e10a0f7085b6951bf2ea395f4659fb0cf"
203
+ dependencies = [
204
+ "chrono",
205
+ "indoc",
206
+ "libc",
207
+ "memoffset",
208
+ "once_cell",
209
+ "portable-atomic",
210
+ "pyo3-build-config",
211
+ "pyo3-ffi",
212
+ "pyo3-macros",
213
+ "unindent",
214
+ ]
215
+
216
+ [[package]]
217
+ name = "pyo3-build-config"
218
+ version = "0.27.1"
219
+ source = "registry+https://github.com/rust-lang/crates.io-index"
220
+ checksum = "f77d387774f6f6eec64a004eac0ed525aab7fa1966d94b42f743797b3e395afb"
221
+ dependencies = [
222
+ "target-lexicon",
223
+ ]
224
+
225
+ [[package]]
226
+ name = "pyo3-ffi"
227
+ version = "0.27.1"
228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
229
+ checksum = "2dd13844a4242793e02df3e2ec093f540d948299a6a77ea9ce7afd8623f542be"
230
+ dependencies = [
231
+ "libc",
232
+ "pyo3-build-config",
233
+ ]
234
+
235
+ [[package]]
236
+ name = "pyo3-macros"
237
+ version = "0.27.1"
238
+ source = "registry+https://github.com/rust-lang/crates.io-index"
239
+ checksum = "eaf8f9f1108270b90d3676b8679586385430e5c0bb78bb5f043f95499c821a71"
240
+ dependencies = [
241
+ "proc-macro2",
242
+ "pyo3-macros-backend",
243
+ "quote",
244
+ "syn",
245
+ ]
246
+
247
+ [[package]]
248
+ name = "pyo3-macros-backend"
249
+ version = "0.27.1"
250
+ source = "registry+https://github.com/rust-lang/crates.io-index"
251
+ checksum = "70a3b2274450ba5288bc9b8c1b69ff569d1d61189d4bff38f8d22e03d17f932b"
252
+ dependencies = [
253
+ "heck",
254
+ "proc-macro2",
255
+ "pyo3-build-config",
256
+ "quote",
257
+ "syn",
258
+ ]
259
+
260
+ [[package]]
261
+ name = "quote"
262
+ version = "1.0.41"
263
+ source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
265
+ dependencies = [
266
+ "proc-macro2",
267
+ ]
268
+
269
+ [[package]]
270
+ name = "regex"
271
+ version = "1.12.2"
272
+ source = "registry+https://github.com/rust-lang/crates.io-index"
273
+ checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
274
+ dependencies = [
275
+ "aho-corasick",
276
+ "memchr",
277
+ "regex-automata",
278
+ "regex-syntax",
279
+ ]
280
+
281
+ [[package]]
282
+ name = "regex-automata"
283
+ version = "0.4.13"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
286
+ dependencies = [
287
+ "aho-corasick",
288
+ "memchr",
289
+ "regex-syntax",
290
+ ]
291
+
292
+ [[package]]
293
+ name = "regex-syntax"
294
+ version = "0.8.8"
295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
296
+ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
297
+
298
+ [[package]]
299
+ name = "rustversion"
300
+ version = "1.0.22"
301
+ source = "registry+https://github.com/rust-lang/crates.io-index"
302
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
303
+
304
+ [[package]]
305
+ name = "shlex"
306
+ version = "1.3.0"
307
+ source = "registry+https://github.com/rust-lang/crates.io-index"
308
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
309
+
310
+ [[package]]
311
+ name = "syn"
312
+ version = "2.0.108"
313
+ source = "registry+https://github.com/rust-lang/crates.io-index"
314
+ checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917"
315
+ dependencies = [
316
+ "proc-macro2",
317
+ "quote",
318
+ "unicode-ident",
319
+ ]
320
+
321
+ [[package]]
322
+ name = "target-lexicon"
323
+ version = "0.13.3"
324
+ source = "registry+https://github.com/rust-lang/crates.io-index"
325
+ checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
326
+
327
+ [[package]]
328
+ name = "unicode-ident"
329
+ version = "1.0.22"
330
+ source = "registry+https://github.com/rust-lang/crates.io-index"
331
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
332
+
333
+ [[package]]
334
+ name = "unindent"
335
+ version = "0.2.4"
336
+ source = "registry+https://github.com/rust-lang/crates.io-index"
337
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
338
+
339
+ [[package]]
340
+ name = "wasm-bindgen"
341
+ version = "0.2.105"
342
+ source = "registry+https://github.com/rust-lang/crates.io-index"
343
+ checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
344
+ dependencies = [
345
+ "cfg-if",
346
+ "once_cell",
347
+ "rustversion",
348
+ "wasm-bindgen-macro",
349
+ "wasm-bindgen-shared",
350
+ ]
351
+
352
+ [[package]]
353
+ name = "wasm-bindgen-macro"
354
+ version = "0.2.105"
355
+ source = "registry+https://github.com/rust-lang/crates.io-index"
356
+ checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
357
+ dependencies = [
358
+ "quote",
359
+ "wasm-bindgen-macro-support",
360
+ ]
361
+
362
+ [[package]]
363
+ name = "wasm-bindgen-macro-support"
364
+ version = "0.2.105"
365
+ source = "registry+https://github.com/rust-lang/crates.io-index"
366
+ checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
367
+ dependencies = [
368
+ "bumpalo",
369
+ "proc-macro2",
370
+ "quote",
371
+ "syn",
372
+ "wasm-bindgen-shared",
373
+ ]
374
+
375
+ [[package]]
376
+ name = "wasm-bindgen-shared"
377
+ version = "0.2.105"
378
+ source = "registry+https://github.com/rust-lang/crates.io-index"
379
+ checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
380
+ dependencies = [
381
+ "unicode-ident",
382
+ ]
383
+
384
+ [[package]]
385
+ name = "windows-core"
386
+ version = "0.62.2"
387
+ source = "registry+https://github.com/rust-lang/crates.io-index"
388
+ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
389
+ dependencies = [
390
+ "windows-implement",
391
+ "windows-interface",
392
+ "windows-link",
393
+ "windows-result",
394
+ "windows-strings",
395
+ ]
396
+
397
+ [[package]]
398
+ name = "windows-implement"
399
+ version = "0.60.2"
400
+ source = "registry+https://github.com/rust-lang/crates.io-index"
401
+ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
402
+ dependencies = [
403
+ "proc-macro2",
404
+ "quote",
405
+ "syn",
406
+ ]
407
+
408
+ [[package]]
409
+ name = "windows-interface"
410
+ version = "0.59.3"
411
+ source = "registry+https://github.com/rust-lang/crates.io-index"
412
+ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
413
+ dependencies = [
414
+ "proc-macro2",
415
+ "quote",
416
+ "syn",
417
+ ]
418
+
419
+ [[package]]
420
+ name = "windows-link"
421
+ version = "0.2.1"
422
+ source = "registry+https://github.com/rust-lang/crates.io-index"
423
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
424
+
425
+ [[package]]
426
+ name = "windows-result"
427
+ version = "0.4.1"
428
+ source = "registry+https://github.com/rust-lang/crates.io-index"
429
+ checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
430
+ dependencies = [
431
+ "windows-link",
432
+ ]
433
+
434
+ [[package]]
435
+ name = "windows-strings"
436
+ version = "0.5.1"
437
+ source = "registry+https://github.com/rust-lang/crates.io-index"
438
+ checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
439
+ dependencies = [
440
+ "windows-link",
441
+ ]
@@ -0,0 +1,22 @@
1
+ [package]
2
+ name = "fable-library-core"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ license = "MIT"
6
+ repository = "https://github.com/fable-compiler/fable"
7
+ readme = "README.md"
8
+
9
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
10
+ [lib]
11
+ name = "_core"
12
+ crate-type = ["cdylib"]
13
+
14
+ [dependencies]
15
+ pyo3 = { version = "0.27.1", features = ["extension-module", "chrono"] }
16
+ byteorder = "1.5.0"
17
+ chrono = "0.4.42"
18
+ regex = "1.12.1"
19
+
20
+ [features]
21
+ # must be enabled when building with `cargo build`, maturin enables this automatically
22
+ extension-module = ["pyo3/extension-module"]
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.4
2
+ Name: fable-library
3
+ Version: 0.0.0
4
+ Summary: Fable library for Python
5
+ Author-email: Dag Brattli <dag@brattli.net>
6
+ License-Expression: MIT License
7
+ Requires-Python: >=3.10, <4.0
8
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
9
+ Project-URL: Homepage, https://fable.io
10
+
11
+ # Fable Library for Python
12
+
13
+ This module is used as the [Fable](https://fable.io/) library for Python.
14
+
15
+ This document outlines the distribution strategy for the Fable Python
16
+ target, which includes both Python code and Rust-based extensions for
17
+ features like unsigned integers that aren't natively supported in
18
+ Python.
19
+
20
+ The code should be annotated using [type
21
+ hints](https://docs.python.org/3/library/typing.html) and statically
22
+ type checked using
23
+ [pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
24
+ at `strict` setting.
25
+
26
+ The code should be formatted using the
27
+ [ruff](https://docs.astral.sh/ruff/) formatter with default settings.
28
+
29
+ ## Fable Python Target Distribution Design
30
+
31
+ ### Design Goals
32
+
33
+ - Provide proper type support for F# (including uint8, etc.) and
34
+ performance using Rust extensions
35
+ - Support cross-platform usage of libraries compiled with Fable
36
+ - Offer flexibility for library authors (bundled vs PyPI dependency)
37
+ - Minimize duplication while ensuring stability
38
+
39
+ ### Architecture
40
+
41
+ The system uses a two-tier architecture:
42
+
43
+ 1. **Python components** - The main Fable library functionality
44
+ 2. **Rust extensions** - Native code for performance and proper type support
45
+
46
+ ### Distribution Approach
47
+
48
+ The `fable-library` package will be available through two methods:
49
+
50
+ 1. **Bundled** - Generated and included directly with compiled F# code
51
+ 2. **PyPI** - Installable as a dependency with wheels for all major platforms
52
+
53
+ Library authors can choose which approach to use based on their distribution needs. Note
54
+ that libraries made for distribution must use the PyPI approach since the bundled
55
+ version will only work locally (single architecture).
56
+
57
+ ### Version Management
58
+
59
+ #### Major Versions
60
+
61
+ - Versions are aligned with main Fable releases and a new release will
62
+ be generated for every tagged release
63
+ - Older versions for compatibility remain available through version pinning
64
+
65
+ ### Implementation Notes
66
+
67
+ 1. All Rust extensions are compiled for multiple platforms during the PyPI package build
68
+
@@ -0,0 +1,57 @@
1
+ # Fable Library for Python
2
+
3
+ This module is used as the [Fable](https://fable.io/) library for Python.
4
+
5
+ This document outlines the distribution strategy for the Fable Python
6
+ target, which includes both Python code and Rust-based extensions for
7
+ features like unsigned integers that aren't natively supported in
8
+ Python.
9
+
10
+ The code should be annotated using [type
11
+ hints](https://docs.python.org/3/library/typing.html) and statically
12
+ type checked using
13
+ [pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
14
+ at `strict` setting.
15
+
16
+ The code should be formatted using the
17
+ [ruff](https://docs.astral.sh/ruff/) formatter with default settings.
18
+
19
+ ## Fable Python Target Distribution Design
20
+
21
+ ### Design Goals
22
+
23
+ - Provide proper type support for F# (including uint8, etc.) and
24
+ performance using Rust extensions
25
+ - Support cross-platform usage of libraries compiled with Fable
26
+ - Offer flexibility for library authors (bundled vs PyPI dependency)
27
+ - Minimize duplication while ensuring stability
28
+
29
+ ### Architecture
30
+
31
+ The system uses a two-tier architecture:
32
+
33
+ 1. **Python components** - The main Fable library functionality
34
+ 2. **Rust extensions** - Native code for performance and proper type support
35
+
36
+ ### Distribution Approach
37
+
38
+ The `fable-library` package will be available through two methods:
39
+
40
+ 1. **Bundled** - Generated and included directly with compiled F# code
41
+ 2. **PyPI** - Installable as a dependency with wheels for all major platforms
42
+
43
+ Library authors can choose which approach to use based on their distribution needs. Note
44
+ that libraries made for distribution must use the PyPI approach since the bundled
45
+ version will only work locally (single architecture).
46
+
47
+ ### Version Management
48
+
49
+ #### Major Versions
50
+
51
+ - Versions are aligned with main Fable releases and a new release will
52
+ be generated for every tagged release
53
+ - Older versions for compatibility remain available through version pinning
54
+
55
+ ### Implementation Notes
56
+
57
+ 1. All Rust extensions are compiled for multiple platforms during the PyPI package build
File without changes
@@ -0,0 +1 @@
1
+ __version__ = "0.0.0"