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.
- fable_library-0.0.0/Cargo.lock +441 -0
- fable_library-0.0.0/Cargo.toml +22 -0
- fable_library-0.0.0/PKG-INFO +68 -0
- fable_library-0.0.0/README.md +57 -0
- fable_library-0.0.0/fable_library/__init__.py +0 -0
- fable_library-0.0.0/fable_library/_version.py +1 -0
- fable_library-0.0.0/fable_library/array_.py +235 -0
- fable_library-0.0.0/fable_library/async_.py +381 -0
- fable_library-0.0.0/fable_library/async_builder.py +368 -0
- fable_library-0.0.0/fable_library/big_int.py +330 -0
- fable_library-0.0.0/fable_library/bit_converter.py +131 -0
- fable_library-0.0.0/fable_library/boolean.py +26 -0
- fable_library-0.0.0/fable_library/char.py +249 -0
- fable_library-0.0.0/fable_library/choice.py +199 -0
- fable_library-0.0.0/fable_library/core/__init__.py +80 -0
- fable_library-0.0.0/fable_library/core/_core.pyi +59 -0
- fable_library-0.0.0/fable_library/core/array.pyi +390 -0
- fable_library-0.0.0/fable_library/core/datetime_offset.pyi +44 -0
- fable_library-0.0.0/fable_library/core/floats.pyi +152 -0
- fable_library-0.0.0/fable_library/core/ints.pyi +335 -0
- fable_library-0.0.0/fable_library/core/option.pyi +47 -0
- fable_library-0.0.0/fable_library/core/strings.pyi +83 -0
- fable_library-0.0.0/fable_library/core/types.pyi +8 -0
- fable_library-0.0.0/fable_library/date.py +775 -0
- fable_library-0.0.0/fable_library/date_offset.py +237 -0
- fable_library-0.0.0/fable_library/decimal_.py +210 -0
- fable_library-0.0.0/fable_library/diagnostics.py +56 -0
- fable_library-0.0.0/fable_library/double.py +90 -0
- fable_library-0.0.0/fable_library/encoding.py +41 -0
- fable_library-0.0.0/fable_library/event.py +206 -0
- fable_library-0.0.0/fable_library/file.py +109 -0
- fable_library-0.0.0/fable_library/floats.py +47 -0
- fable_library-0.0.0/fable_library/fsharp_collections.py +74 -0
- fable_library-0.0.0/fable_library/fsharp_core.py +220 -0
- fable_library-0.0.0/fable_library/global_.py +125 -0
- fable_library-0.0.0/fable_library/guid.py +41 -0
- fable_library-0.0.0/fable_library/int32.py +31 -0
- fable_library-0.0.0/fable_library/list.py +1781 -0
- fable_library-0.0.0/fable_library/long.py +339 -0
- fable_library-0.0.0/fable_library/mailbox_processor.py +179 -0
- fable_library-0.0.0/fable_library/map.py +1904 -0
- fable_library-0.0.0/fable_library/map_util.py +149 -0
- fable_library-0.0.0/fable_library/mutable_map.py +405 -0
- fable_library-0.0.0/fable_library/mutable_set.py +279 -0
- fable_library-0.0.0/fable_library/native.py +54 -0
- fable_library-0.0.0/fable_library/numeric.py +50 -0
- fable_library-0.0.0/fable_library/observable.py +225 -0
- fable_library-0.0.0/fable_library/option.py +50 -0
- fable_library-0.0.0/fable_library/path.py +62 -0
- fable_library-0.0.0/fable_library/range.py +116 -0
- fable_library-0.0.0/fable_library/reflection.py +461 -0
- fable_library-0.0.0/fable_library/reg_exp.py +139 -0
- fable_library-0.0.0/fable_library/resize_array.py +150 -0
- fable_library-0.0.0/fable_library/result.py +201 -0
- fable_library-0.0.0/fable_library/seq.py +1968 -0
- fable_library-0.0.0/fable_library/seq2.py +216 -0
- fable_library-0.0.0/fable_library/set.py +2499 -0
- fable_library-0.0.0/fable_library/singleton_local_time_zone.py +36 -0
- fable_library-0.0.0/fable_library/string_.py +179 -0
- fable_library-0.0.0/fable_library/system.py +493 -0
- fable_library-0.0.0/fable_library/system_collections_generic.py +490 -0
- fable_library-0.0.0/fable_library/system_text.py +248 -0
- fable_library-0.0.0/fable_library/task.py +122 -0
- fable_library-0.0.0/fable_library/task_builder.py +115 -0
- fable_library-0.0.0/fable_library/thread.py +8 -0
- fable_library-0.0.0/fable_library/time_span.py +342 -0
- fable_library-0.0.0/fable_library/timer.py +18 -0
- fable_library-0.0.0/fable_library/types.py +298 -0
- fable_library-0.0.0/fable_library/uri.py +109 -0
- fable_library-0.0.0/fable_library/util.py +2869 -0
- fable_library-0.0.0/py.typed +1 -0
- fable_library-0.0.0/pyproject.toml +46 -0
- fable_library-0.0.0/src/array.rs +4418 -0
- fable_library-0.0.0/src/datetime_offset.rs +105 -0
- fable_library-0.0.0/src/floats.rs +698 -0
- fable_library-0.0.0/src/ints.rs +1115 -0
- fable_library-0.0.0/src/lib.rs +42 -0
- fable_library-0.0.0/src/native_array.rs +864 -0
- fable_library-0.0.0/src/options.rs +308 -0
- fable_library-0.0.0/src/strings.rs +2020 -0
- fable_library-0.0.0/src/types.rs +111 -0
- fable_library-0.0.0/src/util.rs +69 -0
- 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"
|