jaseci 1.4.0.18__py3-none-any.whl → 1.4.0.20__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 jaseci might be problematic. Click here for more details.

Files changed (42) hide show
  1. jaseci/VERSION +1 -1
  2. jaseci/cli_tools/jsctl.py +41 -2
  3. jaseci/cli_tools/tests/test_jsctl.py +11 -0
  4. jaseci/extens/act_lib/internal.py +2 -1
  5. jaseci/extens/act_lib/std.py +7 -0
  6. jaseci/extens/act_lib/tests/test_std_lib.py +3 -1
  7. jaseci/extens/api/jsorc_api.py +41 -1
  8. jaseci/extens/api/walker_api.py +9 -0
  9. jaseci/jac/interpreter/architype_interp.py +63 -28
  10. jaseci/jac/interpreter/interp.py +54 -158
  11. jaseci/jac/interpreter/sentinel_interp.py +73 -5
  12. jaseci/jac/interpreter/walker_interp.py +27 -38
  13. jaseci/jac/ir/ast.py +9 -1
  14. jaseci/jac/jac.g4 +5 -4
  15. jaseci/jac/jac_parse/jacListener.py +8 -8
  16. jaseci/jac/jac_parse/jacParser.py +1167 -1154
  17. jaseci/jac/machine/jac_scope.py +23 -30
  18. jaseci/jac/machine/machine_state.py +76 -12
  19. jaseci/jsorc/jsorc.py +92 -79
  20. jaseci/jsorc/live_actions.py +29 -24
  21. jaseci/jsorc/redis.py +7 -5
  22. jaseci/prim/{action.py → ability.py} +44 -31
  23. jaseci/prim/architype.py +26 -8
  24. jaseci/prim/obj_mixins.py +5 -0
  25. jaseci/prim/sentinel.py +3 -1
  26. jaseci/prim/walker.py +7 -5
  27. jaseci/tests/jac_test_progs.py +9 -0
  28. jaseci/tests/test_jac.py +3 -3
  29. jaseci/tests/test_node.py +9 -12
  30. jaseci/tests/test_progs.py +16 -1
  31. jaseci/tests/test_stack.py +22 -0
  32. jaseci/utils/actions/actions_optimizer.py +23 -8
  33. jaseci/utils/gprof2dot.py +3786 -0
  34. jaseci/utils/json_handler.py +5 -1
  35. jaseci/utils/utils.py +52 -21
  36. {jaseci-1.4.0.18.dist-info → jaseci-1.4.0.20.dist-info}/METADATA +2 -2
  37. {jaseci-1.4.0.18.dist-info → jaseci-1.4.0.20.dist-info}/RECORD +41 -41
  38. jaseci/prim/item.py +0 -29
  39. {jaseci-1.4.0.18.dist-info → jaseci-1.4.0.20.dist-info}/LICENSE +0 -0
  40. {jaseci-1.4.0.18.dist-info → jaseci-1.4.0.20.dist-info}/WHEEL +0 -0
  41. {jaseci-1.4.0.18.dist-info → jaseci-1.4.0.20.dist-info}/entry_points.txt +0 -0
  42. {jaseci-1.4.0.18.dist-info → jaseci-1.4.0.20.dist-info}/top_level.txt +0 -0
@@ -60,7 +60,11 @@ def json_str_to_jsci_dict(input_str, parent_obj=None):
60
60
  except ValueError:
61
61
  logger.error(str(f"Invalid jsci_obj string {input_str} on {parent_obj.jid}"))
62
62
  obj_fields = {}
63
+ jsci_dict_normalize(obj_fields, parent_obj)
64
+ return obj_fields
65
+
66
+
67
+ def jsci_dict_normalize(obj_fields, parent_obj):
63
68
  for i in obj_fields.keys():
64
69
  if str(i).endswith("_ids") and isinstance(obj_fields[i], list):
65
70
  obj_fields[i] = IdList(parent_obj=parent_obj, in_list=obj_fields[i])
66
- return obj_fields
jaseci/utils/utils.py CHANGED
@@ -20,8 +20,13 @@ from time import time
20
20
  from pathlib import Path
21
21
  from pprint import pformat
22
22
  from typing import Union
23
-
24
23
  from jaseci.utils.log_utils import LimitedSlidingBuffer
24
+ from jaseci.utils.gprof2dot import (
25
+ PstatsParser,
26
+ DotWriter,
27
+ Profile,
28
+ TEMPERATURE_COLORMAP,
29
+ )
25
30
 
26
31
  LOGS_DIR = ".jaseci_logs/"
27
32
 
@@ -220,35 +225,61 @@ def b64decode_str(code):
220
225
  return code
221
226
 
222
227
 
228
+ class MyPstatsParser(PstatsParser):
229
+ def __init__(self, stats_obj):
230
+ self.stats = stats_obj
231
+ self.profile = Profile()
232
+ self.function_ids = {}
233
+
234
+
223
235
  def perf_test_start():
