omlish 0.0.0.dev304__py3-none-any.whl → 0.0.0.dev306__py3-none-any.whl

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 (35) hide show
  1. omlish/.manifests.json +14 -0
  2. omlish/__about__.py +3 -3
  3. omlish/dataclasses/__init__.py +5 -0
  4. omlish/dataclasses/api/__init__.py +1 -0
  5. omlish/dataclasses/api/fields/metadata.py +8 -0
  6. omlish/dataclasses/tools/only_.py +45 -0
  7. omlish/diag/_pycharm/runhack.py +4 -1
  8. omlish/formats/edn/LICENSE +16 -0
  9. omlish/formats/edn/__init__.py +15 -0
  10. omlish/formats/edn/codec.py +26 -0
  11. omlish/formats/edn/parsing.py +359 -0
  12. omlish/formats/edn/values.py +162 -0
  13. omlish/graphs/trees.py +6 -0
  14. omlish/lang/__init__.py +7 -0
  15. omlish/lang/cached/function.py +7 -2
  16. omlish/lang/objects.py +28 -0
  17. omlish/lang/recursion.py +109 -0
  18. omlish/marshal/__init__.py +1 -1
  19. omlish/marshal/objects/helpers.py +1 -1
  20. omlish/sql/api/__init__.py +8 -1
  21. omlish/sql/api/base.py +1 -1
  22. omlish/sql/api/funcs.py +70 -11
  23. omlish/sql/qualifiedname.py +20 -12
  24. omlish/sql/queries/__init__.py +3 -0
  25. omlish/sql/queries/base.py +16 -0
  26. omlish/sql/queries/idents.py +12 -1
  27. omlish/sql/queries/names.py +8 -1
  28. omlish/sql/queries/relations.py +0 -12
  29. omlish/sql/queries/rendering.py +0 -3
  30. {omlish-0.0.0.dev304.dist-info → omlish-0.0.0.dev306.dist-info}/METADATA +3 -3
  31. {omlish-0.0.0.dev304.dist-info → omlish-0.0.0.dev306.dist-info}/RECORD +35 -28
  32. {omlish-0.0.0.dev304.dist-info → omlish-0.0.0.dev306.dist-info}/WHEEL +0 -0
  33. {omlish-0.0.0.dev304.dist-info → omlish-0.0.0.dev306.dist-info}/entry_points.txt +0 -0
  34. {omlish-0.0.0.dev304.dist-info → omlish-0.0.0.dev306.dist-info}/licenses/LICENSE +0 -0
  35. {omlish-0.0.0.dev304.dist-info → omlish-0.0.0.dev306.dist-info}/top_level.txt +0 -0
@@ -39,11 +39,8 @@ class JoinKind(enum.Enum):
39
39
  DEFAULT = enum.auto()
40
40
  INNER = enum.auto()
41
41
  LEFT = enum.auto()
42
- LEFT_OUTER = enum.auto()
43
42
  RIGHT = enum.auto()
44
- RIGHT_OUTER = enum.auto()
45
43
  FULL = enum.auto()
46
- FULL_OUTER = enum.auto()
47
44
  CROSS = enum.auto()
48
45
  NATURAL = enum.auto()
49
46
 
@@ -95,21 +92,12 @@ class RelationBuilder(MultiBuilder):
95
92
  def left_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
96
93
  return self.join(JoinKind.LEFT, l, r, *cs)
97
94
 
98
- def left_outer_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
99
- return self.join(JoinKind.LEFT_OUTER, l, r, *cs)
100
-
101
95
  def right_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
102
96
  return self.join(JoinKind.RIGHT, l, r, *cs)
103
97
 
104
- def right_outer_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
105
- return self.join(JoinKind.RIGHT_OUTER, l, r, *cs)
106
-
107
98
  def full_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
108
99
  return self.join(JoinKind.FULL, l, r, *cs)
109
100
 
110
- def full_outer_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
111
- return self.join(JoinKind.FULL_OUTER, l, r, *cs)
112
-
113
101
  def cross_join(self, l: CanRelation, r: CanRelation, *cs: CanExpr) -> Join:
114
102
  return self.join(JoinKind.CROSS, l, r, *cs)
115
103
 
@@ -225,11 +225,8 @@ class StdRenderer(Renderer):
225
225
  JoinKind.DEFAULT: 'join',
226
226
  JoinKind.INNER: 'inner join',
227
227
  JoinKind.LEFT: 'left join',
228
- JoinKind.LEFT_OUTER: 'left outer join',
229
228
  JoinKind.RIGHT: 'right join',
