jaclang 0.7.0__py3-none-any.whl → 0.7.2__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.
Potentially problematic release.
This version of jaclang might be problematic. Click here for more details.
- jaclang/compiler/absyntree.py +53 -50
- jaclang/compiler/compile.py +21 -0
- jaclang/compiler/passes/main/__init__.py +2 -2
- jaclang/compiler/passes/main/def_impl_match_pass.py +10 -8
- jaclang/compiler/passes/main/def_use_pass.py +14 -7
- jaclang/compiler/passes/main/fuse_typeinfo_pass.py +20 -1
- jaclang/compiler/passes/main/import_pass.py +60 -11
- jaclang/compiler/passes/main/pyast_gen_pass.py +65 -4
- jaclang/compiler/passes/main/pyast_load_pass.py +2 -1
- jaclang/compiler/passes/main/pyjac_ast_link_pass.py +6 -1
- jaclang/compiler/passes/main/pyout_pass.py +3 -1
- jaclang/compiler/passes/main/schedules.py +4 -3
- jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac +7 -0
- jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +4 -4
- jaclang/compiler/passes/main/tests/test_import_pass.py +21 -0
- jaclang/compiler/passes/main/tests/test_type_check_pass.py +1 -1
- jaclang/compiler/passes/tool/jac_formatter_pass.py +14 -2
- jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac +15 -0
- jaclang/compiler/passes/tool/tests/test_jac_format_pass.py +7 -5
- jaclang/compiler/passes/tool/tests/test_unparse_validate.py +1 -2
- jaclang/compiler/symtable.py +21 -1
- jaclang/core/aott.py +107 -11
- jaclang/core/construct.py +171 -5
- jaclang/core/llms/anthropic.py +31 -2
- jaclang/core/llms/base.py +3 -3
- jaclang/core/llms/groq.py +4 -1
- jaclang/core/llms/huggingface.py +4 -1
- jaclang/core/llms/ollama.py +4 -1
- jaclang/core/llms/openai.py +6 -2
- jaclang/core/llms/togetherai.py +4 -1
- jaclang/langserve/engine.py +193 -121
- jaclang/langserve/server.py +35 -6
- jaclang/langserve/tests/fixtures/circle.jac +73 -0
- jaclang/langserve/tests/fixtures/circle_err.jac +73 -0
- jaclang/langserve/tests/fixtures/circle_pure.impl.jac +32 -0
- jaclang/langserve/tests/fixtures/circle_pure.jac +34 -0
- jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +32 -0
- jaclang/langserve/tests/fixtures/circle_pure_err.jac +34 -0
- jaclang/langserve/tests/test_server.py +156 -1
- jaclang/langserve/utils.py +127 -2
- jaclang/plugin/default.py +25 -83
- jaclang/plugin/feature.py +10 -12
- jaclang/plugin/tests/test_features.py +0 -33
- jaclang/settings.py +1 -0
- jaclang/tests/fixtures/byllmissue.jac +3 -0
- jaclang/tests/fixtures/hash_init_check.jac +17 -0
- jaclang/tests/fixtures/math_question.jpg +0 -0
- jaclang/tests/fixtures/nosigself.jac +19 -0
- jaclang/tests/fixtures/type_info.jac +1 -1
- jaclang/tests/fixtures/walker_override.jac +21 -0
- jaclang/tests/fixtures/with_llm_vision.jac +25 -0
- jaclang/tests/test_cli.py +1 -1
- jaclang/tests/test_language.py +61 -11
- jaclang/utils/helpers.py +3 -5
- jaclang/utils/test.py +1 -1
- jaclang/utils/treeprinter.py +19 -2
- {jaclang-0.7.0.dist-info → jaclang-0.7.2.dist-info}/METADATA +3 -2
- {jaclang-0.7.0.dist-info → jaclang-0.7.2.dist-info}/RECORD +60 -48
- jaclang/core/memory.py +0 -48
- jaclang/core/shelve_storage.py +0 -55
- {jaclang-0.7.0.dist-info → jaclang-0.7.2.dist-info}/WHEEL +0 -0
- {jaclang-0.7.0.dist-info → jaclang-0.7.2.dist-info}/entry_points.txt +0 -0
|
@@ -6,27 +6,27 @@ jaclang/cli/cli.py,sha256=d352zfA5_Da5InyQkv4V-qaxIcdIaVYJVeYt8npSB3I,13553
|
|
|
6
6
|
jaclang/cli/cmdreg.py,sha256=u0jAd6A8czt7tBgPBBKBhYAG4By1FrjEGaTU2XFKeYs,8372
|
|
7
7
|
jaclang/compiler/.gitignore,sha256=n1k2_xXTorp9PY8hhYM4psHircn-NMaFx95bSgDKopo,10
|
|
8
8
|
jaclang/compiler/__init__.py,sha256=JA3L1ran0PlZI5Pcj2CIrFgrZGRNFHHC5kRh1QYgYlY,3146
|
|
9
|
-
jaclang/compiler/absyntree.py,sha256=
|
|
9
|
+
jaclang/compiler/absyntree.py,sha256=wdjDFb7iAioSoFqNKO-iVp52j76fxV1n3eiiOJWp3Y8,127396
|
|
10
10
|
jaclang/compiler/codeloc.py,sha256=KMwf5OMQu3_uDjIdH7ta2piacUtXNPgUV1t8OuLjpzE,2828
|
|
11
|
-
jaclang/compiler/compile.py,sha256=
|
|
11
|
+
jaclang/compiler/compile.py,sha256=0d8p4i2LXg2RCu1XfWx_Jq_dx7pK2Zn2VIj-apvX_nI,3389
|
|
12
12
|
jaclang/compiler/constant.py,sha256=C8nOgWLAg-fRg8Qax_jRcYp6jGyWSSA1gwzk9Zdy7HE,6534
|
|
13
13
|
jaclang/compiler/jac.lark,sha256=TI8ctvs_cASPp-EDPrMiCeL80Ngvj_7WxGMUFtGN7vs,17040
|
|
14
14
|
jaclang/compiler/parser.py,sha256=Fy6qsTdh82YvXSgXoevIT5dIGjAn3hqbN45muJ5jFNY,138789
|
|
15
15
|
jaclang/compiler/passes/__init__.py,sha256=0Tw0d130ZjzA05jVcny9cf5NfLjlaM70PKqFnY4zqn4,69
|
|
16
16
|
jaclang/compiler/passes/ir_pass.py,sha256=gh1Zd8ouu79FoxerW1sMxktmfeC9gHyp4H_MoAviYP8,5504
|
|
17
|
-
jaclang/compiler/passes/main/__init__.py,sha256=
|
|
17
|
+
jaclang/compiler/passes/main/__init__.py,sha256=YSWVNkgnJKF32LpJwX__FwvYrpTSoxFqvnw410WrhkA,947
|
|
18
18
|
jaclang/compiler/passes/main/access_modifier_pass.py,sha256=1tQJ9bNlOVX3sgL0DK4jv643Pu5xl68oL8LNsaHf-MY,4864
|
|
19
|
-
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=
|
|
20
|
-
jaclang/compiler/passes/main/def_use_pass.py,sha256=
|
|
21
|
-
jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256=
|
|
22
|
-
jaclang/compiler/passes/main/import_pass.py,sha256=
|
|
23
|
-
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256
|
|
24
|
-
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=
|
|
19
|
+
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=P8XfyJcI7smbRvG8-DKcVMayzV6co7SNodYXMQ1vt3E,3959
|
|
20
|
+
jaclang/compiler/passes/main/def_use_pass.py,sha256=3JeiqNxegTQ8a2gk3Tlc4frUrSQ1ZZeiv2qwNA1OPp0,8887
|
|
21
|
+
jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256=KMup0S3ovzf9tcjJMKIXKgp6oXXznkxuAU1BllaXXA0,17267
|
|
22
|
+
jaclang/compiler/passes/main/import_pass.py,sha256=p9KeFywHmb2jD6IIr-KvxybqFt696AXGF5KSj37SzSU,10237
|
|
23
|
+
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=-zIgBh-9GpGVDENsPuWSFbj7R6X6DscX-tX_K2syWpI,138323
|
|
24
|
+
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=HknN8PGhlBv_H5muKi8zbPKuKgZHvgR_nNsMsIiz0y0,90697
|
|
25
25
|
jaclang/compiler/passes/main/pybc_gen_pass.py,sha256=CjA9AqyMO3Pv_b5Hh0YI6JmCqIru2ASonO6rhrkau-M,1336
|
|
26
|
-
jaclang/compiler/passes/main/pyjac_ast_link_pass.py,sha256=
|
|
27
|
-
jaclang/compiler/passes/main/pyout_pass.py,sha256=
|
|
26
|
+
jaclang/compiler/passes/main/pyjac_ast_link_pass.py,sha256=FOix4QEoolgTQeO2FCi99dDEtrXOnQ9MQ991rIEBw38,8045
|
|
27
|
+
jaclang/compiler/passes/main/pyout_pass.py,sha256=QWVB-AyVBha3OespP89LMuslRsdG2niZErwtnRPiURM,3191
|
|
28
28
|
jaclang/compiler/passes/main/registry_pass.py,sha256=Lp_EqlflXkSgQuJe_EVBtzC16YAJx70bDO6X0nJIX5U,4579
|
|
29
|
-
jaclang/compiler/passes/main/schedules.py,sha256=
|
|
29
|
+
jaclang/compiler/passes/main/schedules.py,sha256=cu3-AIckvbKGe3C-DbtDwwAdvnX25CdDP6j9QLps9Kg,1298
|
|
30
30
|
jaclang/compiler/passes/main/sub_node_tab_pass.py,sha256=fGgK0CBWsuD6BS4BsLwXPl1b5UC2N2YEOGa6jNMu8N8,1332
|
|
31
31
|
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=1bUU-p0zCoLoF7_HgLr2FKxUuc_4y2O7-5FSJD8mfWc,42020
|
|
32
32
|
jaclang/compiler/passes/main/tests/__init__.py,sha256=UBAATLUEH3yuBN4LYKnXXV79kokRc4XB-rX12qfu0ds,28
|
|
@@ -47,28 +47,30 @@ jaclang/compiler/passes/main/tests/fixtures/game1.jac,sha256=oiTadkrYJRUo6ZkHUi7
|
|
|
47
47
|
jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac,sha256=MIYBOmcG4NnxsJcR4f-bposvl5ILfshU0tKJ7qMjjzU,112
|
|
48
48
|
jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac,sha256=MIYBOmcG4NnxsJcR4f-bposvl5ILfshU0tKJ7qMjjzU,112
|
|
49
49
|
jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac,sha256=MTVCw95_OwssjB7MtEPTYoHSHcceZAhFLokW8Zaruzg,135
|
|
50
|
+
jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac,sha256=WX54UE-AUAfnjva0y9NkSl8-0aJAE1HqO0gw4rtCqhs,71
|
|
50
51
|
jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac,sha256=BxgmNUdz76gKLi6PXnLZE9rartodMgch5ydpGrd25Ec,87
|
|
51
52
|
jaclang/compiler/passes/main/tests/fixtures/registry.jac,sha256=1G6amtU1zIFCgq09v7xTp9zZ5sw5IbXHfYVlOo-drPg,993
|
|
52
53
|
jaclang/compiler/passes/main/tests/fixtures/type_info.jac,sha256=64Im2L-R3YF8DEuTt29QE6mJI5PnFe3PiwcDLKa8gOE,661
|
|
53
|
-
jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256
|
|
54
|
+
jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256=-qb9-XV6XbPCbL3JoUQsbS86w-WjkAKCnAYuDFORoIE,1378
|
|
54
55
|
jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=dmyZgXugOCN-_YY7dxkNHgt8vqey8qzNJf8sWyLLZ5w,1013
|
|
55
|
-
jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=
|
|
56
|
+
jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=qHz3IHJmFmTKpP_stU-Nhs9-1spR_04KddUSWdD5bl4,2073
|
|
56
57
|
jaclang/compiler/passes/main/tests/test_pyast_build_pass.py,sha256=LIT4TP-nhtftRtY5rNySRQlim-dWMSlkfUvkhZTk4pc,1383
|
|
57
58
|
jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py,sha256=fNL_FS26AQGlRCvwWfl-Qyt7iW2_A99GIHOAnnkpw9A,4731
|
|
58
59
|
jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py,sha256=If8PE4exN5g9o1NRElNC0XdfIwJAp7M7f69rzmYRYUQ,655
|
|
59
60
|
jaclang/compiler/passes/main/tests/test_registry_pass.py,sha256=Eed94qPmO38GFVV4DARx6G0xaawAoncWfgSHja1wPeQ,1162
|
|
60
61
|
jaclang/compiler/passes/main/tests/test_sub_node_pass.py,sha256=I8m2SM2Z-OJkRG3CfpzhZkxh4lrKNtFmcu6UuYzZpY0,877
|
|
61
62
|
jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py,sha256=85mUM6mYYLCrQ9AivBIbreG7CgdsJH2zrNOqdcpnwBo,730
|
|
62
|
-
jaclang/compiler/passes/main/tests/test_type_check_pass.py,sha256=
|
|
63
|
+
jaclang/compiler/passes/main/tests/test_type_check_pass.py,sha256=v2_KmcyX1_fOpReRKM0mUnlFXKVPRvFCMR3Mw9ftytI,2265
|
|
63
64
|
jaclang/compiler/passes/main/tests/test_typeinfo_pass.py,sha256=ehC0_giLg7NwB7fR10nW5Te8mZ76qmUFxkK1bEjtmrw,129
|
|
64
65
|
jaclang/compiler/passes/main/type_check_pass.py,sha256=-f41Ukr3B1w4rkQdZ2xJy6nozymgnVKjJ8E1fn7qJmI,3339
|
|
65
66
|
jaclang/compiler/passes/tool/__init__.py,sha256=xekCOXysHIcthWm8NRmQoA1Ah1XV8vFbkfeHphJtUdc,223
|
|
66
67
|
jaclang/compiler/passes/tool/fuse_comments_pass.py,sha256=N9a84qArNuTXX1iaXsBzqcufx6A3zYq2p-1ieH6FmHc,3133
|
|
67
|
-
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=
|
|
68
|
+
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=86dW_09RRWApxOKZXucZtIuYDHOQUISpmz2biJ2c-gs,86606
|
|
68
69
|
jaclang/compiler/passes/tool/schedules.py,sha256=kmbsCazAMizGAdQuZpFky5BPlYlMXqNw7wOUzdi_wBo,432
|
|
69
70
|
jaclang/compiler/passes/tool/tests/__init__.py,sha256=AeOaZjA1rf6VAr0JqIit6jlcmOzW7pxGr4U1fOwgK_Y,24
|
|
70
71
|
jaclang/compiler/passes/tool/tests/fixtures/corelib.jac,sha256=GA5_CDQQo9awG6H8wed8tp06KoWtQ8nR70LVbBwCFIY,12416
|
|
71
72
|
jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac,sha256=GA5_CDQQo9awG6H8wed8tp06KoWtQ8nR70LVbBwCFIY,12416
|
|
73
|
+
jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac,sha256=hXD5bidK3sCGlJwTxy5Tka568hVxzqY6KL9y_z19CQo,217
|
|
72
74
|
jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac,sha256=VIXnIeimrkxF1T0pzE82eA8q9uUao7UXC_tkypn6l08,1783
|
|
73
75
|
jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac,sha256=euhNL6oYlRnt0uLDar8fz7bvoiqf55b4Kq-gGBrb7cw,684
|
|
74
76
|
jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac,sha256=J3FfEzINUsJx9ZFfJ2TRclOoe11vYFvcNSjSG4o724I,919
|
|
@@ -97,12 +99,12 @@ jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inli
|
|
|
97
99
|
jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac,sha256=6jwYKXxJ1B4VfYDFlQhStN3_QX7dDXzC2gI6U9-KhZM,806
|
|
98
100
|
jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac,sha256=6jwYKXxJ1B4VfYDFlQhStN3_QX7dDXzC2gI6U9-KhZM,806
|
|
99
101
|
jaclang/compiler/passes/tool/tests/test_fuse_comments_pass.py,sha256=ZeWHsm7VIyyS8KKpoB2SdlHM4jF22fMfSrfTfxt2MQw,398
|
|
100
|
-
jaclang/compiler/passes/tool/tests/test_jac_format_pass.py,sha256=
|
|
101
|
-
jaclang/compiler/passes/tool/tests/test_unparse_validate.py,sha256=
|
|
102
|
+
jaclang/compiler/passes/tool/tests/test_jac_format_pass.py,sha256=AKGBEz02bS9REJuryZlPvY2avE_XWqKV8sRrnh5hu2g,6101
|
|
103
|
+
jaclang/compiler/passes/tool/tests/test_unparse_validate.py,sha256=sIBDl35Cns6vv200GsKyLBbIggKKV2tDy4gq_J8zf6E,2768
|
|
102
104
|
jaclang/compiler/passes/transform.py,sha256=jh2pMGFs6J9ZbQ2E-3r21khDm53yKXbNq5GstLMkBpg,2374
|
|
103
105
|
jaclang/compiler/passes/utils/__init__.py,sha256=UsI5rUopTUiStAzup4kbPwIwrnC5ofCrqWBCBbM2-k4,35
|
|
104
106
|
jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=DbTYKwQ2K-3JXS_RybLyvqDz_381Li8JfFKNeEQhbRY,26324
|
|
105
|
-
jaclang/compiler/symtable.py,sha256=
|
|
107
|
+
jaclang/compiler/symtable.py,sha256=_4gtwQkBReYVEiTBFXwv6BaDd5H-bL9LpU1zgt2ymWs,6648
|
|
106
108
|
jaclang/compiler/tests/__init__.py,sha256=qiXa5UNRBanGOcplFKTT9a_9GEyiv7goq1OzuCjDCFE,27
|
|
107
109
|
jaclang/compiler/tests/fixtures/__init__.py,sha256=udQ0T6rajpW_nMiYKJNckqP8izZ-pH3P4PNTJEln2NU,36
|
|
108
110
|
jaclang/compiler/tests/fixtures/activity.py,sha256=fSvxYDKufsPeQIrbuh031zHw_hdbRv5iK9mS7dD8E54,263
|
|
@@ -115,27 +117,31 @@ jaclang/compiler/tests/fixtures/stuff.jac,sha256=qOq6WOwhlprMmJpiqQudgqnr4qTd9uh
|
|
|
115
117
|
jaclang/compiler/tests/test_importer.py,sha256=JNmte5FsHhnng9jzw7N5BenflAFCasuhezN1sytDVyg,1739
|
|
116
118
|
jaclang/compiler/tests/test_parser.py,sha256=C81mUo8EGwypPTTLRVS9BglP0Dyye9xaPSQtw7cwnnI,4814
|
|
117
119
|
jaclang/core/__init__.py,sha256=jDDYBCV82qPhmcDVk3NIvHbhng0ebSrXD3xrojg0-eo,34
|
|
118
|
-
jaclang/core/aott.py,sha256=
|
|
119
|
-
jaclang/core/construct.py,sha256=
|
|
120
|
+
jaclang/core/aott.py,sha256=b9fTTu5fUo756s_PEenvV1uagE0Wm4tu4vJc-NPu5IQ,11190
|
|
121
|
+
jaclang/core/construct.py,sha256=lA-z-49FQRyhHLg7bPfCuGchVxXdWDPosX7H_ddbm38,23601
|
|
120
122
|
jaclang/core/importer.py,sha256=JW_bxxEASklIBjezBiDaor95X6JLRUFspnN-zImtY8E,6100
|
|
121
123
|
jaclang/core/llms/__init__.py,sha256=hxuxduH6ahhkXgJ9eUkhfn8LCS1KTz1ESuYgtspu_c0,371
|
|
122
|
-
jaclang/core/llms/anthropic.py,sha256=
|
|
123
|
-
jaclang/core/llms/base.py,sha256=
|
|
124
|
-
jaclang/core/llms/groq.py,sha256=
|
|
125
|
-
jaclang/core/llms/huggingface.py,sha256=
|
|
126
|
-
jaclang/core/llms/ollama.py,sha256=
|
|
127
|
-
jaclang/core/llms/openai.py,sha256=
|
|
128
|
-
jaclang/core/llms/togetherai.py,sha256=
|
|
124
|
+
jaclang/core/llms/anthropic.py,sha256=numnoRVzi6ZjOMEP7UvMDsM_NnNfpqv4jeRfpSb79c4,3233
|
|
125
|
+
jaclang/core/llms/base.py,sha256=_qOv8G5jH2dc4OKUBDKDLx9M6Mv5kFUu5rj5dI625vU,6076
|
|
126
|
+
jaclang/core/llms/groq.py,sha256=VjBltafRkeNhpoGQzB79EsA4NWXnJVAArapKaqTWOq0,2303
|
|
127
|
+
jaclang/core/llms/huggingface.py,sha256=IA0Q1dBP-M4saD4uHcrJF7Q6YgPp_GGd9p8-hpG-XKQ,2815
|
|
128
|
+
jaclang/core/llms/ollama.py,sha256=eJ_Jy7MNy33gR3zuSwcuGaWUedvY_Qy5A08H7kqLvFE,2850
|
|
129
|
+
jaclang/core/llms/openai.py,sha256=01xY6l23_y4lX0t8ZEHiMwEBL7Govyf7fPQ2k4zdAKI,2219
|
|
130
|
+
jaclang/core/llms/togetherai.py,sha256=45lZHKtG4B7tyjI1s_7Pu39VXUaC5n9EAMajfGxHZb8,2164
|
|
129
131
|
jaclang/core/llms/utils.py,sha256=mTpROnh4qS8fE26TkcotSt-mAqWoSeEeRBOu0SgoPmA,219
|
|
130
|
-
jaclang/core/memory.py,sha256=QDOtAlxARQ_pg6NkmZ_QYKWhnIHzd2Mm1jzZUck7pRY,1415
|
|
131
132
|
jaclang/core/registry.py,sha256=4uuXahPN4SMVEWwJ6Gjm5LM14rePMGoyjQtSbDQmQZs,4178
|
|
132
|
-
jaclang/core/shelve_storage.py,sha256=UsZRHM8KPGUlZTX_bfcxzabInNrTaQVNMatQifycMYg,1692
|
|
133
133
|
jaclang/core/utils.py,sha256=5e4DyjtSweFxKeIuEyeYGV2MsuTtfnncfIwRdoyFdys,7736
|
|
134
134
|
jaclang/langserve/__init__.py,sha256=3qbnivBBcLZCfmDYRMIeKkG08Lx7XQsJJg-qG8TU8yc,51
|
|
135
|
-
jaclang/langserve/engine.py,sha256=
|
|
136
|
-
jaclang/langserve/server.py,sha256=
|
|
135
|
+
jaclang/langserve/engine.py,sha256=w4oHxUb-qlJlOGI3hzAjPIjWSIC7uqVxbNao9yL8Ugw,13198
|
|
136
|
+
jaclang/langserve/server.py,sha256=s91jycYI4lHqFBOel3VV4ODmiO3abvX3UjyfM0hvWBI,5132
|
|
137
137
|
jaclang/langserve/tests/__init__.py,sha256=iDM47k6c3vahaWhwxpbkdEOshbmX-Zl5x669VONjS2I,23
|
|
138
138
|
jaclang/langserve/tests/defaults.py,sha256=8UWHuCHY-WatPcWFhyX9-4KLuJgODTlLNj0wNnKomIM,7608
|
|
139
|
+
jaclang/langserve/tests/fixtures/circle.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
|
|
140
|
+
jaclang/langserve/tests/fixtures/circle_err.jac,sha256=6Cn3PtP3ujjC8DjiOQWFbdb5C6wW12wAv9BwLwvX7b4,1732
|
|
141
|
+
jaclang/langserve/tests/fixtures/circle_pure.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
|
|
142
|
+
jaclang/langserve/tests/fixtures/circle_pure.jac,sha256=62j4v1LbWIfGfz_-tR7GDWNmEFqhdXhkDRC68Jc5fUs,624
|
|
143
|
+
jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
|
|
144
|
+
jaclang/langserve/tests/fixtures/circle_pure_err.jac,sha256=jQ5QX0G5khGACoY82CM-6LcOX57w4e29tHVicE2eMgw,608
|
|
139
145
|
jaclang/langserve/tests/fixtures/hello.jac,sha256=iRMKtYVCw1zLvjOQbj3q__3Manj1Di1YeDTNMEvYtBc,36
|
|
140
146
|
jaclang/langserve/tests/pylsp_jsonrpc/__init__.py,sha256=bDWxRjmELPCVGy243_0kNrG7PttyZsv_eZ9JTKQrU1E,105
|
|
141
147
|
jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py,sha256=zEZWu6C2_n4lPoA8H8OO67746P93VhbYaXZMdtrD8Z0,1038
|
|
@@ -143,21 +149,21 @@ jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py,sha256=TxDpWUd-8AGJwdRQN_iiCXY
|
|
|
143
149
|
jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py,sha256=NGHeFQawZcjoLUcgDmY3bF7BqZR83g7TmdKyzCmRaKM,2836
|
|
144
150
|
jaclang/langserve/tests/pylsp_jsonrpc/streams.py,sha256=R80_FvICIkrbdGmNtlemWYaxrr7-XldPgLaASnyv0W8,3332
|
|
145
151
|
jaclang/langserve/tests/session.py,sha256=3pIRoQjZnsnUWIYnO2SpK7c1PAiHMCFrrStNK2tawRM,9572
|
|
146
|
-
jaclang/langserve/tests/test_server.py,sha256=
|
|
147
|
-
jaclang/langserve/utils.py,sha256=
|
|
152
|
+
jaclang/langserve/tests/test_server.py,sha256=L1EKGZTL1dpHha9TkzcXyIiC1o448UDo0TMbiZ73wtc,8184
|
|
153
|
+
jaclang/langserve/utils.py,sha256=aOH8W58FZ9HOfJD1Q3vbBMaaN9SWicohVybuUoiyLbE,5564
|
|
148
154
|
jaclang/plugin/__init__.py,sha256=5t2krHKt_44PrCTGojzxEimxpNHYVQcn89jAiCSXE_k,165
|
|
149
155
|
jaclang/plugin/builtin.py,sha256=PP2Vs4p_oDbGYEx0iBFDYH49I4uSRnNVWgx2aOzorVA,1187
|
|
150
|
-
jaclang/plugin/default.py,sha256=
|
|
151
|
-
jaclang/plugin/feature.py,sha256=
|
|
156
|
+
jaclang/plugin/default.py,sha256=j1CSAgbHNhbysiKXcsatgo79JelJ97BICaTRonl5piY,25455
|
|
157
|
+
jaclang/plugin/feature.py,sha256=ZOVLhVOXFmfJc3Ux3WgI2IALPZG1jgvsbsxojUbb8jg,9347
|
|
152
158
|
jaclang/plugin/spec.py,sha256=mJRUMGaIhlHbZIvO2J-A1q3eNhnIWJ0iBCPmxhHiHx4,9043
|
|
153
159
|
jaclang/plugin/tests/__init__.py,sha256=rn_tNG8jCHWwBc_rx4yFkGc4N1GISb7aPuTFVRTvrTk,38
|
|
154
160
|
jaclang/plugin/tests/fixtures/impl_match.jac,sha256=WEhcA1GlovusITEFO2bOjYYqiiULyYGKhM17uK2GqnI,91
|
|
155
161
|
jaclang/plugin/tests/fixtures/impl_match_impl.jac,sha256=k1385r7Hdlq6mUKxEHa3VOKJUIWH08hYg2kErhbYwFM,31
|
|
156
162
|
jaclang/plugin/tests/fixtures/simple_node_connection.jac,sha256=KdbpACWtnj92TqQqEunwoI4VKhlnhcJCKMkbgh0Xqxg,1067
|
|
157
163
|
jaclang/plugin/tests/fixtures/simple_persistent.jac,sha256=o0TZTOJEZjFW8A2IGY8ICBZEBZzHhqha0xQFFBK_DSI,624
|
|
158
|
-
jaclang/plugin/tests/test_features.py,sha256=
|
|
164
|
+
jaclang/plugin/tests/test_features.py,sha256=p0N5inZn92Cj0eqslmDR0-q6pVG8hkcQfA6CuQcfP3Y,2352
|
|
159
165
|
jaclang/plugin/tests/test_jaseci.py,sha256=XcVL-FOZMTsjJEZqCa-rcYyEPl1dxdFFu9vhvm8kUaI,7956
|
|
160
|
-
jaclang/settings.py,sha256=
|
|
166
|
+
jaclang/settings.py,sha256=o_AXXgX7PNcEwL33v7NehVCk1ndmif-AWo91nzBLot8,3322
|
|
161
167
|
jaclang/tests/fixtures/abc.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
|
|
162
168
|
jaclang/tests/fixtures/access_checker.jac,sha256=6Inm14cZsyMfezFRs2zfnQEZSE_JRxVvytcZbox7BNw,375
|
|
163
169
|
jaclang/tests/fixtures/access_modifier.jac,sha256=bxiPlbqm4zPXdMIeTR0-LhjO6c-LS7fW_fGuIA7oKWI,945
|
|
@@ -166,6 +172,7 @@ jaclang/tests/fixtures/arithmetic_bug.jac,sha256=iiO3ZwTi7R1U6-flV4tGbxDHXsw8Gna
|
|
|
166
172
|
jaclang/tests/fixtures/assign_compr.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
|
|
167
173
|
jaclang/tests/fixtures/assign_compr_dup.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
|
|
168
174
|
jaclang/tests/fixtures/builtin_dotgen.jac,sha256=HsAHVyN7HxhbICqe4GXV51cJlMe68WMleMmx9KeR8fU,1759
|
|
175
|
+
jaclang/tests/fixtures/byllmissue.jac,sha256=S4im8d6cnPYIxthzKotNkfwUZ_FMr4TpEt_jPPFiwPI,64
|
|
169
176
|
jaclang/tests/fixtures/chandra_bugs.jac,sha256=vcBjZ4P7S1PPUs-_0Stt779pus95RJTMs1x_-m0w7yY,282
|
|
170
177
|
jaclang/tests/fixtures/chandra_bugs2.jac,sha256=P9C7lVotfh-OoyAl1LDUqMPUaUmjrNrVO3nrBcxB_WQ,540
|
|
171
178
|
jaclang/tests/fixtures/circle_pysolo.py,sha256=TAJTCOjrUl80oDke5wl6ZyBJQsy37Hu6gYdqcO-tQlY,2477
|
|
@@ -191,6 +198,7 @@ jaclang/tests/fixtures/game1.jac,sha256=oiTadkrYJRUo6ZkHUi7I54J_0GoTTtsNLhhofTlz
|
|
|
191
198
|
jaclang/tests/fixtures/gendot_bubble_sort.jac,sha256=6yZ-mtY5Bp46RYD4P9b09Sc2Wnnec_mmLXCX4nW_AlY,1540
|
|
192
199
|
jaclang/tests/fixtures/guess_game.jac,sha256=S2sWoF22SY2PbadKQX45QJFtw9lvzwFvrwbG0kbutPE,856
|
|
193
200
|
jaclang/tests/fixtures/has_goodness.jac,sha256=CmhMXiRLCkdrqpGbSm2e7mBf0hCBgCk5s9GQ6gbCjdA,313
|
|
201
|
+
jaclang/tests/fixtures/hash_init_check.jac,sha256=Yrh3Rmi4SHIbY_c8EjHzcnwXVXas9ufbCAnkdRa3EyQ,205
|
|
194
202
|
jaclang/tests/fixtures/hashcheck.jac,sha256=ksWSP6jyQ7MedV-Oh7HoXHn1rTdQwv2O1H22Pyq3d3c,160
|
|
195
203
|
jaclang/tests/fixtures/hashcheck_dup.jac,sha256=ksWSP6jyQ7MedV-Oh7HoXHn1rTdQwv2O1H22Pyq3d3c,160
|
|
196
204
|
jaclang/tests/fixtures/hello.jac,sha256=6YezKvx2CNjE0l3Ea6P9ZsTrj4XyqvXDQO9S1EFNbIE,63
|
|
@@ -203,6 +211,7 @@ jaclang/tests/fixtures/inherit_check.jac,sha256=FQlbCavN4ryt3mmD6ei1MIt1jMgZ8_Nc
|
|
|
203
211
|
jaclang/tests/fixtures/jacsamp.jac,sha256=VUHUn-RvHzTA4v0KNIFuciocqAHsgQp9tfsEvh5WHlE,96
|
|
204
212
|
jaclang/tests/fixtures/jp_importer.jac,sha256=Mfn62rwYk8CANIkCoMf5UFt4SKl042jaU0CHnj-Soiw,414
|
|
205
213
|
jaclang/tests/fixtures/lambda.jac,sha256=nU4HbPrBdYe6NegJq4LueequaiLCe3KWyTAbL__ibG0,113
|
|
214
|
+
jaclang/tests/fixtures/math_question.jpg,sha256=YYLzFuCZRmhEcyTNKy-HzOaka4ZSswHExA3a6UMD18E,152545
|
|
206
215
|
jaclang/tests/fixtures/maxfail_run_test.jac,sha256=CS_rDshUyDGEMbYph0KiPoyxIq_kDdPgcVNvuIMaYEg,162
|
|
207
216
|
jaclang/tests/fixtures/mtest.impl.jac,sha256=wYsT4feH2JgxxgN217dgbDWooSmD8HBSlzUwJ4jAa8g,76
|
|
208
217
|
jaclang/tests/fixtures/mtest.jac,sha256=i7aQpJuUw4YMXgJOvGn_lRx-TruJdqBClioPKGUd4mw,67
|
|
@@ -211,6 +220,7 @@ jaclang/tests/fixtures/needs_import_1.jac,sha256=m8marIqHPo-waC5PIYeLq38N2QzRUJB
|
|
|
211
220
|
jaclang/tests/fixtures/needs_import_2.jac,sha256=RC4aok5TCbxInmTp8OmArCt4afawPP9ZdhAzkW5WJCc,104
|
|
212
221
|
jaclang/tests/fixtures/needs_import_3.jac,sha256=9ASkW82KUKDgydt8dR48XucG66n6xeLEGLwAgRgfOR8,104
|
|
213
222
|
jaclang/tests/fixtures/needs_import_dup.jac,sha256=hJab0QWdoTLuNaNhtY6zjzyGGUouRyT9uQknhP-lXXQ,315
|
|
223
|
+
jaclang/tests/fixtures/nosigself.jac,sha256=jCjNizUVOrgJwXJ_-TdOzKsq8hlhU6xuX0Mz27W92lQ,187
|
|
214
224
|
jaclang/tests/fixtures/package_import.jac,sha256=VgQwcoiR46OSLkY65h9MxNpaeFCassXRJpwmNwxrfXk,127
|
|
215
225
|
jaclang/tests/fixtures/pyfunc.py,sha256=Os1xnL4I4ddNkpv4Vs5aOxu95dEM0JuNIoiECyCCjJ0,163
|
|
216
226
|
jaclang/tests/fixtures/pyfunc_1.py,sha256=-rpqDeN48HHmq8XKdbmBAsxXTJJl6yyz4V19PYU_mtg,5312
|
|
@@ -228,25 +238,27 @@ jaclang/tests/fixtures/sub_abil_sep_multilev.jac,sha256=wm7-RGdwfUGHjQo20jj2fTp0
|
|
|
228
238
|
jaclang/tests/fixtures/try_finally.jac,sha256=I4bjOZz0vZbY1rQZlPy-RCMYP2-LQwtsShlmKR1_UFE,574
|
|
229
239
|
jaclang/tests/fixtures/tupleunpack.jac,sha256=AP6rbofc0VmsTNxInY6WLGRKWVY6u8ut0uzQX_52QyI,64
|
|
230
240
|
jaclang/tests/fixtures/tuplytuples.jac,sha256=6qiXn5OV_qn4cqKwROjJ1VuBAh0nbUGpp-5vtH9n_Dg,344
|
|
231
|
-
jaclang/tests/fixtures/type_info.jac,sha256=
|
|
241
|
+
jaclang/tests/fixtures/type_info.jac,sha256=4Cw31ef5gny6IS0kLzgeSO-7ArEH1HgFFFip1BGQhZM,316
|
|
242
|
+
jaclang/tests/fixtures/walker_override.jac,sha256=Ok58ZAgxuV6aECNxYrjbbyAWSiqIbnly3N3O6cD563o,271
|
|
232
243
|
jaclang/tests/fixtures/with_context.jac,sha256=cDA_4YWe5UVmQRgcpktzkZ_zsswQpV_T2Otf_rFnPy8,466
|
|
233
244
|
jaclang/tests/fixtures/with_llm_function.jac,sha256=hcDBO2Ch5IScrV0VBzeYaNaL4GhmVwg_odOzfOb1pwk,804
|
|
234
245
|
jaclang/tests/fixtures/with_llm_lower.jac,sha256=S3a8luL38neLReoxNzs-nLeN36oys059MS8g7g_oqJg,1878
|
|
235
246
|
jaclang/tests/fixtures/with_llm_method.jac,sha256=l76E50hIygLwkiIpjf3iYGv97C3yZlUABE2D5GnqQ44,1420
|
|
236
247
|
jaclang/tests/fixtures/with_llm_type.jac,sha256=LKotFGtBl9mzo08SbTkzBWa3rGWt4AuzgianHFkAZvU,1778
|
|
237
|
-
jaclang/tests/
|
|
238
|
-
jaclang/tests/
|
|
248
|
+
jaclang/tests/fixtures/with_llm_vision.jac,sha256=xp2hteAzmu3ij9T3uI_FJiuvQtSuaivtJ_XWmqb0f1I,679
|
|
249
|
+
jaclang/tests/test_cli.py,sha256=eHnlkHg6_p52q_jvRhFr0LzblZj9cAtlNDbxm-EVixs,8703
|
|
250
|
+
jaclang/tests/test_language.py,sha256=B4XOXzpGfbE7uzp-jHoyAS7bH54CwAWFMFKjgx3WtB0,36433
|
|
239
251
|
jaclang/tests/test_man_code.py,sha256=Kq93zg3hEfiouvpWvmfCgR6lDT5RKDp28k5ZaWe1Xeg,4519
|
|
240
252
|
jaclang/tests/test_reference.py,sha256=b6mR0WTJ0-sKkvZtMGsGooxzkkmD4WfXj_hOY6ZnhYw,3341
|
|
241
253
|
jaclang/tests/test_settings.py,sha256=TIX5uiu8H9IpZN2__uFiclcdCpBpPpcAwtlEHyFC4kk,1999
|
|
242
254
|
jaclang/utils/__init__.py,sha256=86LQ_LDyWV-JFkYBpeVHpLaVxkqwFDP60XpWXOFZIQk,46
|
|
243
|
-
jaclang/utils/helpers.py,sha256=
|
|
255
|
+
jaclang/utils/helpers.py,sha256=v-jQ-SDzGLrrLXKxoL1PaCguJqcV-X1UlwjWSL3GNAI,6142
|
|
244
256
|
jaclang/utils/lang_tools.py,sha256=odv66Os8bJvw9JIUUkccGWvEPL98c-60veAiOiNyTy4,9956
|
|
245
257
|
jaclang/utils/log.py,sha256=G8Y_DnETgTh9xzvlW5gh9zqJ1ap4YY_MDTwIMu5Uc0Y,262
|
|
246
|
-
jaclang/utils/test.py,sha256=
|
|
258
|
+
jaclang/utils/test.py,sha256=5VK0hVo_IyfFiMFN_gz-dFx01yF3tPVZ56RKoAAZfaU,5374
|
|
247
259
|
jaclang/utils/tests/__init__.py,sha256=8uwVqMsc6cxBAM1DuHLuNuTnzLXqOqM-WRa4ixOMF6w,23
|
|
248
260
|
jaclang/utils/tests/test_lang_tools.py,sha256=hFQzkzdmJIhP99xqjR5z7bqkefMLmE6kwldXYrfK--E,4831
|
|
249
|
-
jaclang/utils/treeprinter.py,sha256=
|
|
261
|
+
jaclang/utils/treeprinter.py,sha256=b_4FEmRxher_bnxDtUkr9l6vz3ah1hZbNIR9qxNcl4E,12311
|
|
250
262
|
jaclang/vendor/__init__.py,sha256=tEcp2kl3hMvF2d6X6WlJSAGuAMYOVCKCstXuPMQSR4Q,265
|
|
251
263
|
jaclang/vendor/attr/__init__.py,sha256=WlXJN6ICB0Y_HZ0lmuTUgia0kuSdn2p67d4N6cYxNZM,3307
|
|
252
264
|
jaclang/vendor/attr/__init__.pyi,sha256=u08EujYHy_rSyebNn-I9Xv2S_cXmtA9xWGc0cBsyl18,16976
|
|
@@ -1469,7 +1481,7 @@ jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA,sha256=BeUQIa8cnYbrjW
|
|
|
1469
1481
|
jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD,sha256=XS4fBVrPI7kaNZ56Ggl2RGa76jySWLqTzcrUpZIQTVM,418
|
|
1470
1482
|
jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
1471
1483
|
jaclang/vendor/typing_extensions.py,sha256=gwekpyG9DVG3lxWKX4ni8u7nk3We5slG98mA9F3DJQw,134451
|
|
1472
|
-
jaclang-0.7.
|
|
1473
|
-
jaclang-0.7.
|
|
1474
|
-
jaclang-0.7.
|
|
1475
|
-
jaclang-0.7.
|
|
1484
|
+
jaclang-0.7.2.dist-info/METADATA,sha256=LaJrw5AL0hdWBPjppd_99-RysY3DkRgMj8l1r98FAQ0,4807
|
|
1485
|
+
jaclang-0.7.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
1486
|
+
jaclang-0.7.2.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
|
|
1487
|
+
jaclang-0.7.2.dist-info/RECORD,,
|
jaclang/core/memory.py
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"""Memory abstraction for jaseci plugin."""
|
|
2
|
-
|
|
3
|
-
from uuid import UUID
|
|
4
|
-
|
|
5
|
-
from jaclang.core.construct import Architype
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class Memory:
|
|
9
|
-
"""Memory module interface."""
|
|
10
|
-
|
|
11
|
-
mem: dict[UUID, Architype] = {}
|
|
12
|
-
save_obj_list: dict[UUID, Architype] = {}
|
|
13
|
-
|
|
14
|
-
def __init__(self) -> None:
|
|
15
|
-
"""init."""
|
|
16
|
-
pass
|
|
17
|
-
|
|
18
|
-
def get_obj(self, obj_id: UUID) -> Architype | None:
|
|
19
|
-
"""Get object from memory."""
|
|
20
|
-
return self.get_obj_from_store(obj_id)
|
|
21
|
-
|
|
22
|
-
def get_obj_from_store(self, obj_id: UUID) -> Architype | None:
|
|
23
|
-
"""Get object from the underlying store."""
|
|
24
|
-
ret = self.mem.get(obj_id)
|
|
25
|
-
return ret
|
|
26
|
-
|
|
27
|
-
def has_obj(self, obj_id: UUID) -> bool:
|
|
28
|
-
"""Check if the object exists."""
|
|
29
|
-
return self.has_obj_in_store(obj_id)
|
|
30
|
-
|
|
31
|
-
def has_obj_in_store(self, obj_id: UUID) -> bool:
|
|
32
|
-
"""Check if the object exists in the underlying store."""
|
|
33
|
-
return obj_id in self.mem
|
|
34
|
-
|
|
35
|
-
def save_obj(self, item: Architype, persistent: bool) -> None:
|
|
36
|
-
"""Save object."""
|
|
37
|
-
self.mem[item._jac_.id] = item
|
|
38
|
-
if persistent:
|
|
39
|
-
# TODO: check if it needs to be saved, i.e. dirty or not
|
|
40
|
-
self.save_obj_list[item._jac_.id] = item
|
|
41
|
-
|
|
42
|
-
def commit(self) -> None:
|
|
43
|
-
"""Commit changes to persistent storage, if applicable."""
|
|
44
|
-
pass
|
|
45
|
-
|
|
46
|
-
def close(self) -> None:
|
|
47
|
-
"""Close any connection, if applicable."""
|
|
48
|
-
self.mem.clear()
|
jaclang/core/shelve_storage.py
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"""Shelve storage for persistence storage of jaclang runtime object."""
|
|
2
|
-
|
|
3
|
-
import shelve
|
|
4
|
-
from uuid import UUID
|
|
5
|
-
|
|
6
|
-
from jaclang.core.construct import Architype
|
|
7
|
-
from jaclang.core.memory import Memory
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ShelveStorage(Memory):
|
|
11
|
-
"""Shelve storage for jaclang runtime object."""
|
|
12
|
-
|
|
13
|
-
storage: shelve.Shelf | None = None
|
|
14
|
-
|
|
15
|
-
def __init__(self, session: str = "") -> None:
|
|
16
|
-
"""Init shelve storage."""
|
|
17
|
-
super().__init__()
|
|
18
|
-
if session:
|
|
19
|
-
self.connect(session)
|
|
20
|
-
|
|
21
|
-
def get_obj_from_store(self, obj_id: UUID) -> Architype | None:
|
|
22
|
-
"""Get object from the underlying store."""
|
|
23
|
-
obj = super().get_obj_from_store(obj_id)
|
|
24
|
-
if obj is None and self.storage:
|
|
25
|
-
obj = self.storage.get(str(obj_id))
|
|
26
|
-
if obj is not None:
|
|
27
|
-
self.mem[obj_id] = obj
|
|
28
|
-
|
|
29
|
-
return obj
|
|
30
|
-
|
|
31
|
-
def has_obj_in_store(self, obj_id: UUID | str) -> bool:
|
|
32
|
-
"""Check if the object exists in the underlying store."""
|
|
33
|
-
return obj_id in self.mem or (
|
|
34
|
-
str(obj_id) in self.storage if self.storage else False
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
def commit(self) -> None:
|
|
38
|
-
"""Commit changes to persistent storage."""
|
|
39
|
-
if self.storage is not None:
|
|
40
|
-
for obj_id, obj in self.save_obj_list.items():
|
|
41
|
-
self.storage[str(obj_id)] = obj
|
|
42
|
-
self.save_obj_list.clear()
|
|
43
|
-
|
|
44
|
-
def connect(self, session: str) -> None:
|
|
45
|
-
"""Connect to storage."""
|
|
46
|
-
self.session = session
|
|
47
|
-
self.storage = shelve.open(session)
|
|
48
|
-
|
|
49
|
-
def close(self) -> None:
|
|
50
|
-
"""Close the storage."""
|
|
51
|
-
super().close()
|
|
52
|
-
self.commit()
|
|
53
|
-
if self.storage:
|
|
54
|
-
self.storage.close()
|
|
55
|
-
self.storage = None
|
|
File without changes
|
|
File without changes
|