224
236
  perf_prof = cProfile.Profile()
225
237
  perf_prof.enable()
226
238
  return perf_prof
227
239
 
228
240
 
229
- def perf_test_stop(perf_prof, save_to_file=False):
241
+ def perf_test_stop(perf_prof):
230
242
  perf_prof.disable()
231
- if save_to_file:
232
- perf_prof.dump_stats(f"{id(perf_prof)}.prof")
233
- s = io.StringIO()
243
+ stats = pstats.Stats(perf_prof)
244
+ profile = MyPstatsParser(stats).parse()
245
+ profile.prune(
246
+ node_thres=0.01, edge_thres=0.002, paths="", color_nodes_by_selftime=False
247
+ )
248
+ graph_str = io.StringIO()
249
+ dot = DotWriter(graph_str)
250
+ dot.graph(profile, TEMPERATURE_COLORMAP)
251
+ calls_str = io.StringIO()
234
252
  sortby = pstats.SortKey.CUMULATIVE
235
- ps = pstats.Stats(perf_prof, stream=s).sort_stats(sortby)
253
+ ps = pstats.Stats(perf_prof, stream=calls_str).sort_stats(sortby)
236
254
  ps.print_stats()
237
- s = s.getvalue()
238
- s = "ncalls" + s.split("ncalls")[-1]
239
- s = "\n".join([",".join(line.rstrip().split(None, 5)) for line in s.split("\n")])
240
- return s
241
-
242
-
243
- def perf_test_to_b64(perf_prof, do_delete=True):
244
- s = ""
245
- fn = f"{id(perf_prof)}.prof"
246
- if os.path.exists(fn):
247
- with open(fn, "rb") as image_file:
248
- s = base64.b64encode(image_file.read()).decode()
249
- if do_delete:
250
- os.remove(fn)
251
- return s
255
+ calls_str = calls_str.getvalue()
256
+ calls_str = "ncalls" + calls_str.split("ncalls")[-1]
257
+ calls_str = "\n".join(
258
+ [",".join(line.rstrip().split(None, 5)) for line in calls_str.split("\n")]
259
+ )
260
+ return calls_str, graph_str.getvalue()
261
+
262
+
263
+ def format_jac_profile(jac_profile, sort_by="cum_time"):
264
+ """Format a JAC profile to a csv string"""
265
+ entries = []
266
+ for k in jac_profile.keys():
267
+ c = jac_profile[k]["calls"]
268
+ u = jac_profile[k]["u_calls"]
269
+ t = jac_profile[k]["tot_time"]
270
+ p = jac_profile[k]["cum_time"]
271
+ jac_profile[k]["avg_time"] = t / c
272
+ jac_profile[k]["per_call"] = p / c
273
+ jac_profile[k]["name"] = k
274
+ entries.append(jac_profile[k])
275
+ sorted_entries = sorted(entries, key=lambda x: x[sort_by], reverse=True)
276
+ csv = "name,calls,r_calls,avg_time,per_call,tot_time,cum_time\n"
277
+ for e in sorted_entries:
278
+ csv += (
279
+ f"{e['name']},{e['calls']},{e['calls']-e['u_calls']},"
280
+ + f"{e['avg_time']},{e['per_call']},{e['tot_time']},{e['cum_time']}\n"
281
+ )
282
+ return csv
252
283
 
253
284
 
254
285
  class TestCaseHelper:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaseci
3
- Version: 1.4.0.18
3
+ Version: 1.4.0.20
4
4
  Home-page: https://github.com/Jaseci-Labs/jaseci
5
5
  Author: Jason Mars
6
6
  Author-email: jason@jaseci.org
@@ -24,7 +24,6 @@ Requires-Dist: kubernetes (==23.6.0)
24
24
  Requires-Dist: pytest
25
25
  Requires-Dist: pytest-xdist
26
26
  Requires-Dist: pytest-cov
27
- Requires-Dist: gprof2dot
28
27
  Requires-Dist: validators
29
28
  Requires-Dist: psycopg2-binary (==2.9.5)
30
29
  Requires-Dist: pygls
@@ -32,4 +31,5 @@ Requires-Dist: mock
32
31
  Requires-Dist: beautifulsoup4 (<4.13.0,>=4.12.2)
33
32
  Requires-Dist: lxml (<4.10.0,>=4.9.2)
34
33
  Requires-Dist: html5lib (<1.2,>=1.1)
34
+ Requires-Dist: prettytable (<3.8.0,>=3.7.0)
35
35
 
@@ -1,23 +1,23 @@
1
- jaseci/VERSION,sha256=wt2cDwcEID1HJJqP4EFUnrYbbWFI95p3NNCVHoBS-L4,9
1
+ jaseci/VERSION,sha256=5LGlUEhABhyjdVEr9_YxHUWDiJYfMYjOgDM2mLzMa1I,9
2
2
  jaseci/__init__.py,sha256=qkJ3-ufZPGervTKYsKVNxdKvdMbrCmae8pgFAcWk5Pg,1101