230
- JoinKind.RIGHT_OUTER: 'right outer join',
231
229
  JoinKind.FULL: 'full join',
232
- JoinKind.FULL_OUTER: 'full outer join',
233
230
  JoinKind.CROSS: 'cross join',
234
231
  JoinKind.NATURAL: 'natural join',
235
232
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev304
3
+ Version: 0.0.0.dev306
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -40,7 +40,7 @@ Requires-Dist: aiomysql~=0.2; extra == "all"
40
40
  Requires-Dist: aiosqlite~=0.21; extra == "all"
41
41
  Requires-Dist: asyncpg~=0.30; extra == "all"
42
42
  Requires-Dist: apsw~=3.49; extra == "all"
43
- Requires-Dist: sqlean.py~=3.47; extra == "all"
43
+ Requires-Dist: sqlean.py~=3.49; extra == "all"
44
44
  Requires-Dist: duckdb~=1.2; extra == "all"
45
45
  Requires-Dist: markupsafe~=3.0; extra == "all"
46
46
  Requires-Dist: jinja2~=3.1; extra == "all"
@@ -88,7 +88,7 @@ Requires-Dist: aiomysql~=0.2; extra == "sqldrivers"
88
88
  Requires-Dist: aiosqlite~=0.21; extra == "sqldrivers"
89
89
  Requires-Dist: asyncpg~=0.30; extra == "sqldrivers"
90
90
  Requires-Dist: apsw~=3.49; extra == "sqldrivers"
91
- Requires-Dist: sqlean.py~=3.47; extra == "sqldrivers"
91
+ Requires-Dist: sqlean.py~=3.49; extra == "sqldrivers"
92
92
  Requires-Dist: duckdb~=1.2; extra == "sqldrivers"
93
93
  Provides-Extra: templates
94
94
  Requires-Dist: markupsafe~=3.0; extra == "templates"
@@ -1,5 +1,5 @@
1
- omlish/.manifests.json,sha256=pjGUyLHaoWpPqRP3jz2u1fC1qoRc2lvrEcpU_Ax2tdg,8253
2
- omlish/__about__.py,sha256=F6X4fib8qJRwj4c8ttKlheoGULweTMxejclgu8k0w64,3478
1
+ omlish/.manifests.json,sha256=orgsRvtpHu8tdhaCvlP9v3P495OJopYYiHKjK68WtWg,8587
2
+ omlish/__about__.py,sha256=GhIrDhTYihc0evLBX7furXS9SiYupCmrYNe-MrlOL0w,3478
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -202,7 +202,7 @@ omlish/daemons/services.py,sha256=YYp2SMkJ71WgzOcYSXjWHeAyKKxu3j1dfuJvWkl0Dgw,34
202
202
  omlish/daemons/spawning.py,sha256=psR73zOYjMKTqNpx1bMib8uU9wAZz62tw5TaWHrTdyY,5337
203
203
  omlish/daemons/targets.py,sha256=00KmtlknMhQ5PyyVAhWl3rpeTMPym0GxvHHq6mYPZ7c,3051
204
204
  omlish/daemons/waiting.py,sha256=RfgD1L33QQVbD2431dkKZGE4w6DUcGvYeRXXi8puAP4,1676
205
- omlish/dataclasses/__init__.py,sha256=xo5rJYrQ2JE5jcX4fHv5e9bC6RIXFd-K8yurUP20oO8,1834
205
+ omlish/dataclasses/__init__.py,sha256=NQc2jnXOaKia04px011joPMuB98YHOWk_SAUgaqL_T0,1911
206
206
  omlish/dataclasses/debug.py,sha256=giBiv6aXvX0IagwNCW64qBzNjfOFr3-VmgDy_KYlb-k,29
207
207
  omlish/dataclasses/errors.py,sha256=tyv3WR6az66uGGiq9FIuCHvy1Ef-G7zeMY7mMG6hy2Y,2527
208
208
  omlish/dataclasses/inspect.py,sha256=BlpPghVCU3w_YDnONEqqE99YHzJM2q3eoqe39YX25Ko,4596
@@ -210,7 +210,7 @@ omlish/dataclasses/internals.py,sha256=vIGCZnStgD3ef4drYRtVOrxhxmAPa0vJpo4pXcDcQ
210
210
  omlish/dataclasses/reflection.py,sha256=5N4acL27xwSnQJvoks6ts2JseGfwL_P9D2gM9vqtAFM,2243
211
211
  omlish/dataclasses/specs.py,sha256=r9hpIWy83ODiB1n7wTf7JL5fiCeeT8fWbMvxs7c4e3g,6148
