qweb-rs 0.1.2__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 (41) hide show
  1. qweb_rs-0.1.2/COPYRIGHT +20 -0
  2. qweb_rs-0.1.2/Cargo.lock +327 -0
  3. qweb_rs-0.1.2/Cargo.toml +36 -0
  4. qweb_rs-0.1.2/LICENSE +859 -0
  5. qweb_rs-0.1.2/PKG-INFO +96 -0
  6. qweb_rs-0.1.2/README.md +70 -0
  7. qweb_rs-0.1.2/crates/qweb-core/COPYRIGHT +20 -0
  8. qweb_rs-0.1.2/crates/qweb-core/Cargo.toml +15 -0
  9. qweb_rs-0.1.2/crates/qweb-core/LICENSE +859 -0
  10. qweb_rs-0.1.2/crates/qweb-core/README.md +274 -0
  11. qweb_rs-0.1.2/crates/qweb-core/src/compile.rs +1837 -0
  12. qweb_rs-0.1.2/crates/qweb-core/src/error.rs +242 -0
  13. qweb_rs-0.1.2/crates/qweb-core/src/escape.rs +64 -0
  14. qweb_rs-0.1.2/crates/qweb-core/src/expr/lexer.rs +532 -0
  15. qweb_rs-0.1.2/crates/qweb-core/src/expr/mod.rs +890 -0
  16. qweb_rs-0.1.2/crates/qweb-core/src/format.rs +82 -0
  17. qweb_rs-0.1.2/crates/qweb-core/src/host.rs +463 -0
  18. qweb_rs-0.1.2/crates/qweb-core/src/ir.rs +469 -0
  19. qweb_rs-0.1.2/crates/qweb-core/src/lib.rs +83 -0
  20. qweb_rs-0.1.2/crates/qweb-core/src/runtime.rs +1172 -0
  21. qweb_rs-0.1.2/crates/qweb-core/src/text.rs +101 -0
  22. qweb_rs-0.1.2/crates/qweb-core/src/url.rs +154 -0
  23. qweb_rs-0.1.2/crates/qweb-core/src/xml.rs +1177 -0
  24. qweb_rs-0.1.2/crates/qweb-core/src/xstr.rs +399 -0
  25. qweb_rs-0.1.2/crates/qweb-inherit/COPYRIGHT +20 -0
  26. qweb_rs-0.1.2/crates/qweb-inherit/Cargo.toml +16 -0
  27. qweb_rs-0.1.2/crates/qweb-inherit/LICENSE +859 -0
  28. qweb_rs-0.1.2/crates/qweb-inherit/README.md +274 -0
  29. qweb_rs-0.1.2/crates/qweb-inherit/src/dom.rs +841 -0
  30. qweb_rs-0.1.2/crates/qweb-inherit/src/inherit.rs +755 -0
  31. qweb_rs-0.1.2/crates/qweb-inherit/src/js.rs +755 -0
  32. qweb_rs-0.1.2/crates/qweb-inherit/src/lib.rs +17 -0
  33. qweb_rs-0.1.2/crates/qweb-inherit/src/xpath.rs +1839 -0
  34. qweb_rs-0.1.2/crates/qweb-python/COPYRIGHT +20 -0
  35. qweb_rs-0.1.2/crates/qweb-python/Cargo.toml +24 -0
  36. qweb_rs-0.1.2/crates/qweb-python/LICENSE +859 -0
  37. qweb_rs-0.1.2/crates/qweb-python/README.md +70 -0
  38. qweb_rs-0.1.2/crates/qweb-python/src/lib.rs +1858 -0
  39. qweb_rs-0.1.2/pyproject.toml +36 -0
  40. qweb_rs-0.1.2/python/qweb_rs/__init__.py +139 -0
  41. qweb_rs-0.1.2/python/qweb_rs/_helpers.py +394 -0