3
3
  jaseci/cli_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  jaseci/cli_tools/book_tools.py,sha256=4xeNRhKufKJgAaKI5miPTezdBDWeA-iB_H5F5cqyIB8,16103
5
- jaseci/cli_tools/jsctl.py,sha256=v9BroL1TnBRpH1JEqWIBSWdMJLIVqXsa9KtFcMrwPTQ,13225
5
+ jaseci/cli_tools/jsctl.py,sha256=1Sx7IdQ27xeSH5Q3mgZQ75yjr0vKgGf55WmS9WOx_fg,14384
6
6
  jaseci/cli_tools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- jaseci/cli_tools/tests/test_jsctl.py,sha256=Th5e2htD-93tX3RVkjluUnXsaBwhvH7yaxDNkrWa9mE,20799
7
+ jaseci/cli_tools/tests/test_jsctl.py,sha256=zDbXY2SdWxBKqZn4NsSO4yoPmjHBe1I_O8mhPZQqdMs,21217
8
8
  jaseci/extens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  jaseci/extens/act_lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  jaseci/extens/act_lib/date.py,sha256=Xv_ZYtWDfJKFyJ4sHCgctaTX71fVoBB_QKWxZPenHSc,1879
11
11
  jaseci/extens/act_lib/elastic.py,sha256=msl2F_NyOsiZahGQRY2NdZ2lqYfwa_vHQ65pJA9DJaU,2193
12
12
  jaseci/extens/act_lib/file.py,sha256=NzLiV5Il5GaSOq_sSQQxUymcb1NDFSZVeMmdS95bpG8,1987
13
- jaseci/extens/act_lib/internal.py,sha256=ksXDK6Bcr_lWWrenmhqxtPHfXp6vnDfdcW1yGncpZy8,429
13
+ jaseci/extens/act_lib/internal.py,sha256=FkheUnwHei62ccurvgJg3IncYI0qqlsdl2Wuj1iemBM,481
14
14
  jaseci/extens/act_lib/jaseci.py,sha256=heeTVhb8-9HmhedQRIaZppftN5OE-kFDZQxc2fCbqjc,1696
15
15
  jaseci/extens/act_lib/mail.py,sha256=VwJMmOYYUVSewYS74EX5PZTvM5h43_37JQBcK9tukiU,315
16
16
  jaseci/extens/act_lib/net.py,sha256=Wil8umf3y8WCVe8ujbJst5JAgMj01Y7qxo-A9d4EJRA,7162
17
17
  jaseci/extens/act_lib/rand.py,sha256=ffvqZ1kgtbWk25-u7u6Yxyo4DUB1IikMVE4cOZwIxXI,2119
18
18
  jaseci/extens/act_lib/regex.py,sha256=bY8cpdNf-uYknQwAP2B4EBv9pvtnbhmdd5jBlB3QHQ4,2050
19
19
  jaseci/extens/act_lib/request.py,sha256=B8S5jFOjBOK5c-4ruv4qdDFglPBx_uq2Z2iM4MtkNaU,4153
20
- jaseci/extens/act_lib/std.py,sha256=a6TdMurRFNzIlk2bJrpeGfR85CjNUOivnc01WKoLc_U,5704
20
+ jaseci/extens/act_lib/std.py,sha256=66J9S0fSw9akBK2cwLKZUoGRIWnwUlmLI5es5tQ79Uo,5825
21
21
  jaseci/extens/act_lib/stripe.py,sha256=Aal_0jmt8nGSWM4PFiKsSAXPN779d51nV-tnFr6_pw0,7551
22
22
  jaseci/extens/act_lib/task.py,sha256=2OlsgYDprGyDwEzJ7943piqrqo7soCDBZRpqgGVMhUk,355
23
23
  jaseci/extens/act_lib/url.py,sha256=SC0fgrCA28UFznEAA_vOLnB51_N0MXU0801V_MVhDQg,1853
@@ -32,7 +32,7 @@ jaseci/extens/act_lib/tests/test_mail_lib.py,sha256=H1ZjCMwMj0MbArIG337mgA2EShMS
32
32
  jaseci/extens/act_lib/tests/test_net_lib.py,sha256=CrREUnx1H_3vESAFcAQ5XZYWIHOnr_oFMUHk0r4MWPg,2215
33
33
  jaseci/extens/act_lib/tests/test_regex.py,sha256=ahPDqHHNaxYIdk78FCTC06vf0rf9tWXG4X58uPaCcrk,2007
34
34
  jaseci/extens/act_lib/tests/test_std.py,sha256=wSNganrnB7XVNYKBD8n2emXp1jrJJ5IiN5OgFn7Kb-w,1735