212
212
  omlish/dataclasses/utils.py,sha256=gv6za6oJYBr1VaeGd7oXqq9lhBs_sxkpC27XYzJggno,1870
213
- omlish/dataclasses/api/__init__.py,sha256=GFodt19CKrfuBpdv1EUqVUCPAFIlHPnabE2G8QJElBY,426
213
+ omlish/dataclasses/api/__init__.py,sha256=k5iS9QOwf_f4iOfGffYhnqDOcmEIwEUUTp00u11kIPM,455
214
214
  omlish/dataclasses/api/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
215
  omlish/dataclasses/api/classes/conversion.py,sha256=x1Ayo5W3t8lVh10KGH_ZBJ_kK7HqcdI2LdJA6mR_WXQ,810
216
216
  omlish/dataclasses/api/classes/decorator.py,sha256=q-m05j6VhJ9_00TmrXBvwmv0_TFPTD8OURi1KbKo9-4,3933
@@ -221,7 +221,7 @@ omlish/dataclasses/api/fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
221
221
  omlish/dataclasses/api/fields/building.py,sha256=YVAJZ2c318vK0YWz9VU8_MdjA5qNjqsI3N85K-bD0TI,3314
222
222
  omlish/dataclasses/api/fields/constructor.py,sha256=T2GeczTz9uy2EOTDlU4VJoiXp-I6jvlxnYXChvQqHxk,1533
223
223
  omlish/dataclasses/api/fields/conversion.py,sha256=Pye4KOON78CBgDzwTqNb5fx8wE7uvlKcwVfQ2nhDzrM,5134
224
- omlish/dataclasses/api/fields/metadata.py,sha256=4hGRvG96qPNeipbnHlnbDNWqCANGCuE9BmjKUzTEzRQ,1689
224
+ omlish/dataclasses/api/fields/metadata.py,sha256=9y8-M12pbOuEBC2gciuTeENrTV1AZheoHH2sKfq_Fuo,1933
225
225
  omlish/dataclasses/concerns/__init__.py,sha256=4Goga5wAOAbK6KcoHWC8jDC8M9ywgH7PfmXXxgCYCC8,208
226
226
  omlish/dataclasses/concerns/abc.py,sha256=ok2qE9ltgZXdf34YtLElTr7A-IYErJvVfP1-G2t2Sbc,391
227
227
  omlish/dataclasses/concerns/copy.py,sha256=U8kSHEvVupvXArS3OPB7GK_M7aPO9R3_Uk1nqHqxmJ8,1761
@@ -266,6 +266,7 @@ omlish/dataclasses/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
266
266
  omlish/dataclasses/tools/as_.py,sha256=3mTFXf563Z4ZZnbCzJHv83WizOYBs2mpigJCamxTlpQ,2893
267
267
  omlish/dataclasses/tools/iter.py,sha256=JQUFG4Gn-xthhJ3OEqXLOWkq2KhRMuIqvEow0HcFPZg,540
268
268
  omlish/dataclasses/tools/modifiers.py,sha256=xo6D4yl58HhJrFwV1JeoNrLrgC4MUA6SAXCGoyV-gnM,1212
269
+ omlish/dataclasses/tools/only_.py,sha256=hPpqzr9YW09YmlX_QJNU2aePHYJEIrbGCPwmnvVS_to,849
269
270
  omlish/dataclasses/tools/replace.py,sha256=izM9lPT6AhEtjqn22auqaofa0j69KO7iootF-2Uj4cY,396
270
271
  omlish/dataclasses/tools/repr.py,sha256=KFvF6uv2YYIKq8O3ZNbEAS1tqRQALsJ-SUlBNPd5_GI,190
271
272
  omlish/dataclasses/tools/static.py,sha256=4TOwUmSthWUin0UMtZYw0O8APJYRAD39O3TW7WZShic,8665
@@ -281,7 +282,7 @@ omlish/diag/pycharm.py,sha256=Z2W-Viqw5xq08ZC4z36skpozfYw_qNNhWQx_GYr2D0k,4695
281
282
  omlish/diag/pydevd.py,sha256=UN55ZjkWLCVyHxE2CNRRYamuvSKfzWsn0D5oczRTXO4,7536
282
283
  omlish/diag/threads.py,sha256=1-x02VCDZ407gfbtXm1pWK-ubqhqfePm9PMqkHCVoqk,3642
283
284
  omlish/diag/_pycharm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
