jaseci 1.4.0.9__py3-none-any.whl → 1.4.0.11__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 (87) hide show
  1. jaseci/VERSION +1 -1
  2. jaseci/__init__.py +3 -0
  3. jaseci/actions/standard/elastic.py +3 -2
  4. jaseci/actions/standard/mail.py +3 -2
  5. jaseci/actions/standard/std.py +3 -2
  6. jaseci/actions/standard/stripe.py +3 -2
  7. jaseci/actions/standard/task.py +3 -5
  8. jaseci/actions/standard/tests/test_mail_lib.py +8 -7
  9. jaseci/actions/tests/test_std.py +4 -5
  10. jaseci/actor/walker.py +6 -3
  11. jaseci/api/config_api.py +3 -2
  12. jaseci/api/jac_api.py +2 -2
  13. jaseci/api/jsorc_api.py +60 -121
  14. jaseci/api/prometheus_api.py +14 -20
  15. jaseci/api/queue_api.py +9 -5
  16. jaseci/api/tests/test_global_api.py +3 -3
  17. jaseci/api/tests/test_logger_api.py +3 -3
  18. jaseci/api/user_api.py +3 -3
  19. jaseci/api/webhook_api.py +6 -4
  20. jaseci/attr/action.py +10 -4
  21. jaseci/element/master.py +2 -0
  22. jaseci/element/super_master.py +2 -0
  23. jaseci/hook/memory.py +3 -1
  24. jaseci/hook/redis.py +5 -4
  25. jaseci/jac/interpreter/interp.py +16 -4
  26. jaseci/jac/tests/test_book.py +2 -2
  27. jaseci/jsctl/jsctl.py +48 -15
  28. jaseci/jsctl/tests/test_jsctl.py +5 -0
  29. jaseci/jsorc.py +733 -0
  30. jaseci/jsorc_settings.py +184 -0
  31. jaseci/manifests/database.yaml +107 -0
  32. jaseci/manifests/elastic.yaml +5923 -0
  33. jaseci/manifests/prometheus.yaml +1273 -0
  34. jaseci/{svc/jsorc-backup/jaseci-redis.yaml → manifests/redis.yaml} +20 -0
  35. jaseci/svc/__init__.py +0 -25
  36. jaseci/svc/{elastic/elastic.py → elastic_svc.py} +5 -16
  37. jaseci/svc/kube_svc.py +240 -0
  38. jaseci/svc/{mail/mail.py → mail_svc.py} +14 -17
  39. jaseci/svc/{prometheus/prometheus.py → prome_svc.py} +5 -16
  40. jaseci/svc/{redis/redis.py → redis_svc.py} +14 -26
  41. jaseci/svc/{stripe/stripe.py → stripe_svc.py} +4 -7
  42. jaseci/svc/{task/task.py → task_svc.py} +27 -24
  43. jaseci/svc/{task/common.py → tasks.py} +287 -293
  44. jaseci/tests/jac_test_progs.py +21 -0
  45. jaseci/tests/test_core.py +14 -15
  46. jaseci/tests/test_jac.py +59 -60
  47. jaseci/tests/test_node.py +6 -13
  48. jaseci/tests/test_progs.py +74 -52
  49. jaseci/tests/test_stripe.py +6 -10
  50. jaseci/utils/actions/actions_manager.py +254 -0
  51. jaseci/{svc/actions_optimizer → utils/actions}/actions_optimizer.py +9 -19
  52. jaseci/utils/json_handler.py +2 -3
  53. jaseci/utils/test_core.py +4 -5
  54. jaseci/utils/utils.py +12 -0
  55. {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/METADATA +2 -1
  56. {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/RECORD +63 -80
  57. jaseci/svc/common.py +0 -763
  58. jaseci/svc/config.py +0 -9
  59. jaseci/svc/elastic/__init__.py +0 -3
  60. jaseci/svc/elastic/config.py +0 -8
  61. jaseci/svc/elastic/manifest.py +0 -1
  62. jaseci/svc/jsorc-backup/jsorc.py +0 -182
  63. jaseci/svc/jsorc-backup/promon/__init__.py +0 -0
  64. jaseci/svc/jsorc-backup/promon/promon.py +0 -202
  65. jaseci/svc/mail/__init__.py +0 -4
  66. jaseci/svc/mail/config.py +0 -25
  67. jaseci/svc/meta.py +0 -164
  68. jaseci/svc/postgres/__init__.py +0 -0
  69. jaseci/svc/postgres/manifest.py +0 -106
  70. jaseci/svc/prometheus/__init__.py +0 -5
  71. jaseci/svc/prometheus/config.py +0 -11
  72. jaseci/svc/prometheus/manifest.py +0 -1102
  73. jaseci/svc/redis/__init__.py +0 -5
  74. jaseci/svc/redis/config.py +0 -10
  75. jaseci/svc/redis/manifest.py +0 -65
  76. jaseci/svc/state.py +0 -17
  77. jaseci/svc/stripe/__init__.py +0 -3
  78. jaseci/svc/stripe/config.py +0 -7
  79. jaseci/svc/task/__init__.py +0 -5
  80. jaseci/svc/task/config.py +0 -17
  81. /jaseci/{svc/actions_optimizer → manifests}/__init__.py +0 -0
  82. /jaseci/{svc/jsorc-backup → utils/actions}/__init__.py +0 -0
  83. /jaseci/{svc/actions_optimizer → utils/actions}/actions_state.py +0 -0
  84. {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/LICENSE +0 -0
  85. {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/WHEEL +0 -0
  86. {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/entry_points.txt +0 -0
  87. {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,254 @@
1
+ from jaseci import JsOrc
2
+ from jaseci.svc.prome_svc import PrometheusService
3
+ from jaseci.actions.live_actions import load_action_config
4
+ from .actions_optimizer import ActionsOptimizer
5
+
6
+ import time
7
+ import numpy as np
8
+
9
+
10
+ @JsOrc.context("action_manager")
11
+ class ActionManager:
12
+ def __init__(self):
13
+ self.benchmark = {
14
+ "jsorc": {"active": False, "requests": {}},
15
+ "actions_optimizer": {"active": False, "requests": {}},
16
+ }
17
+ self.actions_history = {"active": False, "history": []}
18
+ self.actions_calls = {}
19
+ self.system_states = {"active": False, "states": []}
20
+ self.actions_optimizer = ActionsOptimizer(
21
+ benchmark=self.benchmark["actions_optimizer"],
22
+ actions_history=self.actions_history,
23
+ actions_calls=self.actions_calls,
24
+ )
25
+
26
+ ###################################################
27
+ # ACTION MANAGER #
28
+ ###################################################
29
+
30
+ def load_action_config(self, config, name):
31
+ """
32
+ Load the config for an action
33
+ """
34
+ return load_action_config(config, name)
35
+
36
+ def load_actions(self, name, mode):
37
+ """
38
+ Load an action as local, module or remote.
39
+ """
40
+ # Using module for local
41
+ mode = "module" if mode == "local" else mode
42
+
43
+ if mode == "module":
44
+ self.actions_optimizer.load_action_module(name)
45
+ elif mode == "remote":
46
+ self.actions_optimizer.load_action_remote(name)
47
+
48
+ def unload_actions(self, name, mode, retire_svc):
49
+ """
50
+ Unload an action
51
+ """
52
+ # We are using module for local
53
+ mode = "module" if mode == "local" else mode
54
+ if mode == "auto":
55
+ res = self.actions_optimizer.unload_action_auto(name)
56
+ if not res[0]:
57
+ return res
58
+ if retire_svc:
59
+ self.retire_uservice(name)
60
+ return res
61
+ elif mode == "module":
62
+ return self.actions_optimizer.unload_action_module(name)
63
+ elif mode == "remote":
64
+ res = self.actions_optimizer.unload_action_remote(name)
65
+ if not res[0]:
66
+ return res
67
+ if retire_svc:
68
+ self.retire_uservice(name)
69
+ return res
70
+ else:
71
+ return (False, f"Unrecognized action mode {mode}.")
72
+
73
+ def retire_uservice(self, name):
74
+ """
75
+ Retire a remote microservice for the action.
76
+ """
77
+ self.actions_optimizer.retire_remote(name)
78
+
79
+ def get_actions_status(self, name=""):
80
+ """
81
+ Return the status of the action
82
+ """
83
+ return self.actions_optimizer.get_actions_status(name)
84
+
85
+ def actions_tracking_start(self):
86
+ """ """
87
+ self.actions_history["active"] = True
88
+ self.actions_history["history"] = [{"ts": time.time()}]
89
+ self.actions_calls.clear()
90
+
91
+ def actions_tracking_stop(self):
92
+ """ """
93
+ if not self.actions_history["active"]:
94
+ return []
95
+
96
+ self.actions_optimizer.summarize_action_calls()
97
+
98
+ return self.actions_history["history"]
99
+
100
+ def benchmark_start(self):
101
+ """
102
+ Put JSORC under benchmark mode.
103
+ """
104
+ self.benchmark["jsorc"]["active"] = True
105
+ self.benchmark["jsorc"]["requests"] = {}
106
+ self.benchmark["jsorc"]["start_ts"] = time.time()
107
+
108
+ def state_tracking_start(self):
109
+ """
110
+ Ask JSORC to start tracking the state of the system as observed by JSORC on every interval.
111
+ """
112
+ self.system_states = {"active": True, "states": []}
113
+
114
+ def state_tracking_stop(self):
115
+ """
116
+ Stop state tracking for JSORC
117
+ """
118
+ ret = self.system_states
119
+ self.system_states = {"active": True, "states": []}
120
+ return ret
121
+
122
+ def state_tracking_report(self):
123
+ """
124
+ Return state tracking history so far
125
+ """
126
+ return self.system_states
127
+
128
+ def record_system_state(self):
129
+ """
130
+ Record system state
131
+ """
132
+ if self.system_states["active"]:
133
+ ts = int(time.time())
134
+ prom_profile = (
135
+ JsOrc.svc("prome")
136
+ .poke(PrometheusService)
137
+ .info(
138
+ namespace=self.namespace,
139
+ exclude_prom=True,
140
+ timestamp=ts,
141
+ duration=self.backoff_interval,
142
+ )
143
+ )
144
+ self.system_states["states"].append(
145
+ {
146
+ "ts": ts,
147
+ "actions": self.get_actions_status(name=""),
148
+ "prometheus": prom_profile,
149
+ }
150
+ )
151
+
152
+ def benchmark_stop(self, report):
153
+ """
154
+ Stop benchmark mode and report result during the benchmark period
155
+ """
156
+ if not self.benchmark["jsorc"]["active"]:
157
+ return {}
158
+
159
+ res = self.benchmark_report()
160
+ self.benchmark["jsorc"]["requests"] = {}
161
+ self.benchmark["jsorc"]["active"] = False
162
+
163
+ if report:
164
+ return res
165
+ else:
166
+ return {}
167
+
168
+ def benchmark_report(self):
169
+ """
170
+ Summarize benchmark results and report.
171
+ """
172
+ summary = {}
173
+ duration = time.time() - self.benchmark["jsorc"]["start_ts"]
174
+ for request, data in self.benchmark["jsorc"]["requests"].items():
175
+ summary[request] = {}
176
+ all_reqs = []
177
+ for req_name, times in data.items():
178
+ if len(times) == 0:
179
+ continue
180
+ all_reqs.extend(times)
181
+ summary[request][req_name] = {
182
+ "throughput": len(times) / duration,
183
+ "average_latency": sum(times) / len(times) * 1000,
184
+ "50th_latency": np.percentile(times, 50) * 1000,
185
+ "90th_latency": np.percentile(times, 90) * 1000,
186
+ "95th_latency": np.percentile(times, 95) * 1000,
187
+ "99th_latency": np.percentile(times, 99) * 1000,
188
+ }
189
+ summary[request]["all"] = {
190
+ "throughput": len(all_reqs) / duration,
191
+ "average_latency": sum(all_reqs) / len(all_reqs) * 1000,
192
+ "50th_latency": np.percentile(all_reqs, 50) * 1000,
193
+ "90th_latency": np.percentile(all_reqs, 90) * 1000,
194
+ "95th_latency": np.percentile(all_reqs, 95) * 1000,
195
+ "99th_latency": np.percentile(all_reqs, 99) * 1000,
196
+ }
197
+
198
+ return summary
199
+
200
+ def record_state(self):
201
+ """
202
+ Record the current state of the system observed by JSORC
203
+ """
204
+
205
+ def add_to_benchmark(self, request_type, request, request_time):
206
+ """
207
+ Add requests to benchmark performance tracking
208
+ """
209
+ for bm in self.benchmark.values():
210
+ if request_type not in bm["requests"]:
211
+ bm["requests"][request_type] = {"_default_": []}
212
+ if request_type == "walker_run":
213
+ walker_name = dict(request.data)["name"]
214
+ if walker_name not in bm["requests"][request_type]:
215
+ bm["requests"][request_type][walker_name] = []
216
+ bm["requests"][request_type][walker_name].append(request_time)
217
+ else:
218
+ bm["requests"][request_type]["_default_"].append(request_time)
219
+
220
+ def set_action_policy(self, policy_name, policy_params):
221
+ """
222
+ Set an action optimizer policy
223
+ """
224
+ return self.actions_optimizer.set_action_policy(policy_name, policy_params)
225
+
226
+ def get_action_policy(self):
227
+ """
228
+ Get the current action optimization policy
229
+ """
230
+ return self.actions_optimizer.get_action_policy()
231
+
232
+ def pre_action_call_hook(self, *args):
233
+ pass
234
+
235
+ def post_action_call_hook(self, *args):
236
+ action_name = args[0]
237
+ action_time = args[1]
238
+ if action_name not in self.actions_calls:
239
+ self.actions_calls[action_name] = []
240
+
241
+ self.actions_calls[action_name].append(action_time)
242
+
243
+ def pre_request_hook(self, *args):
244
+ pass
245
+
246
+ def post_request_hook(self, *args):
247
+ request_type = args[0]
248
+ request = args[1]
249
+ request_time = args[2]
250
+ if self.benchmark["jsorc"]["active"]:
251
+ self.add_to_benchmark(request_type, request, request_time)
252
+
253
+ def optimize(self, jsorc_interval):
254
+ self.actions_optimizer.run(jsorc_interval)
@@ -1,10 +1,10 @@
1
1
  """
2
2
  Module that manage and optimizes the actions configuration of Jaseci
3
3
  """
4
-
4
+ from jaseci import JsOrc
5
+ from jaseci.svc.kube_svc import KubeService
5
6
  from jaseci.actions.remote_actions import ACTIONS_SPEC_LOC
6
7
  from jaseci.utils.utils import logger
7
- from jaseci.svc.actions_optimizer.actions_state import ActionsState
8
8
  from jaseci.actions.live_actions import (
9
9
  load_module_actions,
10
10
  unload_module,
@@ -13,10 +13,12 @@ from jaseci.actions.live_actions import (
13
13
  live_actions,
14
14
  action_configs,
15
15
  )
16
+
16
17
  import requests
17
18
  import copy
18
19
  import time
19
- from kubernetes.client.rest import ApiException
20
+
21
+ from .actions_state import ActionsState
20
22
 
21
23
  POLICIES = ["Default", "Evaluation"]
22
24
 
@@ -24,14 +26,12 @@ POLICIES = ["Default", "Evaluation"]
24
26
  class ActionsOptimizer:
25
27
  def __init__(
26
28
  self,
27
- kube=None,
28
29
  namespace: str = "default",
29
30
  policy: str = "Default",
30
31
  benchmark: dict = {},
31
32
  actions_history: dict = {},
32
33
  actions_calls: dict = {},
33
34
  ) -> None:
34
- self.kube = kube
35
35
  self.actions_state = ActionsState()
36
36
  self.actions_change = {}
37
37
  self.jsorc_interval = 0
@@ -44,26 +44,16 @@ class ActionsOptimizer:
44
44
  self.policy_state = {}
45
45
 
46
46
  def kube_create(self, config):
47
+ kube = JsOrc.svc("kube").poke(cast=KubeService)
47
48
  for kind, conf in config.items():
48
49
  name = conf["metadata"]["name"]
49
- try:
50
- self.kube.create(kind, self.namespace, conf)
51
- except ApiException:
52
- logger.error(f"Error creating {kind} for {name}")
50
+ kube.create(kind, name, conf, self.namespace, "ActionsOptimzer:")
53
51
 
54
52
  def kube_delete(self, config):
53
+ kube = JsOrc.svc("kube").poke(cast=KubeService)
55
54
  for kind, conf in config.items():
56
55
  name = conf["metadata"]["name"]
57
- try:
58
- logger.info(
59
- f"ActionsOptimzer: deleting {kind} for {name} for namespace {self.namespace}"
60
- )
61
- self.kube.delete(kind, name, self.namespace)
62
- except ApiException as e:
63
- logger.error(
64
- f"Error deleting {kind} for {name} for namespace {self.namespace}"
65
- )
66
- logger.error(str(e))
56
+ kube.delete(kind, name, self.namespace, "ActionsOptimzer:")
67
57
 
68
58
  def get_actions_status(self, name=""):
69
59
  """
@@ -1,8 +1,7 @@
1
1
  import json
2
2
  from json import JSONDecoder, JSONEncoder
3
- from uuid import UUID
4
3
 
5
- from jaseci.svc import MetaService
4
+ from jaseci import JsOrc
6
5
  from jaseci.utils.id_list import IdList
7
6
  from jaseci.utils.utils import logger
8
7
 
@@ -45,7 +44,7 @@ class JaseciJsonDecoder(JSONDecoder):
45
44
  self.transform(obj[key], idx)
46
45
 
47
46
  def convert(self, urn):
48
- return MetaService().build_hook().get_obj_from_store(urn)
47
+ return JsOrc.hook().get_obj_from_store(urn)
49
48
 
50
49
 
51
50
  def json_str_to_jsci_dict(input_str, parent_obj=None):
jaseci/utils/test_core.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  from unittest import TestCase
3
3
 
4
- from jaseci.svc import MetaService
4
+ from jaseci import JsOrc
5
5
  from jaseci.utils.utils import TestCaseHelper
6
6
 
7
7
 
@@ -10,11 +10,10 @@ class CoreTest(TestCaseHelper, TestCase):
10
10
 
11
11
  fixture_src = __file__
12
12
 
13
- def setUp(self, run_svcs=False):
13
+ def setUp(self):
14
14
  super().setUp()
15
- self.meta = MetaService(run_svcs=run_svcs)
16
- self.smast = self.meta.build_super_master()
17
- self.mast = self.meta.build_master(h=self.smast._h)
15
+ self.smast = JsOrc.super_master()
16
+ self.mast = JsOrc.master(h=self.smast._h)
18
17
 
19
18
  def tearDown(self):
20
19
  super().tearDown()
jaseci/utils/utils.py CHANGED
@@ -303,3 +303,15 @@ def is_true(val):
303
303
  if type(val) is str
304
304
  else val is True # is_async might be non bool
305
305
  )
306
+
307
+
308
+ class InvalidApiException(Exception):
309
+ pass
310
+
311
+
312
+ def find_first_api(api_name, **api_endpoints):
313
+ for path, api_list in api_endpoints.items():
314
+ api = next(filter(lambda x: api_name == "_".join(x["groups"]), api_list), None)
315
+ if api:
316
+ return path, api
317
+ raise InvalidApiException(f"api {api_name} is not existing!")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaseci
3
- Version: 1.4.0.9
3
+ Version: 1.4.0.11
4
4
  Home-page: https://github.com/Jaseci-Labs/jaseci
5
5
  Author: Jason Mars
6
6
  Author-email: jason@jaseci.org
@@ -27,4 +27,5 @@ Requires-Dist: pytest-cov
27
27
  Requires-Dist: gprof2dot
28
28
  Requires-Dist: metadata-parser
29
29
  Requires-Dist: validators
30
+ Requires-Dist: psycopg2-binary (==2.9.5)
30
31
 
@@ -1,28 +1,30 @@
1
- jaseci/VERSION,sha256=clGZua0r62oVDfxNmzNmEmobel4_kDxPKW629COtcHw,8
2
- jaseci/__init__.py,sha256=TFfZTBqn8ftSeQhjAnXKpcJfcoBUcRvCXk2zL3y-H1s,1082
1
+ jaseci/VERSION,sha256=wggX16krCp52Hl8Ynw3rNxJDTRV3UWqt_2iQdp00QIk,9
2
+ jaseci/__init__.py,sha256=3cwesbedfqnZ8jK1tfhsb3ye-5SkRB6ojRKSJkWY_Ek,1202
3
+ jaseci/jsorc.py,sha256=g7rlZnR_OABcvsDeHJmgdXbcMZ7c4vtIyVkJacHu1qY,26089
4
+ jaseci/jsorc_settings.py,sha256=g-JtBqESKmjjtgmGxXWWWSFNE39ILFm_7GUTvJis6eY,7803
3
5
  jaseci/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
6
  jaseci/actions/live_actions.py,sha256=4kH-FYyPxObpWK4CJQwrBgFFvnfVVckvWA6OP_0NfgA,9361
5
7
  jaseci/actions/remote_actions.py,sha256=esUUOIEyE4ykfqXUsWA3BNDwWHSKdBrKyJ5olAehpsQ,3142
6
8
  jaseci/actions/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
9
  jaseci/actions/standard/date.py,sha256=fPsIbmhsUJAs3bJWEe7l2BfSxor309kTYLxI0t4BltM,1881
8
- jaseci/actions/standard/elastic.py,sha256=uw67zScrmWPjAZIdM0d4YnTQgc5CmXgB9WwhPwoHKDk,1714
10
+ jaseci/actions/standard/elastic.py,sha256=1tF4zsxVaoDTE-okSyKC1o3b69p2IYkfStiDlw4hrlE,1770
9
11
  jaseci/actions/standard/file.py,sha256=czr1byEgzrlpvQgbxXgHtsL2AgmK5ktOYyMRR_ai7C4,1989
10
12
  jaseci/actions/standard/internal.py,sha256=iDFuzpdvXCLLnuEgx1EkrHQzJpo1oHOLjPOftaMWDOc,431
11
13
  jaseci/actions/standard/jaseci.py,sha256=nUtoyqEGqv9WvhZjRqUdwispcWYmFpdr0RX6-_CGr9o,1701
12
- jaseci/actions/standard/mail.py,sha256=PinJU0qmMeZWhFJkiujXFkELxGp00OFQpE-7jhLddjI,279
14
+ jaseci/actions/standard/mail.py,sha256=DdHCjxFRcqHiQBq_HduLFfcwYwRRCMvTH7WaD8W_mL8,298
13
15
  jaseci/actions/standard/net.py,sha256=hRdy3rnDLB3Yh6fHv4lep8rTcOPwXYkXgG3xxcHuK-E,7166
14
16
  jaseci/actions/standard/rand.py,sha256=_uq1GDnwV5Wmv3EI3_YcXp2jHRqvNLCfToSmFQioa1w,2121
15
17
  jaseci/actions/standard/request.py,sha256=yfFXCy8EgAvLc7L8NJZ8w5-h2NN6qbrKQWLxfFtUFH8,4155
16
- jaseci/actions/standard/std.py,sha256=BydkBV024-aZb81DbacYH58oMy6uh-1f6hgjJzL6vJ4,5653
17
- jaseci/actions/standard/stripe.py,sha256=Q2IojVkoGaf2zfcjJX-jMp-kdwrMWMGdKdPLCYlywxQ,7497
18
- jaseci/actions/standard/task.py,sha256=F1G34ZyPMwQJewSkDZGXlxyH7gGkv-KHvJFTWuuAjpM,356
18
+ jaseci/actions/standard/std.py,sha256=k-1TY9UOoQ1q8M9TUNR1IFYubAazLbwGLtDqX7G3MKM,5677
19
+ jaseci/actions/standard/stripe.py,sha256=5RSMySSFLFyYY13o4a0WVl7UYkPTdgWQ8aJO4Bx4s9U,7534
20
+ jaseci/actions/standard/task.py,sha256=md4q8WRkPQiqppmEROrBBv3qQjFUeLSSgBVxgztM2XM,338
19
21
  jaseci/actions/standard/url.py,sha256=u22glmxBkrb5WUxHVeOy_MaJ9KdVxn5opmw9Jw6nYDs,1855
20
22
  jaseci/actions/standard/vector.py,sha256=LqjBYKDEzIAIqdDqygHz9uiXqN6g8khFeXxmzeyH1co,4638
21
23
  jaseci/actions/standard/webtool.py,sha256=YKxIrmZlD3AWIdeLy3r3z5KxCXJqKVGEfFP2NnieRlw,724
22
24
  jaseci/actions/standard/zlib.py,sha256=Gx9UuaOKwgQ1JtCoqdT3Lo3sDD9e6vgs-KTVYoexIow,894
23
25
  jaseci/actions/standard/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
26
  jaseci/actions/standard/tests/test_file_lib.py,sha256=134nkJwjZGm7nTZM6kWCY4oa87GVVw8lJH3aX37PZVI,1460
25
- jaseci/actions/standard/tests/test_mail_lib.py,sha256=pPWybwIh0t9DpFWhosJF1YM8YHEC66ME-eCNvwp3n3g,1025
27
+ jaseci/actions/standard/tests/test_mail_lib.py,sha256=viS7n2jnOO336Nf6zeGguKw66Xwi5MYGEmoc1xypiAU,1063
26
28
  jaseci/actions/standard/tests/test_net_lib.py,sha256=CrREUnx1H_3vESAFcAQ5XZYWIHOnr_oFMUHk0r4MWPg,2215
27
29
  jaseci/actions/standard/tests/test_std_lib.py,sha256=3RO3Q0y32A_D3bAokYRWSE8iHeyD2VRie8rmEpyZ9kM,1204
28
30
  jaseci/actions/standard/tests/test_url.py,sha256=zKGvlcLRo7RXsBiK8ifcVeSrPNZkWe6keZwonuJgwk8,1050
@@ -32,60 +34,60 @@ jaseci/actions/standard/tests/test_zlib.py,sha256=o4N--le7BFfvvAzIqbwQmh3HyqckuJ
32
34
  jaseci/actions/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
35
  jaseci/actions/tests/std_test_code.py,sha256=_pXoqkD4_s2LQHQBs_FFphYseJ5mCaPSe_LDvLW6p_Y,782
34
36
  jaseci/actions/tests/test_actions.py,sha256=fFjAnzyMiTLlSWzMxITgSN1iIpWd6-oOk9qBK2W2PWw,1740
35
- jaseci/actions/tests/test_std.py,sha256=3a0M548Dyqw1wPnmp6EM7cLqqocb4-fbrFTDv1wEQhA,1792
37
+ jaseci/actions/tests/test_std.py,sha256=6ZFOShmrenhmg9-9a1Tj3JczQOcKlB5QBwnU29to1iU,1718
36
38
  jaseci/actor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
39
  jaseci/actor/architype.py,sha256=VtDeDCd4eMt9I4444BdQMCeWQeBn6cnc1PsAIgvF1sg,2215
38
40
  jaseci/actor/sentinel.py,sha256=eIVi_HlWvXkYgopPdmJ6-DrZ6xvJvlFOKMPDljdirZ0,9304
39
- jaseci/actor/walker.py,sha256=20jNv2189gHa2TDiovzm6I9MvdVmwqydPx2To-Hf0Zk,8299
41
+ jaseci/actor/walker.py,sha256=F6Nl42AQ1aK_Unb-QBk7moevMp0C3fSkR3zi3WmT9Aw,8397
40
42
  jaseci/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
43
  jaseci/api/actions_api.py,sha256=YL49nHKyrl-SrUvnqBw2VEn1GDOFc2e5i1vECrmjaZk,6584
42
44
  jaseci/api/alias_api.py,sha256=fDPfnx5P3zGtEjIVXLSKrW-6ZgxGtecXJD3yvKxoJSw,5150
43
45
  jaseci/api/architype_api.py,sha256=rpeRmqWDb9YhGjd9RJeJ1LmKeiSZsCEEzFIkx22bQNA,7232
44
- jaseci/api/config_api.py,sha256=lDyxPYXmdrdGRMHI2Llk0Dry8XdtJvOqP4vHALOfjio,2435
46
+ jaseci/api/config_api.py,sha256=z6LluDWD5CwXHOBJaw8s757OCr6cYHXQKwGUBOVpzaQ,2462
45
47
  jaseci/api/global_api.py,sha256=I4rNlQvS4F7tUG4JxKyw2xdzwEndiS_6p2pH-vZ3L6s,1901
46
48
  jaseci/api/graph_api.py,sha256=D1Nd8WnSDANBdTS_nLQHLnLGuLUCw3lLBWw1gOZ7C9o,5069
47
49
  jaseci/api/interface.py,sha256=EUq_A4HE3hziq5tvxWJuyVctN8k9czIAjq975_pfE7k,9591
48
- jaseci/api/jac_api.py,sha256=t7TFw4p2HfP6y5qV6mOBk_KECtpXI0MaqFlnI8I4NKM,5835
49
- jaseci/api/jsorc_api.py,sha256=us1aynDhojhl1c7WTOJyk5Evna17nKt4IQvgjwjc800,10609
50
+ jaseci/api/jac_api.py,sha256=u--zA36bmKLOdko2V25IYtOO5b8vTUE1afPvIsqb6Xw,5797
51
+ jaseci/api/jsorc_api.py,sha256=uIu-bbJihLokmzQ4Yn_wNxzDIAw0ph26RStybmykIZA,8724
50
52
  jaseci/api/logger_api.py,sha256=afO5VGLoLTC_rzeSu09zMn7SO8ezQ2QEA4oGB9ADe9c,2798
51
53
  jaseci/api/master_api.py,sha256=LJ_Vf78AtpUk0NiwW6OO13aaPapnugH-DrDyeZNGAxM,4135
52
54
  jaseci/api/object_api.py,sha256=U5kB7xk3i7lD-R6BtiKSnBlrA27i_zq5XbPeAhlKktM,3197
53
- jaseci/api/prometheus_api.py,sha256=dLIJvMzqLdbM89vjwjC9WzNdUXeW2NP3-XqSNIqy51U,1487
54
- jaseci/api/queue_api.py,sha256=cUBh1IQmPsk758lW9cCvgoaRHfE7wRvj1y_cX14dr9o,991
55
+ jaseci/api/prometheus_api.py,sha256=WoznBPHI8sE69LUKFEhE0iZ6vx81agMfqfsJmlh0YRw,1132
56
+ jaseci/api/queue_api.py,sha256=CMBafZjGCqRCt7ONRFA25b0S1paLxkG1-83gbm5Q_2I,1112
55
57
  jaseci/api/sentinel_api.py,sha256=NNh7802MR8U71cOKRnb9uqDkl61bHAVRm7mSyxrTF9k,9626
56
58
  jaseci/api/super_api.py,sha256=wbRRWtiLyJftT0WRhRtzbOuencSifK71uwgSRL8mY4s,1994
57
- jaseci/api/user_api.py,sha256=T4b0_uBfbDxT2gdcfu8CEZhQyPFymwaj2-g4XSXhSSI,5397
59
+ jaseci/api/user_api.py,sha256=-B4gRhEcr1eaNIsGnhRBZjZAeJLW5z3xx9z8MWOZzcY,5354
58
60
  jaseci/api/walker_api.py,sha256=T7KPL84Y3WZpHZ5HOg4iglVf9nYaboJjknXN6DHT6oo,8732
59
- jaseci/api/webhook_api.py,sha256=8miLOmx0SN8Dha54bwf8SWhaA5ITNkw6Jva7m9K3lkM,1861
61
+ jaseci/api/webhook_api.py,sha256=5Cg2UnhfUs13bVK1yggEQzt3cQWPtpgINF2DAFiQfio,1908
60
62
  jaseci/api/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
63
  jaseci/api/tests/test_architype_api.py,sha256=zq3_lwFQUWC8ZULWX-pWsR9MP7PgZrB_C9dqdlyAJUY,1820
62
- jaseci/api/tests/test_global_api.py,sha256=Nr6KGqEWvCEdhPqr6eEgqyZVqhGHVKQkV0GybhJW1VA,6776
64
+ jaseci/api/tests/test_global_api.py,sha256=Dr84G7MHIG0TScX6WEvTTLSvpFili3Jaje3YWqBZhdY,6730
63
65
  jaseci/api/tests/test_graph_api.py,sha256=1QNKzaO-LdOalzfAvi-iGJIeR6DWwZf7WAZqK1uV3cY,2304
64
- jaseci/api/tests/test_logger_api.py,sha256=Zr7wjdfzJFYbqEQcXjeWiGcjpMXNIqLVrtW_y6zrSY0,1476
66
+ jaseci/api/tests/test_logger_api.py,sha256=M1AE5PPtpcsrH9a199C0idBKWNhxwS2hr8zy-4m3x78,1525
65
67
  jaseci/api/tests/test_sentinel_api.py,sha256=tLvkW3qFkFc2M1qE84_-UomAlOFPn_tDd0e8kMXyils,1988
66
68
  jaseci/api/tests/test_user_api.py,sha256=4MXXjd48uRbZs0CvEkuVIisCjIM4QrIiARt3mgafXGk,873
67
69
  jaseci/api/tests/test_walker_api.py,sha256=e-M_9X0Z23wf5-ICqX-Q_4o48GQnIC-EScAbttuLjR8,11782
68
70
  jaseci/attr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- jaseci/attr/action.py,sha256=ejeFpV1o5MN1huhfya3E-cJocMa9F2NkHDpwopJpOwQ,3311
71
+ jaseci/attr/action.py,sha256=bKOFrTD3x5qem7ZKMNMke9fKa11lwZXGSUhXfroqa1k,3388
70
72
  jaseci/attr/item.py,sha256=LJ7Fw3EpyEF1WJFiSu7WtNs2kTbVGTkd1lo-ED0VaHQ,613
71
73
  jaseci/element/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
74
  jaseci/element/element.py,sha256=kP-k5HRwJPw5upBLbDNVmmTDdIzV178fmWvOeXhWkGc,7664
73
- jaseci/element/master.py,sha256=dFKnNKqDGXGHpTbJ1iDWg1GijHvs4BrLcl-yZbQn2jU,1680
75
+ jaseci/element/master.py,sha256=Z1-EDwWVuK9cuGXKQeG2chFf59hZYDCWQl71W0kxdAs,1735
74
76
  jaseci/element/obj_mixins.py,sha256=Kgu7L614gjqk_NpODrxtYCKQikNkO6U9Xxaj6BOFjzg,7167
75
- jaseci/element/super_master.py,sha256=oXW0-gyL-dc3Acef505nXi44ZzQZJazTpRFDYDvgMo8,733
77
+ jaseci/element/super_master.py,sha256=dqTQeXECc-7i_7PXoTztyZLRb052i6XqUSNd_GtoLdY,794
76
78
  jaseci/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
79
  jaseci/graph/edge.py,sha256=H2ndQ25bPc-btaxcLPo0tS0f0UTpK8_g1ewStA5SXoQ,5030
78
80
  jaseci/graph/graph.py,sha256=ZUE7QAJuE-8hS_Gp0MlCHEJOPdboGuo_uviEkXFCOxE,597
79
81
  jaseci/graph/node.py,sha256=goYX_bWb5Lh1YZC9MaZCCZQxfQ3Gz7RZ766tIWCqmNs,17719
80
82
  jaseci/hook/__init__.py,sha256=awr6HvxLfVgVQySzg-5LKl5-3J4eKn3GMJOHLaoCsz8,117
81
- jaseci/hook/memory.py,sha256=p7vqyXZ6sAQCaajwbz8YL6FnPtgoH5L3hKoe2m4zguQ,7209
82
- jaseci/hook/redis.py,sha256=mEslkvcdzM8K0L-M6OeLIIAF2qCRDVArnqUlRiqIbcY,4325
83
+ jaseci/hook/memory.py,sha256=c7tv2KrEOrO8fIzKfXwxJkcd8r7iGCNviIbvNoKxDdI,7257
84
+ jaseci/hook/redis.py,sha256=80ZMY73I8jI280jn1n3VF2iZE7zeTzrW3VmfOS9RTPw,4396
83
85
  jaseci/jac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
86
  jaseci/jac/jac.g4,sha256=yY5Fi5Vfp3HaXF_aHwluNEIA3T7nmpzivchBKccl-Yg,8925
85
87
  jaseci/jac/jac_set.py,sha256=1tcA2yYIjPFfe0u7_HBsX7hHVLcSMwHxnuljhNQRSso,3360
86
88
  jaseci/jac/interpreter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
89
  jaseci/jac/interpreter/architype_interp.py,sha256=AzNTbmKB6u6uoOn7RTZV00jWFqFloUwBNrAoClds7bE,5932
88
- jaseci/jac/interpreter/interp.py,sha256=yiDSz8TIetCGfZs-DTwu7imbJODDcBdTuZwR_fb6fvI,70340
90
+ jaseci/jac/interpreter/interp.py,sha256=Cu81csd-TYg7GNZ9Vg8dRSl0eF95AQ9rxRgsAuYCVwY,70739
89
91
  jaseci/jac/interpreter/sentinel_interp.py,sha256=bz-RNjv3HXcR2uMXYs1oZCTjYW-rAaOBwCOeE-YLcvM,7164
90
92
  jaseci/jac/interpreter/walker_interp.py,sha256=25BmPLqrtsNY8ryoSWKdZdkpPLxg_UpUw9FY_jeg4fc,9115
91
93
  jaseci/jac/interpreter/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -119,69 +121,50 @@ jaseci/jac/machine/jac_value.py,sha256=aAkeD591ie7hGJsQie2wHQt4El9qS-lPUk2bvqn9Z
119
121
  jaseci/jac/machine/machine_state.py,sha256=HXO066Xm3E40RCFfjJPP048mAyBkvoNxC8onqbrVb1Q,9171
120
122
  jaseci/jac/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
123
  jaseci/jac/tests/book_code.py,sha256=VZ_WL9dLGhK7wuZtAvgW6_rDC1OluiHZXuu7pX77njI,13323
122
- jaseci/jac/tests/test_book.py,sha256=PiG5B5TkX8rdUdu0NdP2hjHbhCr5_uQY4BKkXIx24fM,13884
124
+ jaseci/jac/tests/test_book.py,sha256=BdDw9cjvw_PKiPb8Qrzk-mnVtbEgEHEauO4zGAHvrPs,13860
123
125
  jaseci/jac/tests/test_lang_14.py,sha256=MAF1VcmO4SpX5o4_LyoFgrQ30mQG1mwTv4gP-oA6CSQ,1488
124
126
  jaseci/jsctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
127
  jaseci/jsctl/book_tools.py,sha256=OgaOXYCaJoCUf10mD7PO1YyxUNKfM9NlEaqM7CEUVpg,16114
126
- jaseci/jsctl/jsctl.py,sha256=jce_v7nGAenI0jFidB2ZPAAsI1-h5NMNKyEfqp3zTOk,12246
128
+ jaseci/jsctl/jsctl.py,sha256=bhioiCIjpxwSWUrB6yfweu2NW7-3CjGcY9jiVW1lCCQ,13216
127
129
  jaseci/jsctl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- jaseci/jsctl/tests/test_jsctl.py,sha256=yZD-ieBM__UDWljjpBUMp_Uo-UH_abfEfKEMsuTbCpM,20339
129
- jaseci/svc/__init__.py,sha256=ptbmFCF65Zx8kgJaXybK-sLfNFjriXl3EiWLieR0_yA,636
130
- jaseci/svc/common.py,sha256=wlB4YyESNSn-exww20mqZzYJhyPD_V74sisIaGmwhHU,27118
131
- jaseci/svc/config.py,sha256=JDlmn2buhO5Hv45f2-QeCgYdejhCTAldU5ba1UtRK90,260
132
- jaseci/svc/meta.py,sha256=YBPiqlPdES6cRj2drofamXbehOY1qyng9wBqUYN4tS4,5397
133
- jaseci/svc/state.py,sha256=BzHEm9Cx7Q-BxiUaY1sOf_xfU05IbhIQqFTZ5kIbUis,332
134
- jaseci/svc/actions_optimizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
- jaseci/svc/actions_optimizer/actions_optimizer.py,sha256=7cDLfYLkGiR9CODpdFsU5VKv0tpkQhfypdKee5rKYoI,21169
136
- jaseci/svc/actions_optimizer/actions_state.py,sha256=5p080-DtDXS9QUd2FwkrtN6-7LBqT2tmJDOKVKjDEbU,2963
137
- jaseci/svc/elastic/__init__.py,sha256=Lek-Re1ND6MZJr4Zsyle-1i8CXJNMu8hs1seZjomjaE,69
138
- jaseci/svc/elastic/config.py,sha256=FP94dJNPBLPitK2D8sE5TSRv6sKJR82GFiXhWoNTVf0,151
139
- jaseci/svc/elastic/elastic.py,sha256=ERWYQSPpLH3CxC_ZWJtlGkIWDnneze0fbmaeqVBxtnw,5903
140
- jaseci/svc/elastic/manifest.py,sha256=85AugWe98EPfAJIBxmUTm27mdflkEGe-W7GmL6kXWWA,22
141
- jaseci/svc/jsorc-backup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
- jaseci/svc/jsorc-backup/jaseci-redis.yaml,sha256=y82bb3dMeNyW_743tsZbiq5OCYSbt4CBQQT6X5G16_w,928
143
- jaseci/svc/jsorc-backup/jsorc.py,sha256=T7vGho3_AZrBoeiN6aL0XsCcIEaNtQmhIFJwyWDH5Jo,6336
144
- jaseci/svc/jsorc-backup/promon/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
- jaseci/svc/jsorc-backup/promon/promon.py,sha256=Muxoilnk0YzjLZXRnoJNuWfYFYW__Ptb2_UV-WmuT0U,6892
146
- jaseci/svc/mail/__init__.py,sha256=s9P_LtM0gPX53aBenINx_lecDQE6GVoCC7UPMPu0YeY,126
147
- jaseci/svc/mail/config.py,sha256=ctqJaVBJX18VVyeWXxU7t8cijCl4PAfmbAcPcaR5zWU,875
148
- jaseci/svc/mail/mail.py,sha256=E7OI6WjvZeunB8pq8u5podiAWk-UaTgRHk8BXG8Ifh8,4697
149
- jaseci/svc/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
- jaseci/svc/postgres/manifest.py,sha256=GtjXWfsbuUFjG_g-k-HBfS_zpa97d4WnzqLbl6LQvho,4322
151
- jaseci/svc/prometheus/__init__.py,sha256=RHZZU8dHrY22kAN8DKR4VivSAf4OPa30XxvTbfYsCgI,82
152
- jaseci/svc/prometheus/config.py,sha256=wTvprCTbK5XK7Ggp-mkly-eQqjvPqekstbwv1hNdHdE,198
153
- jaseci/svc/prometheus/manifest.py,sha256=SLetKvv4Guy19qdHLLdC4Qpndwl5dPb7WreNIplHeP8,53949
154
- jaseci/svc/prometheus/prometheus.py,sha256=OYlEdfHkPuulre8aL1uTEzBUDoRdzf7kiyh1d17di04,9888
155
- jaseci/svc/redis/__init__.py,sha256=N-iO01qiES2m8fuXpiCT-kinqwI48AEM00XwTImHfro,72
156
- jaseci/svc/redis/config.py,sha256=WH_dLmvqPfnYSR0ROEFjbux5hLW3uDrmCFwwwfIP2Vg,215
157
- jaseci/svc/redis/manifest.py,sha256=4E1y6qpsA4WDwNjjTRy7ivP08mGJKORU95cEji8WNHk,2470
158
- jaseci/svc/redis/redis.py,sha256=ZcpVgovCHjzJicTn4QO_2KIokRPIHf1I57k7p1ebBag,2071
159
- jaseci/svc/stripe/__init__.py,sha256=f0TvRKde7e9H0XxYU98gODm8XIXZh8rZTuHnx0zk53Q,66
160
- jaseci/svc/stripe/config.py,sha256=bpehigqlrv_r102DrTyv8s2ASUM5tLv9NUdrkv-GH6I,145
161
- jaseci/svc/stripe/stripe.py,sha256=WKjZmfkZ2f9wmSNF7P8u8VErel_60kazeeCYFjDGwUI,1943
162
- jaseci/svc/task/__init__.py,sha256=VVmoDhAf0C7r1bVrGBMSQNlzQM6k4fjiYn7Dv6jaFWc,69
163
- jaseci/svc/task/common.py,sha256=3oYeI7_w7SEc_DrBwfwkNlV5_WOZHW2x-EvAxtxej8w,10655
164
- jaseci/svc/task/config.py,sha256=JgCTIJAvoWnpCHD8AwqWSFZkmHXbOpecmHt2irRXCvw,440
165
- jaseci/svc/task/task.py,sha256=90sceMI2x9NSFbZbESYZXUdwfX4cHNJGUn_ssi0luqg,3876
130
+ jaseci/jsctl/tests/test_jsctl.py,sha256=uJMnp-6OWoHwlaek4hjQyqwWWKwGriYZFjipFZsoJcY,20461
131
+ jaseci/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
+ jaseci/manifests/database.yaml,sha256=PyrhGMC4w1r-m80N9joAFDQsLGhVRyx9g3YbCIoAPSE,2148
133
+ jaseci/manifests/elastic.yaml,sha256=A-gVfIu2yhSXFxQjgOSZtNfyQHUoajM6A1qU_m_T_KM,473706
134
+ jaseci/manifests/prometheus.yaml,sha256=PaUOO4onSMuwQkCG1yUus3BRnSbRrGBKewDLnasj-zs,33998
135
+ jaseci/manifests/redis.yaml,sha256=5qQG8gRMve6q8NZqOTU_gs-rYSNKCC_81zsKHKB56a4,1248
136
+ jaseci/svc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
+ jaseci/svc/elastic_svc.py,sha256=KvQl4KRWvIidK8bUmzAOnMgabYDZnXE4X0niee-KhWs,5505
138
+ jaseci/svc/kube_svc.py,sha256=n-6u5oh00mVYIJP_rQBHJZmsr5Rwxwl5hGuEO9UAx7I,9830
139
+ jaseci/svc/mail_svc.py,sha256=RvgjIzxcNVijAlJqV4myMkznqccRK3l1m493scLhKjQ,4625
140
+ jaseci/svc/prome_svc.py,sha256=o5sYjasd7_XF_hAyWOJttohHUy2PkU_1exrsyuCb9jA,9484
141
+ jaseci/svc/redis_svc.py,sha256=rWTJvB0PQZ-X8e20OjuOGGtIbFEzLy0s8AlQVjYbAzU,1489
142
+ jaseci/svc/stripe_svc.py,sha256=q6oIc5Lwp3hj6OcJb7kuxVmQ4ugVsGU14tbfCzG2zH4,1830
143
+ jaseci/svc/task_svc.py,sha256=NffUeIPAg1LZyiDLDWdyCg_92Rw92FjzVI4IHn-NClk,3923
144
+ jaseci/svc/tasks.py,sha256=PmwV5yGW2JioG2ERBi5yGmU24c7xbKsFMDfuYc3GVjY,10166
166
145
  jaseci/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
146
  jaseci/tests/infer.py,sha256=qGGUlXq7_m_ttAul2ZL2VMpcNx11t9yyEhsAyhXDCtY,900
168
147
  jaseci/tests/jac_test_code.py,sha256=G9CpyOAZvIz_9dMIiw6a2n-I6ybEIb2tx3vLQyOu-fQ,25194
169
- jaseci/tests/jac_test_progs.py,sha256=6oHj4IMIDTHhVjJsJVTBW0iLCnwjK21QDAS2A_R48Lo,13249
170
- jaseci/tests/test_core.py,sha256=1YK2yLMt32r3Vh2NHnJsIQRmQ2ZDPiepNZduqZUkmPI,6121
171
- jaseci/tests/test_jac.py,sha256=j5LM3_KK-RWg7q5zc0xVMYUiEx_ty5ouU2RFQHfDFuk,32292
172
- jaseci/tests/test_node.py,sha256=rlgn3kXsKvQFuFsRlbl4r0HeoyihZGtXIcPNoWswcl4,4009
173
- jaseci/tests/test_progs.py,sha256=9FLlreXJBxcrzBphVFgfTm7MZXlaYcPB3Oe-PapXJMw,22073
148
+ jaseci/tests/jac_test_progs.py,sha256=pUAvv8-uqTKJ175SfV67SO4SU8M6WqidENIDI9bg8CM,13544
149
+ jaseci/tests/test_core.py,sha256=--JKrmSeihbppS2ShhPBd3RmY4tP4bziY9Wq1uyaxvg,5933
150
+ jaseci/tests/test_jac.py,sha256=9uJ5WDdzqokD8VP4hkPLKc7OFgVL_5FjKgLz85JNe3g,31668
151
+ jaseci/tests/test_node.py,sha256=1aGxxx8fYDQ5yVp6iayw_Td44IU0CezfbG3mF1dVlNU,3817
152
+ jaseci/tests/test_progs.py,sha256=xZW__YNYavZPTpLFgNd8yMw1mg-wzmjUQ3voTHPdQB0,22251
174
153
  jaseci/tests/test_stack.py,sha256=eHjPiK4-TQNKkWOA71srDXNER9MINDBNJTw_IoiI3Ug,7587
175
- jaseci/tests/test_stripe.py,sha256=aLm-wt1JT2iQbe0RRAOPOKuQjvpwbmPBXcdtPHyRzik,8224
154
+ jaseci/tests/test_stripe.py,sha256=9UZaefinxgnR9BA-6ZBq_Hir1Urt0ZV0a_Ou3uWh3ag,8084
176
155
  jaseci/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
156
  jaseci/utils/id_list.py,sha256=L1uzwBrLRxnw3EaapOsEMA7QCsbY50RnK0nFTu2ruWo,5328
178
- jaseci/utils/json_handler.py,sha256=HMz3lUT9U9_7ksb7E-LAWVQtDIklo8fU7IqjaWDkblU,2149
157
+ jaseci/utils/json_handler.py,sha256=BCjtWaAsBlI2WrVwddNoATX6Yg7i0rbYIWQknZ43ngc,2103
179
158
  jaseci/utils/log_utils.py,sha256=U46KspmCbX6S7YzEk1LB20iB4G1DPHfpV5RFim04Mbg,1629
180
- jaseci/utils/test_core.py,sha256=lTiv12fcxBoOPFh-uZOFrCkAJuxgaWKkOv-HXS0VPPw,1197
181
- jaseci/utils/utils.py,sha256=izAhtep9DF6LOQC-Zfchbi2KO6gA5GB6T0OQkZa74wE,7745
182
- jaseci-1.4.0.9.dist-info/LICENSE,sha256=2b_qOOd7ak6x49HwOzCAmRLSPJehiBJdqj9HDX1Jp7U,1072
183
- jaseci-1.4.0.9.dist-info/METADATA,sha256=JZTrNtLUJwv5oVRi17_aNfVS6az-__eVXHLecvmUzAk,883
184
- jaseci-1.4.0.9.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
185
- jaseci-1.4.0.9.dist-info/entry_points.txt,sha256=xEFSmxCCs9itwpGaaMG6oxJRX8HSehvmwexaVLgyuqY,80
186
- jaseci-1.4.0.9.dist-info/top_level.txt,sha256=0WZh7RF_ruiaZHQSi8IWOiLRUvKKDlhcnLe-by6EyFc,7
187
- jaseci-1.4.0.9.dist-info/RECORD,,
159
+ jaseci/utils/test_core.py,sha256=FUYrPT-IA8gqJkhghRE0NVV6-pZaoG8qp5XGnzlV2EA,1100
160
+ jaseci/utils/utils.py,sha256=oLzo5MzvlhTNv-vCt4uKmOFtnHyfVS5FYQb2wtTj06U,8091
161
+ jaseci/utils/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
+ jaseci/utils/actions/actions_manager.py,sha256=3S07F896ki7txiE_gXsYM0S71KsZxDBFnKUFZP0HaMI,8510
163
+ jaseci/utils/actions/actions_optimizer.py,sha256=BUFvpzfEH1ut0iW8w7dyn-PRZyzeWxdMr0Zp_rL9aD0,20771
164
+ jaseci/utils/actions/actions_state.py,sha256=5p080-DtDXS9QUd2FwkrtN6-7LBqT2tmJDOKVKjDEbU,2963
165
+ jaseci-1.4.0.11.dist-info/LICENSE,sha256=2b_qOOd7ak6x49HwOzCAmRLSPJehiBJdqj9HDX1Jp7U,1072
166
+ jaseci-1.4.0.11.dist-info/METADATA,sha256=9eBRJcpfKBoFxIsJTIDobh6TeydL6ic0v_Tm0623T8M,925
167
+ jaseci-1.4.0.11.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
168
+ jaseci-1.4.0.11.dist-info/entry_points.txt,sha256=xEFSmxCCs9itwpGaaMG6oxJRX8HSehvmwexaVLgyuqY,80
169
+ jaseci-1.4.0.11.dist-info/top_level.txt,sha256=0WZh7RF_ruiaZHQSi8IWOiLRUvKKDlhcnLe-by6EyFc,7
170
+ jaseci-1.4.0.11.dist-info/RECORD,,