35
- jaseci/extens/act_lib/tests/test_std_lib.py,sha256=3RO3Q0y32A_D3bAokYRWSE8iHeyD2VRie8rmEpyZ9kM,1204
35
+ jaseci/extens/act_lib/tests/test_std_lib.py,sha256=TL3s98DhgI51Uk3p6yv7e8L9pONKHEBkCdwWORUCzdQ,1243
36
36
  jaseci/extens/act_lib/tests/test_url.py,sha256=TfCWRtSrB-wjDOxRpfT9yjkSVRW6Ro4_IynbPir00XM,904
37
37
  jaseci/extens/act_lib/tests/test_vector.py,sha256=Lte-EZnheAGiJUpCE0mlXzhCH3dTMW000pgYbiLeHtY,1285
38
38
  jaseci/extens/act_lib/tests/test_webtool.py,sha256=BfRQOdCUk3ciZj_wP6yzxVevcieqH5fQ6NhnbhllBH8,1529
@@ -46,7 +46,7 @@ jaseci/extens/api/global_api.py,sha256=c9wiOaQGlhPUcGYknNkSzAmk67GDlRYYHHUpW_yOB
46
46
  jaseci/extens/api/graph_api.py,sha256=mGuUr22tGys-NypaW0AEZE-vZ6_OzSnqESVxhQrEI60,5074
47
47
  jaseci/extens/api/interface.py,sha256=KnYbClPGe0iTlENdr0LHL8RBuPJGyyuaPspnRvggcXo,9587
48
48
  jaseci/extens/api/jac_api.py,sha256=95w0sh08BHHXv5avMa5xngNo06iipU9Fk08D3TiBHj0,5816
49
- jaseci/extens/api/jsorc_api.py,sha256=Fk89Kd_fM_NLEg4BcrHVSWrbRnPgfWx8yZyUvzf_KC0,9066
49
+ jaseci/extens/api/jsorc_api.py,sha256=XcnAqOkqGI6IPykPpdeXPiQ7CXcV4XHYW7uSlV8wKdA,9991
50
50
  jaseci/extens/api/logger_api.py,sha256=9uAvhUW4rv-SoFmtVBB6lIDcoGNs_vCQY00rfGnX0a4,2805
51
51
  jaseci/extens/api/master_api.py,sha256=69sfxfPAVGbix5pLdq5cWnVYxaoKLBykh8FFeBBgsLA,4142
52
52
  jaseci/extens/api/object_api.py,sha256=GyKnnCsr-M11yOJf6HyiwYhaH5BYNGA8al96FNOG-EQ,3201
@@ -55,7 +55,7 @@ jaseci/extens/api/queue_api.py,sha256=h7aj_1C7e3I5wKDBMOTVS6cmbLu_Hlmi3RCf0kJ1a9
55
55
  jaseci/extens/api/sentinel_api.py,sha256=wGbG9GZ-snis9cYBi2CJEYc85KTsldKgNqyxW9N4EkM,9632
56
56
  jaseci/extens/api/super_api.py,sha256=Zk0n0W6XfLFFn8G1dw7oaRFmK7AchFy3krANrwz9_yI,1998
57
57
  jaseci/extens/api/user_api.py,sha256=pH0JoNHA-OOd_lw3EhPjfrkdTbllSHppTb5CW3oIL34,5373
58
- jaseci/extens/api/walker_api.py,sha256=FQ0mo8fa-v2Sczk9vqo_AC9wnsEkBYfLyiR3rVvPSEA,9260
58
+ jaseci/extens/api/walker_api.py,sha256=4zOm9C5u3hia_B_kkM5W4F37QW56C65G4MkUiycMPSk,9556
59
59
  jaseci/extens/api/webhook_api.py,sha256=SSXLDcNIKmuHIzO7Z0xPDYKXcXbqVdzDctzRCLKmdLU,1934
60
60
  jaseci/extens/api/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  jaseci/extens/api/tests/test_architype_api.py,sha256=zq3_lwFQUWC8ZULWX-pWsR9MP7PgZrB_C9dqdlyAJUY,1820
@@ -75,17 +75,17 @@ jaseci/extens/svc/stripe_svc.py,sha256=sh5rZ1VDOSHrGSBRhIxKvWzddg5dChsoBrKiTA3ha
75
75
  jaseci/extens/svc/task_svc.py,sha256=wjkXCwdb_RoNXwQQg6k9qlCq3LZNEF9OI3eBX0kIzXc,4135
76
76
  jaseci/extens/svc/tasks.py,sha256=a8j8A7i2_B-9YPM5SMuARoN8RY8HvlWDucGtw2mBoSw,10365
77
77
  jaseci/jac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- jaseci/jac/jac.g4,sha256=yY5Fi5Vfp3HaXF_aHwluNEIA3T7nmpzivchBKccl-Yg,8925