- omlish/diag/_pycharm/runhack.py,sha256=JFz4GVN4AXndJo38iwnK5X_vH2MS6wyO8YmVZss5YRE,35157
285
+ omlish/diag/_pycharm/runhack.py,sha256=O37sduvkx99uQaEg_XWLDBJlUxaqgd2LkjmdGaUT6e4,35432
285
286
  omlish/diag/replserver/__init__.py,sha256=uLo6V2aQ29v9z3IMELlPDSlG3_2iOT4-_X8VniF-EgE,235
286
287
  omlish/diag/replserver/__main__.py,sha256=LmU41lQ58bm1h4Mx7S8zhE_uEBSC6kPcp9mn5JRpulA,32
287
288
  omlish/diag/replserver/console.py,sha256=XzBDVhYlr8FY6ym4OwoaIHuFOHnGK3dTYlMDIOMUUlA,7410
@@ -318,6 +319,11 @@ omlish/formats/props.py,sha256=auCv-Jx79KGlWfyG1-Qo0ou-Ex0W_mF3r_lDFdsVkWI,18920
318
319
  omlish/formats/repr.py,sha256=kYrNs4o-ji8nOdp6u_L3aMgBMWN1ZAZJSAWgQQfStSQ,414
319
320
  omlish/formats/xml.py,sha256=VJfqHR60dhAtjeG8WXFMozFqesTBSGvv264d67eDFXc,3514
320
321
  omlish/formats/yaml.py,sha256=jGPQlTE0vSV-p0O7TJRNlf6o1uq4gx8PrHZe1ApJ_o8,7386
322
+ omlish/formats/edn/LICENSE,sha256=EUHM_e21AO5QuuMYXhDE81wmeBxbxeEk_i8oToZhiJo,1078
323
+ omlish/formats/edn/__init__.py,sha256=JXHN8RlPAl-l2OnOQOQgYO8-f2zrYy-bGS2uaHiD9x0,183
324
+ omlish/formats/edn/codec.py,sha256=k6-Ra3P3Rlv6JA69-jPLI4nCe5XVes_QJbcsj5DYzMM,454
325
+ omlish/formats/edn/parsing.py,sha256=EtpFdeU1DPAh9pvPjEQSBwZJ9OESeonRkUFQdjmIh2Y,11212
326
+ omlish/formats/edn/values.py,sha256=m2mDkX0BP63-e81cBbZnB-S5zPzc-J-tYrFzycqL7AI,3488
321
327
  omlish/formats/ini/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
328
  omlish/formats/ini/codec.py,sha256=omuFg0kiDksv8rRlWd_v32ebzEcKlgmiPgGID3bRi2M,631
323
329
  omlish/formats/ini/sections.py,sha256=7wYyZdVTQbMPFpjQEACKJfAEPzUBrogINsrvFgxJoZ0,1015
@@ -366,7 +372,7 @@ omlish/funcs/pipes.py,sha256=E7Sz8Aj8ke_vCs5AMNwg1I36kRdHVGTnzxVQaDyn43U,2490
366
372
  omlish/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
367
373
  omlish/graphs/dags.py,sha256=7ee4GfzHcAVUA5-LMJyT7odwxoooh4cTwz4H8qi8Anc,3045
368
374
  omlish/graphs/domination.py,sha256=N-rCzB3uAug964Tx4YGew1Nuh7GvzGjA598GcOj-Who,7571
369
- omlish/graphs/trees.py,sha256=IA2lMbPec-4UrkYFUjUqqxAKeww6YMV35xj8uQhILYk,8188
375
+ omlish/graphs/trees.py,sha256=dPlIBqWNqPn-kGHBeTkSgmZ_3haq5nEmsdBY1fYnvgE,8197
370
376
  omlish/graphs/dot/__init__.py,sha256=Y1MZRQBZkcYyG1Tn7K2FhL8aYbm4v4tk6f5g9AqEkUw,359
371
377
  omlish/graphs/dot/items.py,sha256=7c-lvB2pp6LKWDI2di-S6Zh4vlUZt97eJeNQzuGilGc,4082
372
378
  omlish/graphs/dot/make.py,sha256=RN30gHfJPiXx5Q51kbDdhVJYf59Fr84Lz9J-mXRt9sI,360
@@ -464,7 +470,7 @@ omlish/iterators/iterators.py,sha256=RxW35yQ5ed8vBQ22IqpDXFx-i5JiLQdp7-pkMZXhJJ8
464
470
  omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,472
465
471
  omlish/iterators/tools.py,sha256=c4hArZEVV8y9_dFfmRwakusv1cWJLT4MkTkGRjnGN5U,2556
