jaseci 1.4.2.5__py3-none-any.whl → 2.0.0__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 (186) hide show
  1. jaseci/__init__.py +3 -37
  2. jaseci-2.0.0.dist-info/METADATA +65 -0
  3. jaseci-2.0.0.dist-info/RECORD +4 -0
  4. {jaseci-1.4.2.5.dist-info → jaseci-2.0.0.dist-info}/WHEEL +1 -2
  5. jaseci/VERSION +0 -1
  6. jaseci/cli_tools/__init__.py +0 -0
  7. jaseci/cli_tools/book_tools.py +0 -457
  8. jaseci/cli_tools/jsctl.py +0 -500
  9. jaseci/cli_tools/tests/__init__.py +0 -0
  10. jaseci/cli_tools/tests/test_jsctl.py +0 -556
  11. jaseci/extens/__init__.py +0 -0
  12. jaseci/extens/act_lib/__init__.py +0 -0
  13. jaseci/extens/act_lib/date.py +0 -117
  14. jaseci/extens/act_lib/elastic.py +0 -87
  15. jaseci/extens/act_lib/file.py +0 -76
  16. jaseci/extens/act_lib/file_handler.py +0 -189
  17. jaseci/extens/act_lib/internal.py +0 -18
  18. jaseci/extens/act_lib/jaseci.py +0 -61
  19. jaseci/extens/act_lib/mail.py +0 -10
  20. jaseci/extens/act_lib/maths.py +0 -168
  21. jaseci/extens/act_lib/net.py +0 -191
  22. jaseci/extens/act_lib/rand.py +0 -82
  23. jaseci/extens/act_lib/regex.py +0 -85
  24. jaseci/extens/act_lib/request.py +0 -169
  25. jaseci/extens/act_lib/std.py +0 -235
  26. jaseci/extens/act_lib/storage.py +0 -53
  27. jaseci/extens/act_lib/stripe.py +0 -337
  28. jaseci/extens/act_lib/task.py +0 -13
  29. jaseci/extens/act_lib/tests/__init__.py +0 -0
  30. jaseci/extens/act_lib/tests/std_test_code.py +0 -37
  31. jaseci/extens/act_lib/tests/test_date.py +0 -26
  32. jaseci/extens/act_lib/tests/test_elastic.py +0 -159
  33. jaseci/extens/act_lib/tests/test_file.py +0 -116
  34. jaseci/extens/act_lib/tests/test_file_lib.py +0 -40
  35. jaseci/extens/act_lib/tests/test_mail_lib.py +0 -33
  36. jaseci/extens/act_lib/tests/test_maths.py +0 -147
  37. jaseci/extens/act_lib/tests/test_net_lib.py +0 -62
  38. jaseci/extens/act_lib/tests/test_regex.py +0 -61
  39. jaseci/extens/act_lib/tests/test_std.py +0 -51
  40. jaseci/extens/act_lib/tests/test_std_lib.py +0 -36
  41. jaseci/extens/act_lib/tests/test_url.py +0 -32
  42. jaseci/extens/act_lib/tests/test_vector.py +0 -36
  43. jaseci/extens/act_lib/tests/test_webtool.py +0 -44
  44. jaseci/extens/act_lib/tests/test_zlib.py +0 -24
  45. jaseci/extens/act_lib/url.py +0 -79
  46. jaseci/extens/act_lib/vector.py +0 -157
  47. jaseci/extens/act_lib/webtool.py +0 -28
  48. jaseci/extens/act_lib/zip.py +0 -33
  49. jaseci/extens/api/__init__.py +0 -0
  50. jaseci/extens/api/actions_api.py +0 -170
  51. jaseci/extens/api/alias_api.py +0 -139
  52. jaseci/extens/api/architype_api.py +0 -196
  53. jaseci/extens/api/config_api.py +0 -129
  54. jaseci/extens/api/global_api.py +0 -84
  55. jaseci/extens/api/graph_api.py +0 -167
  56. jaseci/extens/api/health_api.py +0 -20
  57. jaseci/extens/api/interface.py +0 -268
  58. jaseci/extens/api/jac_api.py +0 -171
  59. jaseci/extens/api/jsorc_api.py +0 -316
  60. jaseci/extens/api/logger_api.py +0 -89
  61. jaseci/extens/api/master_api.py +0 -133
  62. jaseci/extens/api/object_api.py +0 -101
  63. jaseci/extens/api/prometheus_api.py +0 -74
  64. jaseci/extens/api/queue_api.py +0 -140
  65. jaseci/extens/api/sentinel_api.py +0 -270
  66. jaseci/extens/api/super_api.py +0 -64
  67. jaseci/extens/api/tests/__init__.py +0 -0
  68. jaseci/extens/api/tests/test_architype_api.py +0 -66
  69. jaseci/extens/api/tests/test_global_api.py +0 -179
  70. jaseci/extens/api/tests/test_graph_api.py +0 -64
  71. jaseci/extens/api/tests/test_logger_api.py +0 -43
  72. jaseci/extens/api/tests/test_object_api.py +0 -20
  73. jaseci/extens/api/tests/test_sentinel_api.py +0 -66
  74. jaseci/extens/api/tests/test_uncommon.py +0 -107
  75. jaseci/extens/api/tests/test_user_api.py +0 -32
  76. jaseci/extens/api/tests/test_walker_api.py +0 -316
  77. jaseci/extens/api/user_api.py +0 -144
  78. jaseci/extens/api/walker_api.py +0 -298
  79. jaseci/extens/api/webhook_api.py +0 -74
  80. jaseci/extens/svc/__init__.py +0 -0
  81. jaseci/extens/svc/elastic_svc.py +0 -366
  82. jaseci/extens/svc/kube_svc.py +0 -432
  83. jaseci/extens/svc/mail_svc.py +0 -156
  84. jaseci/extens/svc/prome_svc.py +0 -378
  85. jaseci/extens/svc/redis_svc.py +0 -63
  86. jaseci/extens/svc/storage_svc.py +0 -193
  87. jaseci/extens/svc/stripe_svc.py +0 -51
  88. jaseci/extens/svc/task_svc.py +0 -155
  89. jaseci/extens/svc/tasks.py +0 -302
  90. jaseci/jac/__init__.py +0 -0
  91. jaseci/jac/interpreter/__init__.py +0 -0
  92. jaseci/jac/interpreter/architype_interp.py +0 -214
  93. jaseci/jac/interpreter/interp.py +0 -1783
  94. jaseci/jac/interpreter/sentinel_interp.py +0 -257
  95. jaseci/jac/interpreter/tests/__init__.py +0 -0
  96. jaseci/jac/interpreter/tests/test_interp.py +0 -42
  97. jaseci/jac/interpreter/walker_interp.py +0 -248
  98. jaseci/jac/ir/__init__.py +0 -0
  99. jaseci/jac/ir/ast.py +0 -73
  100. jaseci/jac/ir/ast_builder.py +0 -249
  101. jaseci/jac/ir/jac_code.py +0 -152
  102. jaseci/jac/ir/passes/__init__.py +0 -6
  103. jaseci/jac/ir/passes/ast_prune_pass.py +0 -9
  104. jaseci/jac/ir/passes/codegen_pass.py +0 -244
  105. jaseci/jac/ir/passes/ir_pass.py +0 -29
  106. jaseci/jac/ir/passes/printer_pass.py +0 -23
  107. jaseci/jac/ir/passes/pt_prune_pass.py +0 -29
  108. jaseci/jac/ir/passes/schedule.py +0 -23
  109. jaseci/jac/ir/passes/stats_pass.py +0 -16
  110. jaseci/jac/jac.g4 +0 -450
  111. jaseci/jac/jac_parse/__init__.py +0 -0
  112. jaseci/jac/jac_parse/jacLexer.py +0 -809
  113. jaseci/jac/jac_parse/jacListener.py +0 -853
  114. jaseci/jac/jac_parse/jacParser.py +0 -9192
  115. jaseci/jac/jac_set.py +0 -119
  116. jaseci/jac/jsci_vm/__init__.py +0 -0
  117. jaseci/jac/jsci_vm/disasm.py +0 -94
  118. jaseci/jac/jsci_vm/inst_ptr.py +0 -31
  119. jaseci/jac/jsci_vm/machine.py +0 -188
  120. jaseci/jac/jsci_vm/op_codes.py +0 -82
  121. jaseci/jac/jsci_vm/tests/__init__.py +0 -0
  122. jaseci/jac/jsci_vm/tests/test_codegen.py +0 -31
  123. jaseci/jac/machine/__init__.py +0 -0
  124. jaseci/jac/machine/jac_scope.py +0 -85
  125. jaseci/jac/machine/jac_value.py +0 -226
  126. jaseci/jac/machine/machine_state.py +0 -383
  127. jaseci/jac/tests/__init__.py +0 -0
  128. jaseci/jac/tests/book_code.py +0 -624
  129. jaseci/jac/tests/test_book.py +0 -380
  130. jaseci/jac/tests/test_lang_14.py +0 -49
  131. jaseci/jsorc/__init__.py +0 -7
  132. jaseci/jsorc/jsorc.py +0 -642
  133. jaseci/jsorc/jsorc_settings.py +0 -211
  134. jaseci/jsorc/jsorc_utils.py +0 -298
  135. jaseci/jsorc/live_actions.py +0 -364
  136. jaseci/jsorc/manifests/__init__.py +0 -0
  137. jaseci/jsorc/manifests/database.yaml +0 -109
  138. jaseci/jsorc/manifests/elastic.yaml +0 -6024
  139. jaseci/jsorc/manifests/prometheus.yaml +0 -1383
  140. jaseci/jsorc/manifests/redis.yaml +0 -64
  141. jaseci/jsorc/memory.py +0 -258
  142. jaseci/jsorc/redis.py +0 -139
  143. jaseci/jsorc/remote_actions.py +0 -157
  144. jaseci/jsorc/tests/__init__.py +0 -0
  145. jaseci/jsorc/tests/test_actions.py +0 -542
  146. jaseci/jsorc/tests/test_jsorc.py +0 -112
  147. jaseci/prim/__init__.py +0 -0
  148. jaseci/prim/ability.py +0 -93
  149. jaseci/prim/architype.py +0 -89
  150. jaseci/prim/edge.py +0 -172
  151. jaseci/prim/element.py +0 -233
  152. jaseci/prim/graph.py +0 -26
  153. jaseci/prim/master.py +0 -64
  154. jaseci/prim/node.py +0 -532
  155. jaseci/prim/obj_mixins.py +0 -235
  156. jaseci/prim/sentinel.py +0 -281
  157. jaseci/prim/super_master.py +0 -31
  158. jaseci/prim/walker.py +0 -261
  159. jaseci/svc/__init__.py +0 -0
  160. jaseci/tests/__init__.py +0 -0
  161. jaseci/tests/infer.py +0 -39
  162. jaseci/tests/jac_test_code.py +0 -1293
  163. jaseci/tests/jac_test_progs.py +0 -774
  164. jaseci/tests/test_core.py +0 -153
  165. jaseci/tests/test_jac.py +0 -824
  166. jaseci/tests/test_node.py +0 -89
  167. jaseci/tests/test_progs.py +0 -702
  168. jaseci/tests/test_stack.py +0 -220
  169. jaseci/tests/test_stripe.py +0 -225
  170. jaseci/utils/__init__.py +0 -0
  171. jaseci/utils/actions/__init__.py +0 -0
  172. jaseci/utils/actions/actions_manager.py +0 -254
  173. jaseci/utils/actions/actions_optimizer.py +0 -516
  174. jaseci/utils/actions/actions_state.py +0 -95
  175. jaseci/utils/file_handler.py +0 -171
  176. jaseci/utils/gprof2dot.py +0 -3786
  177. jaseci/utils/id_list.py +0 -168
  178. jaseci/utils/json_handler.py +0 -70
  179. jaseci/utils/log_utils.py +0 -57
  180. jaseci/utils/test_core.py +0 -62
  181. jaseci/utils/utils.py +0 -387
  182. jaseci-1.4.2.5.dist-info/LICENSE +0 -21
  183. jaseci-1.4.2.5.dist-info/METADATA +0 -39
  184. jaseci-1.4.2.5.dist-info/RECORD +0 -184
  185. jaseci-1.4.2.5.dist-info/entry_points.txt +0 -3
  186. jaseci-1.4.2.5.dist-info/top_level.txt +0 -1