78
+ jaseci/jac/jac.g4,sha256=Nr-M3lxfr4nd4VQwxdcQYid6mg-TPMngU1ZW3trvUFE,8916
79
79
  jaseci/jac/jac_set.py,sha256=Reg1QkRQEAyzd6F8r-2cD0LvslgOF2Pc8mS-xalmEt0,3357
80
80
  jaseci/jac/interpreter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- jaseci/jac/interpreter/architype_interp.py,sha256=vu-T4Mp8SoF6Rdodv8AjV0WjVY1IqJu1OkbwrAea1mE,5929
82
- jaseci/jac/interpreter/interp.py,sha256=zxMny7tJuVxnQnrP07l-KhPoRVHWJZsQSsijLJ7ec4c,70752
83
- jaseci/jac/interpreter/sentinel_interp.py,sha256=s4Y7aVshKj27StQsJc7n1dOYi6F6lbwCpSQDoRM3vQQ,7163
84
- jaseci/jac/interpreter/walker_interp.py,sha256=IjZ6hROK8eA4IgU5e04wPtcRmhw4Jz_ISWvYrtvcnCI,9114
81
+ jaseci/jac/interpreter/architype_interp.py,sha256=GTvWnm_iiWlxpJ8gL5mIlObfltClkU2oSflIKGIVuF8,7277
82
+ jaseci/jac/interpreter/interp.py,sha256=KQh4vU8RwrmmswxEMznDhVvAvjdCiH1_DeUX6SFO1-c,66641
83
+ jaseci/jac/interpreter/sentinel_interp.py,sha256=-gCm8udNbECP6eKALxxqf4RTj0ydcuz71rxhzIbvnwc,9460
84
+ jaseci/jac/interpreter/walker_interp.py,sha256=nCZrL8p4jWXQhHuxF5IRBLID-vNYVHLV4gyh5qv3-2U,8503
85
85
  jaseci/jac/interpreter/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  jaseci/jac/interpreter/tests/test_interp.py,sha256=sQGSZNrQgLuEp-PaE8w5urMIM1I4zEFLcug84HEnh0o,1546
87
87
  jaseci/jac/ir/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- jaseci/jac/ir/ast.py,sha256=8X8niHmHYvmqP8okl4642qyMprSbKWhm6P5aBuZsNGg,1601
88
+ jaseci/jac/ir/ast.py,sha256=tvG-rr1OqxsLSbQ6dAn1j43iX8xxaQBZQrdfHVKdEjM,1759
89
89
  jaseci/jac/ir/ast_builder.py,sha256=jh0BKyBDzlDgE59twB9tm-dOjj2I0fnH4gUSSI_I5dE,8399
90
90
  jaseci/jac/ir/jac_code.py,sha256=PbThal8CP4fvl-gCs8WkjeHZtnTPRw3f0vZJ7S0Vx0Y,4601
91
91
  jaseci/jac/ir/passes/__init__.py,sha256=SWns4N_ZDV4iGUGoH0kvcq-DwdSSDCNRfbnEYwPdXmU,393
@@ -98,8 +98,8 @@ jaseci/jac/ir/passes/schedule.py,sha256=PIEloXIhi9iywLtvzGSrq6tIAY67zsVLIEIHtZCk
98
98
  jaseci/jac/ir/passes/stats_pass.py,sha256=b2LI6SxPG2YsnbkL4TbfoYxe3DwagPIRMmKjAZID8kA,468
99
99
  jaseci/jac/jac_parse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  jaseci/jac/jac_parse/jacLexer.py,sha256=byRuxnd-NpBjdC_vbZ1JReywX1vbdRlmj12TU8WXnFE,34691
101
- jaseci/jac/jac_parse/jacListener.py,sha256=OOLv8vWLInuCS1_1zKbihq9ZvGzu58HjBY5cI4jg5lk,29061
102
- jaseci/jac/jac_parse/jacParser.py,sha256=20Eb5ochF50mlyS6Has0zmfPoLgqnki-OQn8HYIcoO4,333597
101
+ jaseci/jac/jac_parse/jacListener.py,sha256=omVWAovAIR4V0p98kkRa_IYrtV6i14-VzQ-fi9gFNno,29031
102
+ jaseci/jac/jac_parse/jacParser.py,sha256=Oc4CveorHlVgIB79JHqLmcaCrJpIc8pttX6-YNG6PYU,334026
103
103
  jaseci/jac/jsci_vm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  jaseci/jac/jsci_vm/disasm.py,sha256=sFZjrP2wufITt4gjICnKYlWNHjX61vQACL-y8mFk_v0,3613
105
105
  jaseci/jac/jsci_vm/inst_ptr.py,sha256=1HPFEx1oSz9ru3ASsQPHSdP1MEmP08u3EwXUmx-eZlQ,768