466
472
  omlish/iterators/unique.py,sha256=Nw0pSaNEcHAkve0ugfLPvJcirDOn9ECyC5wIL8JlJKI,1395
467
- omlish/lang/__init__.py,sha256=1m2Kc4CBk_C_B7ydPcGWTdCY00JRMrGtX_RlFvyVTo8,5729
473
+ omlish/lang/__init__.py,sha256=ldzz3bIIkYhUd-Xmzn62NTOJ6av09vWfJSudkQJvz3M,5862
468
474
  omlish/lang/attrs.py,sha256=i7euRF81uNF8QDmUVXSK_BtqLGshaMi4VVdUnMjiMwg,5050
469
475
  omlish/lang/casing.py,sha256=cFUlbDdXLhwnWwcYx4qnM5c4zGX7hIRUfcjiZbxUD28,4636
470
476
  omlish/lang/clsdct.py,sha256=HAGIvBSbCefzRjXriwYSBLO7QHKRv2UsE78jixOb-fA,1828
@@ -479,16 +485,17 @@ omlish/lang/generators.py,sha256=5tbjVAywiZH6oAdj1sJLRMtIkC9y3rAkecLT7Z3m7_g,525
479
485
  omlish/lang/imports.py,sha256=y9W9Y-d_cQ35QCLuSIPoa6vnEqSErFCz8b-34IH128U,10552
480
486
  omlish/lang/iterables.py,sha256=HOjcxOwyI5bBApDLsxRAGGhTTmw7fdZl2kEckxRVl-0,1994
481
487
  omlish/lang/maybes.py,sha256=pb1YrxmpXy-hWKmWR89GxXqZq1MoUD1uuTaTX30peh0,3697
482
- omlish/lang/objects.py,sha256=q1T26cxLkejU5XMl5iEVC9IIhjib0VBpe7JCo2bz2Ws,5411
488
+ omlish/lang/objects.py,sha256=nbxBHfQHVw0OG4qeSTP2GvIiFIcH2tbbitY8y-mYPPo,5959
483
489
  omlish/lang/outcomes.py,sha256=mpFy_VoM-b74L1aCFsjsZVUHx_icZ1AHMOKeVesjOp4,8628
484
490
  omlish/lang/params.py,sha256=QmNVBfJsfxjDG5ilDPgHV7sK4UwRztkSQdLTo0umb8I,6648
491
+ omlish/lang/recursion.py,sha256=1VfSqzKO-8Is3t9LKw0W4jwPfE0aBS70EUlbUxAx4eE,1900
485
492
  omlish/lang/resolving.py,sha256=ei9LDyJexsMMHB9z8diUkNmynWhd_da7h7TqrMYM6lA,1611
486
493
  omlish/lang/resources.py,sha256=WKkAddC3ctMK1bvGw-elGe8ZxAj2IaUTKVSu2nfgHTo,2839
487
494
  omlish/lang/strings.py,sha256=kJmRFd1D36xXcjd9MdB12BCwF_-MVhNr-TpWj7hMi_4,4252
488
495
  omlish/lang/sys.py,sha256=b4qOPiJZQru_mbb04FNfOjYWUxlV2becZOoc-yya_rQ,411
489
496
  omlish/lang/typing.py,sha256=Zdad9Zv0sa-hIaUXPrzPidT7sDVpRcussAI7D-j-I1c,3296
490
497
  omlish/lang/cached/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
491
- omlish/lang/cached/function.py,sha256=Nqr7XDVQdD21TawF-O9YG4jU4RwlBri-E1SusrDrmzo,9560
498
+ omlish/lang/cached/function.py,sha256=0uTtDR1uaxwB2uTB_JTFcCr2c9NxsiWVvCLKVWUUHUw,9641
492
499
  omlish/lang/cached/property.py,sha256=WHYyg4-6EA86TcNMfbXTjVhjEZPc0kngt9hfY3WN5w8,2768
493
500
  omlish/lang/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
494
501
  omlish/lang/classes/abstract.py,sha256=n4rDlDraUKxPF0GtOWEFZ6mEzEDmP7Z8LSI6Jww_thw,3715
@@ -546,7 +553,7 @@ omlish/manifests/base.py,sha256=D1WvJYcBR_njkc0gpALpFCWh1h3agb9qgqphnbbPlm4,935
546
553
  omlish/manifests/load.py,sha256=9mdsS3egmSX9pymO-m-y2Fhs4p6ruOdbsYaKT1-1Hwg,6655