@@ -0,0 +1,20 @@
1
+ qweb-rs
2
+
3
+ Copyright (c) 2026 David Bosch
4
+
5
+ qweb-rs is a port of parts of Odoo (https://github.com/odoo/odoo): the QWeb
6
+ template engine (odoo/addons/base/models/ir_qweb.py), template inheritance
7
+ (odoo/tools/template_inheritance.py and
8
+ addons/web/static/src/core/template_inheritance.js), and test cases adapted
9
+ from odoo/addons/base/tests/test_ir_qweb.py. Those parts are derived from
10
+ code that is
11
+
12
+ Copyright (c) Odoo S.A.
13
+
14
+ and licensed under the GNU Lesser General Public License, version 3.
15
+
16
+ qweb-rs as a whole is distributed under the same license, LGPL-3.0-only
17
+ (see the LICENSE file).
18
+
19
+ Odoo is a trademark of Odoo S.A. qweb-rs is not affiliated with or endorsed
20
+ by Odoo S.A.
@@ -0,0 +1,327 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "bumpalo"
7
+ version = "3.20.3"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
10
+
11
+ [[package]]
12
+ name = "cfg-if"
13
+ version = "1.0.5"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
16
+
17
+ [[package]]
18
+ name = "equivalent"
19
+ version = "1.0.3"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826"
22
+
23
+ [[package]]
24
+ name = "foldhash"
25
+ version = "0.2.0"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
28
+
29
+ [[package]]
30
+ name = "hashbrown"
31
+ version = "0.17.1"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
34
+
35
+ [[package]]
36
+ name = "heck"
37
+ version = "0.5.0"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
40
+
41
+ [[package]]
42
+ name = "indexmap"
43
+ version = "2.14.2"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
46
+ dependencies = [
47
+ "equivalent",
48
+ "hashbrown",
49
+ ]
50
+
51
+ [[package]]
52
+ name = "itoa"
53
+ version = "1.0.18"
54
+ source = "registry+https://github.com/rust-lang/crates.io-index"
55
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
56
+
57
+ [[package]]
58
+ name = "libc"
59
+ version = "0.2.191"
60
+ source = "registry+https://github.com/rust-lang/crates.io-index"
61
+ checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
62
+
63
+ [[package]]
64
+ name = "memchr"
65
+ version = "2.8.3"
66
+ source = "registry+https://github.com/rust-lang/crates.io-index"
67
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
68
+
69
+ [[package]]
70
+ name = "once_cell"
71
+ version = "1.21.4"
72
+ source = "registry+https://github.com/rust-lang/crates.io-index"
73
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
74
+
75
+ [[package]]
76
+ name = "portable-atomic"
77
+ version = "1.15.0"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
80
+
81
+ [[package]]
82
+ name = "proc-macro2"
83
+ version = "1.0.107"
84
+ source = "registry+https://github.com/rust-lang/crates.io-index"
85
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
86
+ dependencies = [
87
+ "unicode-ident",
88
+ ]
89
+
90
+ [[package]]
91
+ name = "pyo3"
92
+ version = "0.30.1"
93
+ source = "registry+https://github.com/rust-lang/crates.io-index"
94
+ checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
95
+ dependencies = [
96
+ "libc",
97
+ "once_cell",
98
+ "portable-atomic",
99
+ "pyo3-build-config",
100
+ "pyo3-ffi",
101
+ "pyo3-macros",
102
+ ]
103
+
104
+ [[package]]
105
+ name = "pyo3-build-config"
106
+ version = "0.30.1"
107
+ source = "registry+https://github.com/rust-lang/crates.io-index"
108
+ checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
109
+ dependencies = [
110
+ "target-lexicon",
111
+ ]
112
+
113
+ [[package]]
114
+ name = "pyo3-ffi"
115
+ version = "0.30.1"
116
+ source = "registry+https://github.com/rust-lang/crates.io-index"
117
+ checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
118
+ dependencies = [
119
+ "libc",
120
+ "pyo3-build-config",
121
+ ]
122
+
123
+ [[package]]
124
+ name = "pyo3-macros"
125
+ version = "0.30.1"
126
+ source = "registry+https://github.com/rust-lang/crates.io-index"
127
+ checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
128
+ dependencies = [
129
+ "proc-macro2",
130
+ "pyo3-macros-backend",
131
+ "quote",
132
+ "syn",
133
+ ]
134
+
135
+ [[package]]
136
+ name = "pyo3-macros-backend"
137
+ version = "0.30.1"
138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
139
+ checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
140
+ dependencies = [
141
+ "heck",
142
+ "proc-macro2",
143
+ "quote",
144
+ "syn",
145
+ ]
146
+
147
+ [[package]]
148
+ name = "quote"
149
+ version = "1.0.47"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
152
+ dependencies = [
153
+ "proc-macro2",
154
+ ]
155
+
156
+ [[package]]
157
+ name = "qweb-core"
158
+ version = "0.1.2"
159
+ dependencies = [
160
+ "memchr",
161
+ ]
162
+
163
+ [[package]]
164
+ name = "qweb-inherit"
165
+ version = "0.1.2"
166
+ dependencies = [
167
+ "qweb-core",
168
+ "regex-lite",
169
+ ]
170
+
171
+ [[package]]
172
+ name = "qweb-python"
173
+ version = "0.1.2"
174
+ dependencies = [
175
+ "pyo3",
176
+ "qweb-core",
177
+ "qweb-inherit",
178
+ ]
179
+
180
+ [[package]]
181
+ name = "qweb-value"
182
+ version = "0.1.2"
183
+ dependencies = [
184
+ "indexmap",
185
+ "qweb-core",
186
+ "serde_json",
187
+ ]
188
+
189
+ [[package]]
190
+ name = "qweb-wasm"
191
+ version = "0.1.2"
192
+ dependencies = [
193
+ "qweb-core",
194
+ "qweb-inherit",
195
+ "qweb-value",
196
+ "serde_json",
197
+ "wasm-bindgen",
198
+ ]
199
+
200
+ [[package]]
201
+ name = "regex-lite"
202
+ version = "0.1.9"
203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
204
+ checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973"
205
+
206
+ [[package]]
207
+ name = "rustversion"
208
+ version = "1.0.23"
209
+ source = "registry+https://github.com/rust-lang/crates.io-index"
210
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
211
+
212
+ [[package]]
213
+ name = "serde"
214
+ version = "1.0.229"
215
+ source = "registry+https://github.com/rust-lang/crates.io-index"
216
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
217
+ dependencies = [
218
+ "serde_core",
219
+ ]
220
+
221
+ [[package]]
222
+ name = "serde_core"
223
+ version = "1.0.229"
224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
225
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
226
+ dependencies = [
227
+ "serde_derive",
228
+ ]
229
+
230
+ [[package]]
231
+ name = "serde_derive"
232
+ version = "1.0.229"
233
+ source = "registry+https://github.com/rust-lang/crates.io-index"
234
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
235
+ dependencies = [
236
+ "proc-macro2",
237
+ "quote",
238
+ "syn",
239
+ ]
240
+
241
+ [[package]]
242
+ name = "serde_json"
243
+ version = "1.0.154"
244
+ source = "registry+https://github.com/rust-lang/crates.io-index"
245
+ checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
246
+ dependencies = [
247
+ "foldhash",
248
+ "indexmap",
249
+ "itoa",
250
+ "memchr",
251
+ "serde",
252
+ "serde_core",
253
+ "zmij",
254
+ ]
255
+
256
+ [[package]]
257
+ name = "syn"
258
+ version = "3.0.9"
259
+ source = "registry+https://github.com/rust-lang/crates.io-index"
260
+ checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
261
+ dependencies = [
262
+ "proc-macro2",
263
+ "quote",
264
+ "unicode-ident",
265
+ ]
266
+
267
+ [[package]]
268
+ name = "target-lexicon"
269
+ version = "0.13.5"
270
+ source = "registry+https://github.com/rust-lang/crates.io-index"
271
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
272
+
273
+ [[package]]
274
+ name = "unicode-ident"
275
+ version = "1.0.27"
276
+ source = "registry+https://github.com/rust-lang/crates.io-index"
277
+ checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
278
+
279
+ [[package]]
280
+ name = "wasm-bindgen"
281
+ version = "0.2.130"
282
+ source = "registry+https://github.com/rust-lang/crates.io-index"
283
+ checksum = "a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c"
284
+ dependencies = [
285
+ "cfg-if",
286
+ "rustversion",
287
+ "wasm-bindgen-macro",
288
+ "wasm-bindgen-shared",
289
+ ]
290
+
291
+ [[package]]
292
+ name = "wasm-bindgen-macro"
293
+ version = "0.2.130"
294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
295
+ checksum = "6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9"
296
+ dependencies = [
297
+ "quote",
298
+ "wasm-bindgen-macro-support",
299
+ ]
300
+
301
+ [[package]]
302
+ name = "wasm-bindgen-macro-support"
303
+ version = "0.2.130"
304
+ source = "registry+https://github.com/rust-lang/crates.io-index"
305
+ checksum = "2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a"
306
+ dependencies = [
307
+ "bumpalo",
308
+ "proc-macro2",
309
+ "quote",
310
+ "syn",
311
+ "wasm-bindgen-shared",
312
+ ]
313
+
314
+ [[package]]
315
+ name = "wasm-bindgen-shared"
316
+ version = "0.2.130"
317
+ source = "registry+https://github.com/rust-lang/crates.io-index"
318
+ checksum = "3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e"
319
+ dependencies = [
320
+ "unicode-ident",
321
+ ]
322
+
323
+ [[package]]
324
+ name = "zmij"
325
+ version = "1.0.23"
326
+ source = "registry+https://github.com/rust-lang/crates.io-index"
327
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
@@ -0,0 +1,36 @@
1
+ [workspace]
2
+ resolver = "3"
3
+ members = ["crates/qweb-core", "crates/qweb-inherit", "crates/qweb-python"]
4
+
5
+ [workspace.package]
6
+ version = "0.1.2"
7
+ edition = "2024"
8
+ license = "LGPL-3.0-only"
9
+ rust-version = "1.88.0"
10
+ repository = "https://github.com/DBosch0/qweb-rs"
11
+ authors = ["David Bosch"]
12
+ keywords = ["qweb", "template", "xpath", "odoo"]
13
+ categories = ["template-engine", "web-programming"]
14
+
15
+ [workspace.dependencies]
16
+ qweb-core = { path = "crates/qweb-core", version = "0.1.2" }
17
+ qweb-value = { path = "crates/qweb-value", version = "0.1.2" }
18
+ qweb-inherit = { path = "crates/qweb-inherit", version = "0.1.2" }
19
+ memchr = "2.8"
20
+
21
+ [profile.release]
22
+ lto = "fat"
23
+ codegen-units = 1
24
+
25
+ [profile.bench]
26
+ lto = "fat"
27
+ codegen-units = 1
28
+
29
+ # Size-optimized WebAssembly build: cargo build --profile wasm --target wasm32-unknown-unknown -p qweb-wasm
30
+ [profile.wasm]
31
+ inherits = "release"
32
+ opt-level = "s"
33
+ panic = "abort"
34
+ # Keep the target_features section: wasm-bindgen reads it to pick the calling
35
+ # convention of its glue. scripts/build_wasm.sh drops the name section instead.
36
+ strip = "debuginfo"