@@ -108,20 +108,20 @@ jaseci/jac/jsci_vm/op_codes.py,sha256=h6DzvXw_9J5Uwvu8qIeZvfXmAyrXIpYHwB4MSsoE80
108
108
  jaseci/jac/jsci_vm/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
109
  jaseci/jac/jsci_vm/tests/test_codegen.py,sha256=sqBPy2qkQ8UWxUap4ZF5YJ3_RYzEXvFABxFMTwEJCiU,1116
110
110
  jaseci/jac/machine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
- jaseci/jac/machine/jac_scope.py,sha256=56Wb5qrdgSXI2vTuUVj8OkSG5Q45RSTNzX9kZJUL9Ao,3271
111
+ jaseci/jac/machine/jac_scope.py,sha256=vs2nMxE89IAdI1zOtDe_KKHmf8JCUTTpecWf_mXXiSE,2934
112
112
  jaseci/jac/machine/jac_value.py,sha256=5xhFGl3HVhoqpmsbFyC9OWgnsAMoGLxiUf-t9fGAUE8,6814
113
- jaseci/jac/machine/machine_state.py,sha256=ITNXCP4Y6eU--VgKOA7Q7jAMFwl7hb010IV7ANyLOrc,9164
113
+ jaseci/jac/machine/machine_state.py,sha256=d7aqng4pyi_IT_nnZjM4y5xROjtN_UpEkbB3z1BvOLc,11850
114
114
  jaseci/jac/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
115
  jaseci/jac/tests/book_code.py,sha256=VZ_WL9dLGhK7wuZtAvgW6_rDC1OluiHZXuu7pX77njI,13323
116
116
  jaseci/jac/tests/test_book.py,sha256=7P5YSSq7HUxNl6KmFh6UM2ZYsBaq-If06KpN0o618YY,13870
117
117
  jaseci/jac/tests/test_lang_14.py,sha256=haw5hvFe4mR1IDHPZGtCvIAMAFLHF0bdg11nl-JP2aQ,1885
118
118
  jaseci/jsorc/__init__.py,sha256=575FXvIbY1S4j1idZn7iqc8z3Gvo1A7FPZNA_1I5Ru4,134
119
- jaseci/jsorc/jsorc.py,sha256=va6DFMyalzkWOdNPKXRQMi9VBUhycIpkmU-yIXtu9tk,21053
119
+ jaseci/jsorc/jsorc.py,sha256=moWROfP3MgYLTevBUYBT5llQUYQ8Gj09VHc9TOsb-RI,21601
120
120
  jaseci/jsorc/jsorc_settings.py,sha256=-p6ok9bvc0yQLxkPxD81d0kBY3BoEHmq_BaJgP48nww,7490
121
121
  jaseci/jsorc/jsorc_utils.py,sha256=DidYQ3HGnfv9HQL5xDxx-l-Kfb2enGqUl-AGk80mGMM,8390
122
- jaseci/jsorc/live_actions.py,sha256=0Gj8tbHQhK4s2tOIISAI9DbuNqs6Duie7voYXQwj4Co,11290
122
+ jaseci/jsorc/live_actions.py,sha256=PDEiwRarZ5AauztPsKhbAewpnC63mFl-Fw2LAkGbtcM,11408
123
123
  jaseci/jsorc/memory.py,sha256=TTvyM1Ckyogkt2yiXFxggOEpkA7EUT7ZMo6tQhn4C1g,7342
124
- jaseci/jsorc/redis.py,sha256=zPAn1d0WId8or_cHzzYf55-UV02nHnIPFrjtAo2QRqs,4427
124
+ jaseci/jsorc/redis.py,sha256=m0lntrk-JL_hr5fG5BAwdsYH6QeJ8NV9EptMN_APx94,4570
125
125
  jaseci/jsorc/remote_actions.py,sha256=KGoC5nj5ka9NS0MFWnxoSm-CfjwirJNZzUp40KfJnVM,3248
126
126
  jaseci/jsorc/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  jaseci/jsorc/manifests/database.yaml,sha256=T3lDD4s2QR1oKpsc_vihgvzhaYVOfsxPlv8YhQcGLZ4,2234
@@ -132,41 +132,41 @@ jaseci/jsorc/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
132
132
  jaseci/jsorc/tests/test_actions.py,sha256=9IvVGZU0EV8Wtsauk4syh5LXPjju6s2zJSjG4QlP-hM,2569
133
133
  jaseci/jsorc/tests/test_jsorc.py,sha256=uglTSUPvHR5wxpOrdwOZy3iK4oyi5LcpUtjfygFUAyA,3987
134
134
  jaseci/prim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