547
554
  omlish/manifests/static.py,sha256=7YwOVh_Ek9_aTrWsWNO8kWS10_j4K7yv3TpXZSHsvDY,501
548
555
  omlish/manifests/types.py,sha256=IOt9dOe0r8okCHSL82ryi3sn4VZ6AT80g_QQR6oZtCE,306
549
- omlish/marshal/__init__.py,sha256=vZX1PPOJZ9kFafZySmvCoxH6YT3qJ0pUj94vVUD7QOc,3368
556
+ omlish/marshal/__init__.py,sha256=6nTREepo0aGQZcJdeOUkJRnSZ9Mx2Q1ok2XoE4dqijM,3366
550
557
  omlish/marshal/base.py,sha256=Q0ZRsz5z0NTI6PeWPc9mdMstJryDDbeIAdpKH9-SDps,11427
551
558
  omlish/marshal/errors.py,sha256=g5XJyTHd__8lfwQ4KwgK-E5WR6MoNTMrqKP2U_QRQQQ,307
552
559
  omlish/marshal/factories.py,sha256=Q926jSVjaQLEmStnHLhm_c_vqEysN1LnDCwAsFLIzXw,2970
@@ -566,7 +573,7 @@ omlish/marshal/composite/optionals.py,sha256=MnecrmrJYjQvYJipIHNCDq78oH09dOjnw5p
566
573
  omlish/marshal/composite/wrapped.py,sha256=jOsn3h1vLIqcoSTB-0KObnsdbV8jSVWJYbf7Kg9AUwg,750
567
574
  omlish/marshal/objects/__init__.py,sha256=F4wej8L_tedC8ETYxAnmKfdPR9TjsqIus9Z3nZofYuc,182
568
575
  omlish/marshal/objects/dataclasses.py,sha256=klXXY1zOKh_FYlw6L5ZNPjpXSk0ntUGxSOrm309WoiY,8953
569
- omlish/marshal/objects/helpers.py,sha256=H3K0J4fsJTaBVi7m6Be066YmlsRmOet48sop3LBr1wU,1104
576
+ omlish/marshal/objects/helpers.py,sha256=hj5I1pILt3QFSVkYJNrSO3wiCaalAopEYWPL17Ip4zs,1102
570
577
  omlish/marshal/objects/marshal.py,sha256=JarKGecMgaFYSUHUj-ZUYVP9HK6u2rjpBb3DWX9Uhh0,2648
571
578
  omlish/marshal/objects/metadata.py,sha256=2_rESnslP5fwtEW1xy9ECJg64uA4cQBuYcGkRfPElts,3342
572
579
  omlish/marshal/objects/namedtuples.py,sha256=8de8L7rwmvr_LLBHHfOl2wHObxc_1yZ8fC_J25yZi7Q,2866
@@ -727,7 +734,7 @@ omlish/sql/abc.py,sha256=3hrCjB4jnPVMef_YXClCblzYUZ9l9yaxJJdd5_Nu9GM,4043
727
734
  omlish/sql/dbapi.py,sha256=DfMxCyltpMj6hUiLti1omUvJyMGbrkGxcz2ywolOpPA,2979
728
735
  omlish/sql/dbs.py,sha256=65e388987upJpsFX8bNL7uhiYv2sCsmk9Y04V0MXdsI,1873
729
736
  omlish/sql/params.py,sha256=Z4VPet6GhNqD1T_MXSWSHkdy3cpUEhST-OplC4B_fYI,4433
730
- omlish/sql/qualifiedname.py,sha256=c3GQzxh9sNyE_TP32PnlCun_F2bKXvX1ohtt6esTsjo,2269
737
+ omlish/sql/qualifiedname.py,sha256=KdWOozaxsCi5hhsW6KwFM0HD3lTtBtJHDJ5HOx4DsWc,2447
731
738
  omlish/sql/alchemy/__init__.py,sha256=mZiu0F4Y_5qQpl-xz4xnb0feVGZTDp3I4R6k7SVY_7M,760
732
739
  omlish/sql/alchemy/apiadapter.py,sha256=QrkvlzqMl_S2nxOPQ8-g1UaWRSTZNna1-8XouOn8xdY,2696
733
740
  omlish/sql/alchemy/asyncs.py,sha256=MwZwWIaZsUCQLcTA8mdHUPZmR-pXEVSAsvd15FCm3W4,3692
@@ -735,14 +742,14 @@ omlish/sql/alchemy/duckdb.py,sha256=kr7pIhiBLNAuZrcigHDtFg9zHkVcrRW3LfryO9VJ4mk,
735
742
  omlish/sql/alchemy/exprs.py,sha256=gO4Fj4xEY-PuDgV-N8hBMy55glZz7O-4H7v1LWabfZY,323
