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.
- jaseci/VERSION +1 -1
- jaseci/__init__.py +3 -0
- jaseci/actions/standard/elastic.py +3 -2
- jaseci/actions/standard/mail.py +3 -2
- jaseci/actions/standard/std.py +3 -2
- jaseci/actions/standard/stripe.py +3 -2
- jaseci/actions/standard/task.py +3 -5
- jaseci/actions/standard/tests/test_mail_lib.py +8 -7
- jaseci/actions/tests/test_std.py +4 -5
- jaseci/actor/walker.py +6 -3
- jaseci/api/config_api.py +3 -2
- jaseci/api/jac_api.py +2 -2
- jaseci/api/jsorc_api.py +60 -121
- jaseci/api/prometheus_api.py +14 -20
- jaseci/api/queue_api.py +9 -5
- jaseci/api/tests/test_global_api.py +3 -3
- jaseci/api/tests/test_logger_api.py +3 -3
- jaseci/api/user_api.py +3 -3
- jaseci/api/webhook_api.py +6 -4
- jaseci/attr/action.py +10 -4
- jaseci/element/master.py +2 -0
- jaseci/element/super_master.py +2 -0
- jaseci/hook/memory.py +3 -1
- jaseci/hook/redis.py +5 -4
- jaseci/jac/interpreter/interp.py +16 -4
- jaseci/jac/tests/test_book.py +2 -2
- jaseci/jsctl/jsctl.py +48 -15
- jaseci/jsctl/tests/test_jsctl.py +5 -0
- jaseci/jsorc.py +733 -0
- jaseci/jsorc_settings.py +184 -0
- jaseci/manifests/database.yaml +107 -0
- jaseci/manifests/elastic.yaml +5923 -0
- jaseci/manifests/prometheus.yaml +1273 -0
- jaseci/{svc/jsorc-backup/jaseci-redis.yaml → manifests/redis.yaml} +20 -0
- jaseci/svc/__init__.py +0 -25
- jaseci/svc/{elastic/elastic.py → elastic_svc.py} +5 -16
- jaseci/svc/kube_svc.py +240 -0
- jaseci/svc/{mail/mail.py → mail_svc.py} +14 -17
- jaseci/svc/{prometheus/prometheus.py → prome_svc.py} +5 -16
- jaseci/svc/{redis/redis.py → redis_svc.py} +14 -26
- jaseci/svc/{stripe/stripe.py → stripe_svc.py} +4 -7
- jaseci/svc/{task/task.py → task_svc.py} +27 -24
- jaseci/svc/{task/common.py → tasks.py} +287 -293
- jaseci/tests/jac_test_progs.py +21 -0
- jaseci/tests/test_core.py +14 -15
- jaseci/tests/test_jac.py +59 -60
- jaseci/tests/test_node.py +6 -13
- jaseci/tests/test_progs.py +74 -52
- jaseci/tests/test_stripe.py +6 -10
- jaseci/utils/actions/actions_manager.py +254 -0
- jaseci/{svc/actions_optimizer → utils/actions}/actions_optimizer.py +9 -19
- jaseci/utils/json_handler.py +2 -3
- jaseci/utils/test_core.py +4 -5
- jaseci/utils/utils.py +12 -0
- {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/METADATA +2 -1
- {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/RECORD +63 -80
- jaseci/svc/common.py +0 -763
- jaseci/svc/config.py +0 -9
- jaseci/svc/elastic/__init__.py +0 -3
- jaseci/svc/elastic/config.py +0 -8
- jaseci/svc/elastic/manifest.py +0 -1
- jaseci/svc/jsorc-backup/jsorc.py +0 -182
- jaseci/svc/jsorc-backup/promon/__init__.py +0 -0
- jaseci/svc/jsorc-backup/promon/promon.py +0 -202
- jaseci/svc/mail/__init__.py +0 -4
- jaseci/svc/mail/config.py +0 -25
- jaseci/svc/meta.py +0 -164
- jaseci/svc/postgres/__init__.py +0 -0
- jaseci/svc/postgres/manifest.py +0 -106
- jaseci/svc/prometheus/__init__.py +0 -5
- jaseci/svc/prometheus/config.py +0 -11
- jaseci/svc/prometheus/manifest.py +0 -1102
- jaseci/svc/redis/__init__.py +0 -5
- jaseci/svc/redis/config.py +0 -10
- jaseci/svc/redis/manifest.py +0 -65
- jaseci/svc/state.py +0 -17
- jaseci/svc/stripe/__init__.py +0 -3
- jaseci/svc/stripe/config.py +0 -7
- jaseci/svc/task/__init__.py +0 -5
- jaseci/svc/task/config.py +0 -17
- /jaseci/{svc/actions_optimizer → manifests}/__init__.py +0 -0
- /jaseci/{svc/jsorc-backup → utils/actions}/__init__.py +0 -0
- /jaseci/{svc/actions_optimizer → utils/actions}/actions_state.py +0 -0
- {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/LICENSE +0 -0
- {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/WHEEL +0 -0
- {jaseci-1.4.0.9.dist-info → jaseci-1.4.0.11.dist-info}/entry_points.txt +0 -0
- {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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
"""
|
jaseci/utils/json_handler.py
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
13
|
+
def setUp(self):
|
|
14
14
|
super().setUp()
|
|
15
|
-
self.
|
|
16
|
-
self.
|
|
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.
|
|
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=
|
|
2
|
-
jaseci/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
17
|
-
jaseci/actions/standard/stripe.py,sha256=
|
|
18
|
-
jaseci/actions/standard/task.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
49
|
-
jaseci/api/jsorc_api.py,sha256=
|
|
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=
|
|
54
|
-
jaseci/api/queue_api.py,sha256=
|
|
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
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
82
|
-
jaseci/hook/redis.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
129
|
-
jaseci/
|
|
130
|
-
jaseci/
|
|
131
|
-
jaseci/
|
|
132
|
-
jaseci/
|
|
133
|
-
jaseci/
|
|
134
|
-
jaseci/svc/
|
|
135
|
-
jaseci/svc/
|
|
136
|
-
jaseci/svc/
|
|
137
|
-
jaseci/svc/
|
|
138
|
-
jaseci/svc/
|
|
139
|
-
jaseci/svc/
|
|
140
|
-
jaseci/svc/
|
|
141
|
-
jaseci/svc/
|
|
142
|
-
jaseci/svc/
|
|
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=
|
|
170
|
-
jaseci/tests/test_core.py,sha256
|
|
171
|
-
jaseci/tests/test_jac.py,sha256=
|
|
172
|
-
jaseci/tests/test_node.py,sha256=
|
|
173
|
-
jaseci/tests/test_progs.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
181
|
-
jaseci/utils/utils.py,sha256=
|
|
182
|
-
jaseci
|
|
183
|
-
jaseci
|
|
184
|
-
jaseci
|
|
185
|
-
jaseci
|
|
186
|
-
jaseci-1.4.0.
|
|
187
|
-
jaseci-1.4.0.
|
|
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,,
|