- jaseci/prim/action.py,sha256=o_2HifqnZDeL4m0liEp-O7ISD0D54rJRP3_uO0t4RNg,3398
136
- jaseci/prim/architype.py,sha256=MSTvAvvZr3B3qQuXOd8Jmi25deelW3t7WpeQ6qfofnQ,2212
135
+ jaseci/prim/ability.py,sha256=zt3rD9DEuqnc_WUntfSJ4EVQD_CkdHrqeExshWteUhs,3837
136
+ jaseci/prim/architype.py,sha256=mscTCsXTKh4ZBGyQTGHxEbQl1FFRJs3eoHs7koxLhm4,2706
137
137
  jaseci/prim/edge.py,sha256=BghEIhy7CNQ5_e_UzpkpClSpDBEvJTJwDit07Tkk1sI,5024
138
138
  jaseci/prim/element.py,sha256=XFGw0vVFdIe-KkBMILYWI-KkaltASdo6nm9NHLPYfSo,7669
139
139
  jaseci/prim/graph.py,sha256=uZZLyq9jmQilCrAMUKpSwDXqrhVR8JGlIcu8bmPbCjY,596
140
- jaseci/prim/item.py,sha256=ztCISpsHD47MFBBCyrUqts_v0qdpX9nG9HlY5HNptQ4,610
141
140
  jaseci/prim/master.py,sha256=WCfMqWJ9D1V_6Zny96it_6FcDcia3iUZp9qRwYa2Vs0,1835
142
141
  jaseci/prim/node.py,sha256=trjLehUQRf6Mwjz986fDe4z99JkOxuexTknUiFbMBvc,17712
143
- jaseci/prim/obj_mixins.py,sha256=Kgu7L614gjqk_NpODrxtYCKQikNkO6U9Xxaj6BOFjzg,7167
144
- jaseci/prim/sentinel.py,sha256=o8imDFzuEyh8-Ryppp7aQJSAklxxsc0u7J4nW0Cmsuw,9296
142
+ jaseci/prim/obj_mixins.py,sha256=BNvNzUGjWKtJ2jJSizPdvELW-TEupsueGA7VMr-tU8A,7286
143
+ jaseci/prim/sentinel.py,sha256=f1QP--JaMbmW971gBhPv2bZLSJ-xWpsKIAuRMpFDcDA,9372
145
144
  jaseci/prim/super_master.py,sha256=KHSD1YoF1OKWw3ob8qdS9Amxf38N0FpYfCkT1mk_DDQ,852
146
- jaseci/prim/walker.py,sha256=32cxCDSYc6hB5vVp0CWed_gplsH9skIFs0EQ34sj3h8,8410
145
+ jaseci/prim/walker.py,sha256=w7O-Zo_8LK1ySCx1lz1UTnQPUvpHzsIxSmwLqmHzzIs,8600
147
146
  jaseci/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
147
  jaseci/tests/infer.py,sha256=3TAwXO1W5s4yLDV5p_Izxbp5PvyQYR2oaMcB_aYza4c,1006
149
148
  jaseci/tests/jac_test_code.py,sha256=G9CpyOAZvIz_9dMIiw6a2n-I6ybEIb2tx3vLQyOu-fQ,25194
150
- jaseci/tests/jac_test_progs.py,sha256=83Sfl4g_b13laBZHMSdf3L6a0N77mrl6I7iECDkGk0o,14257
149
+ jaseci/tests/jac_test_progs.py,sha256=x1uNZyxQfRyYXj9jpuNhZ76Lnfm426mrXoLz5IAX87o,14396
151
150
  jaseci/tests/test_core.py,sha256=fYoIF-xQizO8qrMnFpwhzMgScJAx5XTOL7SdvCx7do4,5888
152
- jaseci/tests/test_jac.py,sha256=lOVKeeBNGP8HEAZwpThqoZa_cRtOh_on4h7AUJg1DWI,31676
153
- jaseci/tests/test_node.py,sha256=B5MKLsycj9Wxcf4mKVuFGFJ2MBHPwWvjGeqacKra_sk,3826
154
- jaseci/tests/test_progs.py,sha256=SHWRcTEB21XGtbJczLcwszDeuwIQmeOXJAlfaI0w1IA,23906
155
- jaseci/tests/test_stack.py,sha256=a0I_46zE0NEMz21Rmxu6aSSncGAM1AUEfK44SYiLJyE,7565
151
+ jaseci/tests/test_jac.py,sha256=lS4CgD-R1O6BdmP4414wu5tJkI3trDyN9Zu3A5lId4s,31674
152
+ jaseci/tests/test_node.py,sha256=tXnRbc3lHGPidzE45BIF1LiTkC5aB5idxbyzRj06Ufs,3710
153
+ jaseci/tests/test_progs.py,sha256=OSM0ue4p1TRQSw4Omib74PfHws18ADTdqSpIJLF169o,24345
154
+ jaseci/tests/test_stack.py,sha256=CrNbcRpRA5jhQw44wKsjWwfgbMXodJglY48TyoNYu5U,8453
156
155
  jaseci/tests/test_stripe.py,sha256=dt4_CKofGsWR1y9DXZStd48rtDUTTBQp-3lD7SiA9DA,8096