736
743
  omlish/sql/alchemy/secrets.py,sha256=WEeaec1ejQcE3Yaa7p5BSP9AMGEzy1lwr7QMSRL0VBw,180
737
744
  omlish/sql/alchemy/sqlean.py,sha256=RbkuOuFIfM4fowwKk8-sQ6Dxk-tTUwxS94nY5Kxt52s,403
738
- omlish/sql/api/__init__.py,sha256=Ee-DgQPo_fUqlYL3NBzk6kmj_cXlnZIua5jk85UHWHI,951
745
+ omlish/sql/api/__init__.py,sha256=VJo12MNFn0-GfSrbnve_l6Uo9bOYePKpZNQ9nApaPcg,1066
739
746
  omlish/sql/api/_queries.py,sha256=FqIrtU6JdzQD4S4zv9tdDuzCLHSgJjK8WSfT7Ag4umI,530
740
747
  omlish/sql/api/asquery.py,sha256=8eBoJyyu0kHW3k3yytEcT-B6UAI_slKB0QtSK_WQS7g,1203
741
- omlish/sql/api/base.py,sha256=E_t54OFr0BX604vOfQZGxh_n6EdOBF2Tvnrg25dMKXo,1314
748
+ omlish/sql/api/base.py,sha256=oYFywk1fraINEyCeuZ3TvGaEcI6CdSojYX8iuHaSSow,1332
742
749
  omlish/sql/api/columns.py,sha256=UBol4bfwZ1nhcjv2gE1JhUMzRFeqtiCDo2T9CUGYb64,1943
743
750
  omlish/sql/api/dbapi.py,sha256=bDVqmljmLMdurMhIy3vx-dJvK1KiZ7XBhZ2Zx6W9aBs,2627
744
751
  omlish/sql/api/errors.py,sha256=YtC2gz5DqRTT3uCJniUOufVH1GEnFIc5ElkYLK3BHwM,230
745
- omlish/sql/api/funcs.py,sha256=kOMMzODkJHyKVmGKFS-6GIgil5I6ha1qjqA3IecgCvI,819
752
+ omlish/sql/api/funcs.py,sha256=Raa8kL65l1JprMsJupFw-8EPO6MxxDhm0OPSwecMLOI,2045
746
753
  omlish/sql/api/queries.py,sha256=OVsVqNyXXJQVDPfV3GFE2gwnHyGEenS65rTQRTNGx1Y,735
747
754
  omlish/sql/api/resources.py,sha256=DTVQmKjhaLi27jHWYkF20VhwGvIazZWxyKzF0Wn9-dc,2228
748
755
  omlish/sql/api/rows.py,sha256=Jo3AA_6Wt7tlwLO6-rp0arzYFqZXSxPudGPkW2xCYgQ,1346
@@ -754,19 +761,19 @@ omlish/sql/parsing/_antlr/MinisqlListener.py,sha256=2py_bfDQeEtJaJh9rtpKghbSrQlE
754
761
  omlish/sql/parsing/_antlr/MinisqlParser.py,sha256=y9SFjXdQlWYJa2PbPm30d5SfcYM_8M8ts46IHhENbNc,132457
755
762
  omlish/sql/parsing/_antlr/MinisqlVisitor.py,sha256=NCPorucLLOZ-Q99BtNbDOAfHytQl8wyroR8pI1uVovg,10030
756
763
  omlish/sql/parsing/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
757
- omlish/sql/queries/__init__.py,sha256=LpBnJOGoT5Dw2C043yo1XXIg0C_eHda-u6DR2ZAKT7c,1530
758
- omlish/sql/queries/base.py,sha256=pQ6p8dSsHwsWa-lmK2h8RY2UJ1mwJRhByOgrCIW3dBs,3229
764
+ omlish/sql/queries/__init__.py,sha256=m4sjtdWN7_9f70rc3vf7CuHgKJvf1QBcfGW_GDHb3hM,1565
765
+ omlish/sql/queries/base.py,sha256=nsavenCsZgzpITSI1zGEAi95K3cRDfAxRgNJKJmYul0,3502
759
766
  omlish/sql/queries/binary.py,sha256=dcEzeEn104AMPuQ7QrJU2O-YCN3SUdxB5S4jaWKOUqY,2253
760
767
  omlish/sql/queries/exprs.py,sha256=dG9L218QtJM1HtDYIMWqHimK03N6AL1WONk3FvVRcXY,1480