@@ -1,87 +0,0 @@
1
- from jaseci.jsorc.live_actions import jaseci_action
2
- from jaseci.jsorc.jsorc import JsOrc
3
- from jaseci.extens.svc.elastic_svc import ElasticService, Elastic
4
-
5
-
6
- def elastic():
7
- return JsOrc.svc("elastic", ElasticService).poke(Elastic)
8
-
9
-
10
- @jaseci_action()
11
- def _post(url: str, json: dict = {}):
12
- return elastic()._post(url, json)
13
-
14
-
15
- @jaseci_action()
16
- def _get(url: str, json: dict = None):
17
- return elastic()._get(url, json)
18
-
19
-
20
- @jaseci_action()
21
- def post(url: str, body: dict, index: str = "", suffix: str = ""):
22
- return elastic().post(url, body, index, suffix)
23
-
24
-
25
- @jaseci_action()
26
- def post_act(url: str, body: dict, suffix: str = ""):
27
- return elastic().post_act(url, body, suffix)
28
-
29
-
30
- @jaseci_action()
31
- def get(url: str, body: dict, index: str = "", suffix: str = ""):
32
- return elastic().get(url, body, index)
33
-
34
-
35
- @jaseci_action()
36
- def get_act(url: str, body: dict, suffix: str = ""):
37
- return elastic().get_act(url, body, suffix)
38
-
39
-
40
- @jaseci_action()
41
- def doc(log: dict, query: str = "", index: str = "", suffix: str = ""):
42
- return elastic().doc(log, query, index, suffix)
43
-
44
-
45
- @jaseci_action()
46
- def doc_activity(log: dict, query: str = "", suffix: str = ""):
47
- return elastic().doc_activity(log, query, suffix)
48
-
49
-
50
- @jaseci_action()
51
- def search(body: dict, query: str = "", index: str = "", suffix: str = ""):
52
- return elastic().search(body, query, index, suffix)
53
-
54
-
55
- @jaseci_action()
56
- def search_activity(body: dict, query: str = "", suffix: str = ""):
57
- return elastic().search_activity(body, query, suffix)
58
-
59
-
60
- @jaseci_action()
61
- def mapping(query: str = "", index: str = "", suffix: str = ""):
62
- return elastic().mapping(query, index, suffix)
63
-
64
-
65
- @jaseci_action()
66
- def mapping_activity(query: str = "", suffix: str = ""):
67
- return elastic().mapping_activity(query, suffix)
68
-
69
-
70
- @jaseci_action()
71
- def refresh(index: str = "", suffix: str = ""):
72
- return elastic().refresh(index, suffix)
73
-
74
-
75
- @jaseci_action()
76
- def refresh_activity(suffix: str = ""):
77
- return elastic().refresh_activity(suffix)
78
-
79
-
80
- @jaseci_action()
81
- def aliases(query: str = "pretty=true"):
82
- return elastic().aliases(query)
83
-
84
-
85
- @jaseci_action()
86
- def reindex(body: dict, query: str = "pretty"):
87
- return elastic().reindex(body, query)
@@ -1,76 +0,0 @@
1
- """Built in actions for Jaseci"""
2
- from jaseci.jsorc.live_actions import jaseci_action
3
- import os
4
- import json
5
- import base64
6
-
7
-
8
- @jaseci_action()
9
- def load_str(fn: str, max_chars: int = None):
10
- """Standard built in for loading from file to string"""
11
- with open(fn, "r") as file:
12
- data = file.read(max_chars)
13
- return data
14
-
15
-
16
- @jaseci_action()
17
- def load_json(fn: str):
18
- """Standard built in for loading json from file to dictionary"""
19
- with open(fn, "r") as file:
20
- data = json.load(file)
21
- return data
22
-
23
-
24
- @jaseci_action()
25
- def load_to_b64(fn: str):
26
- """Standard built in for loading binary from file to base64"""
27
- with open(fn, "rb") as file:
28
- data = base64.b64encode(file.read()).decode("ascii")
29
- return data
30
-
31
-
32
- @jaseci_action()
33
- def dump_str(fn: str, s: str):
34
- """Standard built in for dumping to file from string"""
35
- with open(fn, "w") as file:
36
- num_chars = file.write(s)
37
- return num_chars
38
-
39
-
40
- @jaseci_action()
41
- def dump_json(fn: str, obj, indent: int = None):
42
- """Standard built in for dumping json to file from dictionary"""
43
- with open(fn, "w") as file:
44
- json.dump(obj, file, indent=indent)
45
-
46
-
47
- @jaseci_action()
48
- def dump_from_b64(fn: str, b64: str):
49
- """Standard built in for dumping binary to file from from base64"""
50
- with open(fn, "wb") as file:
51
- file.write(base64.b64decode(b64.encode("ascii")))
52
-
53
-
54
- @jaseci_action()
55
- def append_str(fn: str, s: str):
56
- """Standard built in for appending to file from string"""
57
- with open(fn, "a") as file:
58
- num_chars = file.write(s)
59
- return num_chars
60
-
61
-
62
- @jaseci_action()
63
- def append_from_b64(fn: str, b64: str):
64
- """Standard built in for appending binary to file from from base64"""
65
- with open(fn, "ab") as file:
66
- file.write(base64.b64decode(b64.encode("ascii")))
67
-
68
-
69
- @jaseci_action()
70
- def delete(fn: str):
71
- """Standard built in for deleting a file"""
72
- if os.path.exists(fn):
73
- os.remove(fn)
74
- return True
75
- else:
76
- return False
@@ -1,189 +0,0 @@
1
- """Built in actions for Jaseci"""
2
- import mimetypes
3
- import magic
4
- from os import path
5
- from urllib.parse import urlparse
6
- from requests import get
7
- from jaseci.jsorc.live_actions import jaseci_action
8
-
9
-
10
- @jaseci_action(act_group=["fh"])
11
- def load(path: str, meta: dict = {}):
12
- """temp"""
13
- from jaseci.utils.file_handler import FileHandler
14
-
15
- return meta["h"].add_file_handler(FileHandler.fromPath(path))
16
-
17
-
18
- @jaseci_action(act_group=["fh"])
19
- def new(
20
- name: str,
21
- content_type: str = None,
22
- field: str = None,
23
- persist: bool = False,
24
- meta: dict = {},
25
- ):
26
- """temp"""
27
- from jaseci.utils.file_handler import FileHandler
28
-
29
- return meta["h"].add_file_handler(
30
- FileHandler(name=name, content_type=content_type, field=field, persist=persist)
31
- )
32
-
33
-
34
- @jaseci_action
35
- def guess_type(filename: str) -> tuple:
36
- """temp"""
37
- return mimetypes.guess_type(filename)
38
-
39
-
40
- @jaseci_action(act_group=["fh"])
41
- def update(
42
- id: str,
43
- name: str = None,
44
- content_type: str = None,
45
- field: str = None,
46
- persist: bool = None,
47
- meta: dict = {},
48
- ):
49
- """temp"""
50
- from jaseci.utils.file_handler import FileHandler
51
-
52
- file_handler: FileHandler = meta["h"].get_file_handler(id)
53
- if name:
54
- file_handler.name = name
55
- if not content_type:
56
- file_handler.content_type = mimetypes.guess_type(name)[0]
57
-
58
- if content_type:
59
- file_handler.content_type = content_type
60
-
61
- if field:
62
- file_handler.field = field
63
-
64
- if persist != None:
65
- file_handler.persist = persist
66
-
67
- return file_handler.attr()
68
-
69
-
70
- @jaseci_action(act_group=["fh"])
71
- def read(
72
- id: str, offset: int = None, mode: str = "r", encoding: str = None, meta: dict = {}
73
- ):
74
- """temp"""
75
- return meta["h"].get_file_handler(id).read(offset, mode, encoding)
76
-
77
-
78
- @jaseci_action(act_group=["fh"])
79
- def seek(id: str, offset: int, whence: int = 0, meta: dict = {}):
80
- """temp"""
81
- return meta["h"].get_file_handler(id).seek(offset, whence)
82
-
83
-
84
- @jaseci_action(act_group=["fh"])
85
- def open(id: str, mode: str = "r", encoding: str = None, meta: dict = {}, **kwargs):
86
- """temp"""
87
- meta["h"].get_file_handler(id).open(mode, encoding, False, **kwargs)
88
-
89
-
90
- @jaseci_action(act_group=["fh"])
91
- def is_open(id: str, meta: dict = {}):
92
- """temp"""
93
- return meta["h"].get_file_handler(id).is_open()
94
-
95
-
96
- @jaseci_action(act_group=["fh"])
97
- def exists(id: str, meta: dict = {}):
98
- """temp"""
99
- return meta["h"].get_file_handler(id).exists()
100
-
101
-
102
- @jaseci_action(act_group=["fh"])
103
- def write(id: str, content: str, meta: dict = {}):
104
- """temp"""
105
- meta["h"].get_file_handler(id).write(content)
106
-
107
-
108
- @jaseci_action(act_group=["fh"])
109
- def flush(id: str, meta: dict = {}):
110
- """temp"""
111
- meta["h"].get_file_handler(id).flush()
112
-
113
-
114
- @jaseci_action(act_group=["fh"])
115
- def close(id: str, meta: dict = {}):
116
- """temp"""
117
- meta["h"].get_file_handler(id).close()
118
-
119
-
120
- @jaseci_action(act_group=["fh"])
121
- def detach(id: str, persist: bool = None, meta: dict = {}):
122
- """temp"""
123
- from jaseci.utils.file_handler import FileHandler
124
-
125
- file_handler: FileHandler = meta["h"].pop_file_handler(id)
126
- file_info = file_handler.attr()
127
-
128
- if (persist is None and not file_handler.persist) or persist is False:
129
- file_handler.delete()
130
- else:
131
- file_handler.close()
132
-
133
- return file_info
134
-
135
-
136
- @jaseci_action(act_group=["fh"])
137
- def delete(id: str, meta: dict = {}):
138
- """temp"""
139
- meta["h"].pop_file_handler(id).delete()
140
-
141
-
142
- @jaseci_action(act_group=["fh"])
143
- def attr(id: str, meta: dict = {}):
144
- """temp"""
145
- return meta["h"].get_file_handler(id).attr()
146
-
147
-
148
- @jaseci_action(act_group=["fh"])
149
- def to_bytes(id: str, meta: dict = {}):
150
- """temp"""
151
- return meta["h"].get_file_handler(id).to_bytes()
152
-
153
-
154
- @jaseci_action(act_group=["fh"])
155
- def to_base64(id: str, meta: dict = {}):
156
- """temp"""
157
- return meta["h"].get_file_handler(id).to_base64()
158
-
159
-
160
- @jaseci_action(act_group=["fh"])
161
- def to_json(id: str, meta: dict = {}):
162
- """temp"""
163
- return meta["h"].get_file_handler(id).to_json()
164
-
165
-
166
- @jaseci_action(act_group=["fh"])
167
- def dump_json(id: str, json, indent: int = None, meta: dict = {}):
168
- """temp"""
169
- meta["h"].get_file_handler(id).dump_json(json, indent)
170
-
171
-
172
- @jaseci_action(act_group=["fh"])
173
- def download(url: str, header: dict = {}, meta: dict = {}):
174
- """Standard built in for download file from url"""
175
- from jaseci.utils.file_handler import FileHandler
176
-
177
- tmp = FileHandler(path.basename(urlparse(url).path) or "file")
178
- meta["h"].add_file_handler(tmp)
179
-
180
- with get(url, stream=True, headers=header) as res:
181
- res.raise_for_status()
182
- tmp.open("wb+")
183
- for chunk in res.iter_content(chunk_size=8192):
184
- tmp.buffer.write(chunk)
185
-
186
- tmp.content_type = magic.from_buffer(tmp.read(0), mime=True)
187
- tmp.close()
188
-
189
- return tmp.id
@@ -1,18 +0,0 @@
1
- """Built in actions for Jaseci"""
2
- from jaseci.jsorc.live_actions import jaseci_action
3
- from jaseci.utils.utils import perf_test_start, perf_test_stop
4
-
5
- perf_tests = {}
6
-
7
-
8
- @jaseci_action()
9
- def start_perf_test(name: str = "default"):
10
- perf_tests[name] = perf_test_start()
11
-
12
-
13
- @jaseci_action()
14
- def stop_perf_test(name: str = "default"):
15
- if name not in perf_tests.keys():
16
- return
17
- calls, graph = perf_test_stop(perf_tests[name])
18
- return {"calls": calls, "graph": graph}
@@ -1,61 +0,0 @@
1
- """Built in actions for Jaseci"""
2
- from jaseci.jsorc.live_actions import jaseci_action
3
- from jaseci.utils.utils import master_from_meta, copy_func
4
- from jaseci.prim.super_master import SuperMaster
5
- import functools
6
-
7
-
8
- def interface_api(api_name, is_public, p_spec, *args, meta):
9
- """
10
- Interfaces Master apis after processing arguments/parameters
11
- from cli
12
- """
13
- mast = master_from_meta(meta)
14
- params = construct_params(p_spec, args)
15
- if is_public:
16
- return mast.public_interface_to_api(params, api_name)
17
- else:
18
- return mast.general_interface_to_api(params, api_name)
19
-
20
-
21
- def construct_params(p_spec, args):
22
- arg_count = 0
23
- params = {}
24
- for i in p_spec.keys():
25
- if i == "self":
26
- continue
27
- p_default = (
28
- p_spec[i].default if p_spec[i].default is not p_spec[i].empty else None
29
- )
30
- if arg_count < len(args):
31
- params[i] = args[arg_count]
32
- else:
33
- params[i] = p_default
34
- arg_count += 1
35
- return params
36
-
37
-
38
- def build_cmds():
39
- """
40
- Generates Click function with options for each command
41
- group and leaf signatures
42
- leaf is format: [api_name, func_sig, is_public, func_doc]
43
- """
44
-
45
- for i in SuperMaster.all_apis(None):
46
- func_name = "_".join(i["groups"])
47
- f = functools.partial(
48
- copy_func(interface_api, func_name),
49
- func_name,
50
- i in SuperMaster._public_api,
51
- i["sig"].parameters,
52
- )
53
- f.__name__ = func_name
54
- f.__doc__ = i["doc"]
55
- f.__module__ = __name__
56
-
57
- # original_args = inspect.getargspec(func).args
58
- globals()[func_name] = jaseci_action()(f)
59
-
60
-
61
- build_cmds()
@@ -1,10 +0,0 @@
1
- from jaseci.jsorc.live_actions import jaseci_action
2
- from jaseci.jsorc.jsorc import JsOrc
3
- from jaseci.extens.svc.mail_svc import Mailer
4
-
5
-
6
- @jaseci_action()
7
- def send(sender, recipients, subject, text, html):
8
- JsOrc.svc("mail").poke(Mailer).send_custom_email(
9
- sender, recipients, subject, (text, html)
10
- )
@@ -1,168 +0,0 @@
1
- import math
2
-
3
- from jaseci.jsorc.live_actions import jaseci_action
4
-
5
-
6
- @jaseci_action()
7
- def ceil(x):
8
- # return int
9
- return math.ceil(x)
10
-
11
-
12
- @jaseci_action()
13
- def comb(n, k):
14
- # return int
15
- return math.comb(n, k)
16
-
17
-
18
- @jaseci_action()
19
- def copysign(x, y):
20
- # return float
21
- return math.copysign(x, y)
22
-
23
-
24
- @jaseci_action()
25
- def fabs(x):
26
- # return float
27
- return math.fabs(x)
28
-
29
-
30
- @jaseci_action()
31
- def factorial(n):
32
- # return int
33
- return math.factorial(n)
34
-
35
-
36
- @jaseci_action()
37
- def floor(x):
38
- # return int
39
- return math.floor(x)
40
-
41
-
42
- @jaseci_action()
43
- def fmod(x, y):
44
- # return float
45
- return math.fmod(x, y)
46
-
47
-
48
- @jaseci_action()
49
- def frexp(x):
50
- # return tuple
51
- _tuple = math.frexp(x)
52
- return list(_tuple)
53
-
54
-
55
- @jaseci_action()
56
- def fsum(iterable: list):
57
- # return float
58
- return math.fsum(iterable)
59
-
60
-
61
- @jaseci_action()
62
- def gcd(args: list):
63
- args = tuple(args)
64
- # return int
65
- return math.gcd(*args)
66
-
67
-
68
- @jaseci_action()
69
- def isclose(a, b, rel_tol=1e-09, abs_tol=0.0):
70
- # return boolean
71
- return math.isclose(a, b, rel_tol=rel_tol, abs_tol=abs_tol)
72
-
73
-
74
- @jaseci_action()
75
- def isfinite(x):
76
- # return boolean
77
- return math.isfinite(x)
78
-
79
-
80
- @jaseci_action()
81
- def isinf(x):
82
- # return boolean
83
- return math.isinf(x)
84
-
85
-
86
- @jaseci_action()
87
- def isnan(x):
88
- # return boolean
89
- return math.isnan(x)
90
-
91
-
92
- @jaseci_action()
93
- def isqrt(n):
94
- # return int
95
- return math.isqrt(n)
96
-
97
-
98
- @jaseci_action()
99
- def lcm(args: list):
100
- args = tuple(args)
101
- # return int
102
- return math.lcm(*args)
103
-
104
-
105
- @jaseci_action()
106
- def ldexp(x, i):
107
- # return float
108
- return math.ldexp(x, i)
109
-
110
-
111
- @jaseci_action()
112
- def modf(x):
113
- _tupple = math.modf(x)
114
- # return list
115
- return list(_tupple)
116
-
117
-
118
- @jaseci_action()
119
- def nextafter(x, y):
120
- # return float
121
- return math.nextafter(x, y)
122
-
123
-
124
- @jaseci_action()
125
- def perm(n, k=None):
126
- # return int
127
- return math.perm(n, k)
128
-
129
-
130
- @jaseci_action()
131
- def prod(iterable, start=1):
132
- return math.prod(iterable, start=start)
133
-
134
-
135
- @jaseci_action()
136
- def remainder(x, y):
137
- # return float
138
- return math.remainder(x, y)
139
-
140
-
141
- @jaseci_action()
142
- def trunc(x):
143
- # return int
144
- return math.trunc(x)
145
-
146
-
147
- @jaseci_action()
148
- def ulp(x):
149
- # return float
150
- return math.ulp(x)
151
-
152
-
153
- @jaseci_action()
154
- def cubert(x):
155
- # return float
156
- return x ** (1 / 3)
157
-
158
-
159
- @jaseci_action()
160
- def exp(x):
161
- # return float
162
- return math.exp(x)
163
-
164
-
165
- @jaseci_action()
166
- def log(x, base):
167
- # return float
168
- return math.log(x, base)