157
156
  jaseci/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
+ jaseci/utils/gprof2dot.py,sha256=NwoCm318NFS169fvJhfltsIINxzpd6bS7_9b1-Fy4Xg,119142
158
158
  jaseci/utils/id_list.py,sha256=L1uzwBrLRxnw3EaapOsEMA7QCsbY50RnK0nFTu2ruWo,5328
159
- jaseci/utils/json_handler.py,sha256=P1fY7BnGBfA_mkiKjeJvAwfqGXWt3cpY0JcmPVL86bQ,2135
159
+ jaseci/utils/json_handler.py,sha256=-MmExFTpbr5hlS9i_0DAUZK-rgWI2wpDAA4rI3idv74,2234
160
160
  jaseci/utils/log_utils.py,sha256=U46KspmCbX6S7YzEk1LB20iB4G1DPHfpV5RFim04Mbg,1629
161
161
  jaseci/utils/test_core.py,sha256=DG0mW2GRc2l0M1A1-vCgTUFnZh8ip_0-h7eOfKMxlXQ,1549
162
- jaseci/utils/utils.py,sha256=iGK-Ovf5u9Y5cQUc95GJmyGpQQa1cnF7QOCseCf42EQ,9101
162
+ jaseci/utils/utils.py,sha256=1Ejf6BqaScjGX3myu-okKxpF5vuQpNspuq9gI42WoGw,10234
163
163
  jaseci/utils/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  jaseci/utils/actions/actions_manager.py,sha256=sKfWk9zRpDpkLo3-mKpVMKrqx7kpRG7hRi5tfDTcqb8,8527
165
- jaseci/utils/actions/actions_optimizer.py,sha256=gs2spE-HFzdfW8WNqctw9DBldUxv3vj3DPpU5txZllE,20786
165
+ jaseci/utils/actions/actions_optimizer.py,sha256=ddj6zF6pfcYD3OeLiOBTeDU07764-bLy7RXn7c71JrI,21564
166
166
  jaseci/utils/actions/actions_state.py,sha256=5p080-DtDXS9QUd2FwkrtN6-7LBqT2tmJDOKVKjDEbU,2963
167
- jaseci-1.4.0.18.dist-info/LICENSE,sha256=2b_qOOd7ak6x49HwOzCAmRLSPJehiBJdqj9HDX1Jp7U,1072
168
- jaseci-1.4.0.18.dist-info/METADATA,sha256=wh0bSDOWuDVz46_MXv15eNHZM0NUbXw0VByq0TRUGO8,1059
169
- jaseci-1.4.0.18.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
170
- jaseci-1.4.0.18.dist-info/entry_points.txt,sha256=nryZyKQLUJzlTOcA9knRGoXHGmNUCQxvvuDIEj5ePyg,88
171
- jaseci-1.4.0.18.dist-info/top_level.txt,sha256=0WZh7RF_ruiaZHQSi8IWOiLRUvKKDlhcnLe-by6EyFc,7
172
- jaseci-1.4.0.18.dist-info/RECORD,,
167
+ jaseci-1.4.0.20.dist-info/LICENSE,sha256=2b_qOOd7ak6x49HwOzCAmRLSPJehiBJdqj9HDX1Jp7U,1072
168
+ jaseci-1.4.0.20.dist-info/METADATA,sha256=D3oay2B5xbSfALVj2rNHvhBrK8n55p1U0eeXEcdM45U,1078
169
+ jaseci-1.4.0.20.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
170
+ jaseci-1.4.0.20.dist-info/entry_points.txt,sha256=nryZyKQLUJzlTOcA9knRGoXHGmNUCQxvvuDIEj5ePyg,88
171
+ jaseci-1.4.0.20.dist-info/top_level.txt,sha256=0WZh7RF_ruiaZHQSi8IWOiLRUvKKDlhcnLe-by6EyFc,7
172
+ jaseci-1.4.0.20.dist-info/RECORD,,
jaseci/prim/item.py DELETED
@@ -1,29 +0,0 @@
1
- """
2
- Item class for Jaseci
3
-
4
- Each item has an id, name, timestamp.
5
- """
6
- from jaseci.prim.element import Element
7
-
8
-
9
- class Item(Element):
10
- """Item class for Jaseci"""
11
-
12
- def __init__(self, value=None, **kwargs):
13
- self.item_value = value
14
- Element.__init__(self, **kwargs)
15
-
16
- @property
17
- def value(self):
18
- return self.item_value
19
-
20
- @value.setter
21
- def value(self, val):
22
- self.item_value = val
23
- self.save()
24
-
25
- def __str__(self):
26
- if self.value:
27
- return super().__str__() + f":{self.value}"
28
- else:
29
- return super().__str__() + ":None"