761
- omlish/sql/queries/idents.py,sha256=w2RxO6SR3K-u30S259OtnAZaPv7YA70PzY9R7RtuCQ8,891
768
+ omlish/sql/queries/idents.py,sha256=T9aFK8sia09ibkKdAWOUvCVeLqI9JLwXjUDPBAvDf6w,1153
762
769
  omlish/sql/queries/inserts.py,sha256=pSQXDSR1oDUmxjeIYuSbxpAZXvYQ-EJF6a62ON5Un-k,1299
763
770
  omlish/sql/queries/marshal.py,sha256=yVfN5VgYMYDaYTE6FZ8Sea7GrRobn40Hc8kogrfKmjE,3016
764
771
  omlish/sql/queries/multi.py,sha256=7x6x-4jnPzxA6ZasBjnjFuhHFpWt5rGCua3UvuTMIJ0,837
765
- omlish/sql/queries/names.py,sha256=4sDvgRobMEt_6mDeuYVbCqHzLCOwpXUdEyyB4-QjxKo,1996
772
+ omlish/sql/queries/names.py,sha256=ko5ADruhhma9xfm4T7-UEd2uXRgGchfUeiz-xgiZlFE,2207
766
773
  omlish/sql/queries/ops.py,sha256=pDZ_2Jo_Fa8DDbtYkc6-9eehkWsZPI-jh-KFlubcY6Y,134
767
774
  omlish/sql/queries/params.py,sha256=FXgZO6F_fmRQb9CVo4PkRoypm_fSB_AB_JoM3PxRkKM,1206
768
- omlish/sql/queries/relations.py,sha256=7YrEC9IjoVpRGLAFKRSRsHHnTmx-g7hBNXsOgP2HOuI,2998
769
- omlish/sql/queries/rendering.py,sha256=iEQGVP1nOhaZy9FYNwKkOUgqFH0pxfvsCsJpHX8E9Vw,7662
775
+ omlish/sql/queries/relations.py,sha256=_uOFcv_bfS0jfAexagxNMqMftmDWuWWWeRMzEQ3g_Oc,2479
776
+ omlish/sql/queries/rendering.py,sha256=Js0ad4gAUOP9ZmkXQmjYWItwg62nDols5lEz50F1h-c,7516
770
777
  omlish/sql/queries/selects.py,sha256=5CD4qmlv5hysQKmoZuF1bbikA-VcC9opN94Ea1QE3mU,1577
771
778
  omlish/sql/queries/std.py,sha256=7kF76kq_b6Qaki-lYiBlZiZmtpWYqRqAcLU8x-bBZn0,648
772
779
  omlish/sql/queries/stmts.py,sha256=pBqwD7dRlqMu6uh6vR3xaWOEgbZCcFWbOQ9ryYd17T4,441
@@ -845,9 +852,9 @@ omlish/typedvalues/holder.py,sha256=ZTnHiw-K38ciOBLEdwgrltr7Xp8jjEs_0Lp69DH-G-o,
845
852
  omlish/typedvalues/marshal.py,sha256=hWHRLcrGav7lvXJDtb9bNI0ickl4SKPQ6F4BbTpqw3A,4219
846
853
  omlish/typedvalues/reflect.py,sha256=Ih1YgU-srUjsvBn_P7C66f73_VCvcwqE3ffeBnZBgt4,674
847
854
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
848
- omlish-0.0.0.dev304.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
849
- omlish-0.0.0.dev304.dist-info/METADATA,sha256=pBvxWE8MwSuga9H9NPi6L6YuxZ-EuSu4jYXGAn36N0Q,4416
850
- omlish-0.0.0.dev304.dist-info/WHEEL,sha256=wXxTzcEDnjrTwFYjLPcsW_7_XihufBwmpiBeiXNBGEA,91
851
- omlish-0.0.0.dev304.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
852
- omlish-0.0.0.dev304.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
853
- omlish-0.0.0.dev304.dist-info/RECORD,,
855
+ omlish-0.0.0.dev306.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
856
+ omlish-0.0.0.dev306.dist-info/METADATA,sha256=GvMQ6j9pDWhBIlo-FffGTPzRwn6QSfgLdBRQ62RIshY,4416
857
+ omlish-0.0.0.dev306.dist-info/WHEEL,sha256=wXxTzcEDnjrTwFYjLPcsW_7_XihufBwmpiBeiXNBGEA,91
858
+ omlish-0.0.0.dev306.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
859
+ omlish-0.0.0.dev306.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
860
+ omlish-0.0.0.dev306.dist-info/RECORD,,