jaseci 1.4.2.4__tar.gz → 1.4.2.6__tar.gz

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 (191) hide show
  1. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/PKG-INFO +7 -4
  2. jaseci-1.4.2.6/jaseci/VERSION +1 -0
  3. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/cli_tools/book_tools.py +10 -10
  4. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/date.py +1 -0
  5. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/file.py +1 -0
  6. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/file_handler.py +8 -3
  7. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/internal.py +1 -0
  8. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/jaseci.py +1 -0
  9. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/net.py +1 -0
  10. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/rand.py +1 -0
  11. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/request.py +1 -0
  12. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/std.py +8 -3
  13. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/storage.py +6 -0
  14. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/stripe.py +1 -0
  15. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/task.py +1 -0
  16. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_file.py +12 -27
  17. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/url.py +1 -0
  18. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/vector.py +1 -0
  19. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/webtool.py +3 -4
  20. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/zip.py +1 -0
  21. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/actions_api.py +1 -0
  22. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/alias_api.py +1 -0
  23. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/architype_api.py +1 -0
  24. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/global_api.py +1 -0
  25. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/graph_api.py +1 -0
  26. jaseci-1.4.2.6/jaseci/extens/api/health_api.py +21 -0
  27. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/interface.py +1 -0
  28. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/jac_api.py +1 -0
  29. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/jsorc_api.py +8 -9
  30. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/logger_api.py +1 -0
  31. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/master_api.py +2 -1
  32. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/object_api.py +1 -0
  33. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/prometheus_api.py +1 -0
  34. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/queue_api.py +1 -0
  35. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/sentinel_api.py +1 -0
  36. jaseci-1.4.2.6/jaseci/extens/api/share_api.py +64 -0
  37. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/super_api.py +1 -0
  38. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/user_api.py +22 -0
  39. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/walker_api.py +1 -0
  40. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/webhook_api.py +6 -3
  41. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/elastic_svc.py +17 -17
  42. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/kube_svc.py +37 -1
  43. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/redis_svc.py +5 -2
  44. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/storage_svc.py +75 -8
  45. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/architype_interp.py +11 -6
  46. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/interp.py +19 -4
  47. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/sentinel_interp.py +5 -2
  48. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/walker_interp.py +1 -0
  49. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/jac_code.py +2 -3
  50. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jac_set.py +1 -0
  51. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/machine/jac_scope.py +1 -0
  52. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/machine/jac_value.py +1 -0
  53. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/machine/machine_state.py +14 -3
  54. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/jsorc.py +28 -2
  55. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/jsorc_utils.py +12 -0
  56. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/live_actions.py +1 -0
  57. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/manifests/elastic.yaml +5 -0
  58. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/memory.py +1 -1
  59. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/redis.py +4 -5
  60. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/remote_actions.py +1 -0
  61. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/ability.py +8 -13
  62. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/architype.py +1 -0
  63. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/edge.py +1 -0
  64. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/graph.py +1 -0
  65. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/master.py +5 -0
  66. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/node.py +1 -0
  67. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/obj_mixins.py +6 -3
  68. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/sentinel.py +1 -0
  69. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/test_progs.py +1 -1
  70. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/test_stripe.py +3 -3
  71. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/actions/actions_optimizer.py +1 -0
  72. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/id_list.py +1 -0
  73. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci.egg-info/PKG-INFO +7 -4
  74. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci.egg-info/SOURCES.txt +2 -0
  75. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci.egg-info/requires.txt +6 -3
  76. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/setup.py +6 -3
  77. jaseci-1.4.2.4/jaseci/VERSION +0 -1
  78. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/LICENSE +0 -0
  79. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/README.md +0 -0
  80. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/__init__.py +0 -0
  81. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/cli_tools/__init__.py +0 -0
  82. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/cli_tools/jsctl.py +0 -0
  83. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/cli_tools/tests/__init__.py +0 -0
  84. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/cli_tools/tests/test_jsctl.py +0 -0
  85. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/__init__.py +0 -0
  86. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/__init__.py +0 -0
  87. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/elastic.py +0 -0
  88. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/mail.py +0 -0
  89. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/maths.py +0 -0
  90. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/regex.py +0 -0
  91. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/__init__.py +0 -0
  92. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/std_test_code.py +0 -0
  93. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_date.py +0 -0
  94. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_elastic.py +0 -0
  95. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_file_lib.py +0 -0
  96. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_mail_lib.py +0 -0
  97. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_maths.py +0 -0
  98. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_net_lib.py +0 -0
  99. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_regex.py +0 -0
  100. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_std.py +0 -0
  101. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_std_lib.py +0 -0
  102. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_url.py +0 -0
  103. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_vector.py +0 -0
  104. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_webtool.py +0 -0
  105. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/act_lib/tests/test_zlib.py +0 -0
  106. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/__init__.py +0 -0
  107. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/config_api.py +0 -0
  108. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/__init__.py +0 -0
  109. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_architype_api.py +0 -0
  110. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_global_api.py +0 -0
  111. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_graph_api.py +0 -0
  112. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_logger_api.py +0 -0
  113. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_object_api.py +0 -0
  114. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_sentinel_api.py +0 -0
  115. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_uncommon.py +0 -0
  116. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_user_api.py +0 -0
  117. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/api/tests/test_walker_api.py +0 -0
  118. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/__init__.py +0 -0
  119. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/mail_svc.py +0 -0
  120. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/prome_svc.py +0 -0
  121. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/stripe_svc.py +0 -0
  122. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/task_svc.py +0 -0
  123. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/extens/svc/tasks.py +0 -0
  124. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/__init__.py +0 -0
  125. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/__init__.py +0 -0
  126. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/tests/__init__.py +0 -0
  127. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/interpreter/tests/test_interp.py +0 -0
  128. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/__init__.py +0 -0
  129. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/ast.py +0 -0
  130. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/ast_builder.py +0 -0
  131. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/__init__.py +0 -0
  132. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/ast_prune_pass.py +0 -0
  133. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/codegen_pass.py +0 -0
  134. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/ir_pass.py +0 -0
  135. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/printer_pass.py +0 -0
  136. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/pt_prune_pass.py +0 -0
  137. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/schedule.py +0 -0
  138. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/ir/passes/stats_pass.py +0 -0
  139. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jac.g4 +0 -0
  140. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jac_parse/__init__.py +0 -0
  141. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jac_parse/jacLexer.py +0 -0
  142. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jac_parse/jacListener.py +0 -0
  143. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jac_parse/jacParser.py +0 -0
  144. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/__init__.py +0 -0
  145. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/disasm.py +0 -0
  146. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/inst_ptr.py +0 -0
  147. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/machine.py +0 -0
  148. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/op_codes.py +0 -0
  149. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/tests/__init__.py +0 -0
  150. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/jsci_vm/tests/test_codegen.py +0 -0
  151. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/machine/__init__.py +0 -0
  152. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/tests/__init__.py +0 -0
  153. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/tests/book_code.py +0 -0
  154. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/tests/test_book.py +0 -0
  155. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jac/tests/test_lang_14.py +0 -0
  156. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/__init__.py +0 -0
  157. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/jsorc_settings.py +0 -0
  158. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/manifests/__init__.py +0 -0
  159. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/manifests/database.yaml +0 -0
  160. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/manifests/prometheus.yaml +0 -0
  161. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/manifests/redis.yaml +0 -0
  162. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/tests/__init__.py +0 -0
  163. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/tests/test_actions.py +0 -0
  164. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/jsorc/tests/test_jsorc.py +0 -0
  165. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/__init__.py +0 -0
  166. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/element.py +0 -0
  167. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/super_master.py +0 -0
  168. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/prim/walker.py +0 -0
  169. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/svc/__init__.py +0 -0
  170. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/__init__.py +0 -0
  171. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/infer.py +0 -0
  172. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/jac_test_code.py +0 -0
  173. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/jac_test_progs.py +0 -0
  174. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/test_core.py +0 -0
  175. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/test_jac.py +0 -0
  176. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/test_node.py +0 -0
  177. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/tests/test_stack.py +0 -0
  178. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/__init__.py +0 -0
  179. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/actions/__init__.py +0 -0
  180. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/actions/actions_manager.py +0 -0
  181. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/actions/actions_state.py +0 -0
  182. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/file_handler.py +0 -0
  183. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/gprof2dot.py +0 -0
  184. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/json_handler.py +0 -0
  185. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/log_utils.py +0 -0
  186. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/test_core.py +0 -0
  187. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci/utils/utils.py +0 -0
  188. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci.egg-info/dependency_links.txt +0 -0
  189. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci.egg-info/entry_points.txt +0 -0
  190. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/jaseci.egg-info/top_level.txt +0 -0
  191. {jaseci-1.4.2.4 → jaseci-1.4.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaseci
3
- Version: 1.4.2.4
3
+ Version: 1.4.2.6
4
4
  Home-page: https://github.com/Jaseci-Labs/jaseci
5
5
  Author: Jason Mars
6
6
  Author-email: jason@jaseci.org
@@ -12,7 +12,8 @@ Requires-Dist: antlr4-python3-runtime<4.10.0,>=4.9.3
12
12
  Requires-Dist: fastapi[all]<1.0.0,>=0.75.0
13
13
  Requires-Dist: requests
14
14
  Requires-Dist: redis
15
- Requires-Dist: celery<6,>=5
15
+ Requires-Dist: kombu==5.3.1
16
+ Requires-Dist: celery==5.3.1
16
17
  Requires-Dist: flake8
17
18
  Requires-Dist: pep8-naming
18
19
  Requires-Dist: stripe
@@ -20,7 +21,7 @@ Requires-Dist: pydantic<2.0.0
20
21
  Requires-Dist: docstring-parser
21
22
  Requires-Dist: prometheus_api_client==0.5.1
22
23
  Requires-Dist: prometheus-client==0.14.1
23
- Requires-Dist: kubernetes==23.6.0
24
+ Requires-Dist: kubernetes==21.7.0
24
25
  Requires-Dist: pytest
25
26
  Requires-Dist: pytest-xdist
26
27
  Requires-Dist: pytest-cov
@@ -32,4 +33,6 @@ Requires-Dist: beautifulsoup4<4.13.0,>=4.12.2
32
33
  Requires-Dist: lxml<4.10.0,>=4.9.2
33
34
  Requires-Dist: html5lib<1.2,>=1.1
34
35
  Requires-Dist: prettytable<3.8.0,>=3.7.0
35
- Requires-Dist: apache-libcloud==3.7.0
36
+ Requires-Dist: apache-libcloud==3.8.0
37
+ Requires-Dist: azure-storage-blob==12.17.0
38
+ Requires-Dist: python-magic==0.4.27
@@ -0,0 +1 @@
1
+ 1.4.2.6
@@ -205,11 +205,11 @@ class Book:
205
205
  auth_level = (
206
206
  "public"
207
207
  if j in Sm._public_api
208
- else "user"
209
- if j in Sm._private_api
210
- else "admin"
211
- if j in Sm._admin_api
212
- else "cli_only"
208
+ else (
209
+ "user"
210
+ if j in Sm._private_api
211
+ else "admin" if j in Sm._admin_api else "cli_only"
212
+ )
213
213
  )
214
214
  break
215
215
  if not found:
@@ -438,11 +438,11 @@ class modifiedBook:
438
438
  auth_level = (
439
439
  "public"
440
440
  if j in Sm._public_api
441
- else "user"
442
- if j in Sm._private_api
443
- else "admin"
444
- if j in Sm._admin_api
445
- else "cli_only"
441
+ else (
442
+ "user"
443
+ if j in Sm._private_api
444
+ else "admin" if j in Sm._admin_api else "cli_only"
445
+ )
446
446
  )
447
447
  break
448
448
  if not found:
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from datetime import datetime, timedelta
3
4
  from jaseci.jsorc.live_actions import jaseci_action
4
5
  from dateutil.relativedelta import relativedelta
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from jaseci.jsorc.live_actions import jaseci_action
3
4
  import os
4
5
  import json
@@ -1,6 +1,9 @@
1
1
  """Built in actions for Jaseci"""
2
- import mimetypes
3
2
 
3
+ import mimetypes
4
+ import magic
5
+ from os import path
6
+ from urllib.parse import urlparse
4
7
  from requests import get
5
8
  from jaseci.jsorc.live_actions import jaseci_action
6
9
 
@@ -172,14 +175,16 @@ def download(url: str, header: dict = {}, meta: dict = {}):
172
175
  """Standard built in for download file from url"""
173
176
  from jaseci.utils.file_handler import FileHandler
174
177
 
175
- tmp = FileHandler("tmp")
178
+ tmp = FileHandler(path.basename(urlparse(url).path) or "file")
176
179
  meta["h"].add_file_handler(tmp)
177
180
 
178
181
  with get(url, stream=True, headers=header) as res:
179
182
  res.raise_for_status()
180
- tmp.open("wb")
183
+ tmp.open("wb+")
181
184
  for chunk in res.iter_content(chunk_size=8192):
182
185
  tmp.buffer.write(chunk)
186
+
187
+ tmp.content_type = magic.from_buffer(tmp.read(0), mime=True)
183
188
  tmp.close()
184
189
 
185
190
  return tmp.id
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from jaseci.jsorc.live_actions import jaseci_action
3
4
  from jaseci.utils.utils import perf_test_start, perf_test_stop
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from jaseci.jsorc.live_actions import jaseci_action
3
4
  from jaseci.utils.utils import master_from_meta, copy_func
4
5
  from jaseci.prim.super_master import SuperMaster
@@ -7,6 +7,7 @@ accept lists that are exclusively composed of instances of defined
7
7
  architype node and/or edges. Keep in mind that a \\lstinline{jac_set}
8
8
  is simply a list that only contains such elements.
9
9
  """
10
+
10
11
  from jaseci.jsorc.live_actions import jaseci_action
11
12
  from jaseci.utils.utils import master_from_meta
12
13
  from jaseci.jac.jac_set import JacSet
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  import random
3
4
 
4
5
  # import faker
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  import requests
3
4
  from jaseci.jsorc.live_actions import jaseci_action
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from operator import itemgetter
3
4
  from jaseci.utils.utils import app_logger, json_out
4
5
  from datetime import datetime
@@ -111,9 +112,8 @@ def actload_local(filename: str, meta):
111
112
  """
112
113
  mast = master_from_meta(meta)
113
114
  if not mast.is_master(super_check=True, silent=True):
114
- meta["interp"].rt_error(
115
- "Only super master can load actions.", meta["interp"]._cur_jac_ast
116
- )
115
+ raise Exception("Only super master can load actions.")
116
+
117
117
  return mast.actions_load_local(file=filename)["success"]
118
118
 
119
119
 
@@ -229,3 +229,8 @@ def log_activity(
229
229
  activity = elastic.generate_from_meta(meta, log, action)
230
230
 
231
231
  return elastic.doc_activity(activity, query, suffix)
232
+
233
+
234
+ @jaseci_action()
235
+ def clear_cache(all: bool = True, meta: dict = {}):
236
+ meta["h"].clear_cache(all)
@@ -23,6 +23,12 @@ def download(file: str, provider: str = None, container: str = None, meta: dict
23
23
  return meta["h"].add_file_handler(storage().download(file, provider, container))
24
24
 
25
25
 
26
+ @jaseci_action()
27
+ def cdn_url(file: str, provider: str = None, container: str = None, **kwargs):
28
+ """temp"""
29
+ return storage().cdn_url(file, provider, container, **kwargs)
30
+
31
+
26
32
  @jaseci_action()
27
33
  def delete(file: str, provider: str = None, container: str = None):
28
34
  """temp"""
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  import stripe as s
3
4
 
4
5
  from jaseci.jsorc.jsorc import JsOrc
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from jaseci.jsorc.jsorc import JsOrc
3
4
  from jaseci.jsorc.live_actions import jaseci_action
4
5
  from jaseci.extens.svc.task_svc import TaskService
@@ -52,26 +52,11 @@ class FileTest(CoreTest):
52
52
  self.assertEqual(
53
53
  {
54
54
  "id": f"{uuid}",
55
- "name": "tmp",
56
- "content_type": None,
57
- "field": None,
58
- "absolute_name": f"{uuid}-tmp",
59
- "absolute_path": f"/tmp/{uuid}-tmp",
60
- "persist": False,
61
- },
62
- reps[1],
63
- )
64
-
65
- reps = self.call_walker("download_file")
66
- uuid = reps[0]
67
- self.assertEqual(
68
- {
69
- "id": f"{uuid}",
70
- "name": "tmp",
71
- "content_type": None,
55
+ "name": "jaseci_bible.pdf",
56
+ "content_type": "application/pdf",
72
57
  "field": None,
73
- "absolute_name": f"{uuid}-tmp",
74
- "absolute_path": f"/tmp/{uuid}-tmp",
58
+ "absolute_name": f"{uuid}-jaseci_bible.pdf",
59
+ "absolute_path": f"/tmp/{uuid}-jaseci_bible.pdf",
75
60
  "persist": False,
76
61
  },
77
62
  reps[1],
@@ -84,11 +69,11 @@ class FileTest(CoreTest):
84
69
  self.assertEqual(
85
70
  {
86
71
  "id": f"{uuid}",
87
- "name": "tmp",
88
- "content_type": None,
72
+ "name": "jaseci_bible.pdf",
73
+ "content_type": "application/pdf",
89
74
  "field": None,
90
- "absolute_name": f"{uuid}-tmp",
91
- "absolute_path": f"/tmp/{uuid}-tmp",
75
+ "absolute_name": f"{uuid}-jaseci_bible.pdf",
76
+ "absolute_path": f"/tmp/{uuid}-jaseci_bible.pdf",
92
77
  "persist": False,
93
78
  },
94
79
  reps,
@@ -104,8 +89,8 @@ class FileTest(CoreTest):
104
89
  "name": "jaseci_bible.pdf",
105
90
  "content_type": "application/pdf",
106
91
  "field": None,
107
- "absolute_name": f"{uuid}-tmp",
108
- "absolute_path": f"/tmp/{uuid}-tmp",
92
+ "absolute_name": f"{uuid}-jaseci_bible.pdf",
93
+ "absolute_path": f"/tmp/{uuid}-jaseci_bible.pdf",
109
94
  "persist": False,
110
95
  },
111
96
  reps,
@@ -126,6 +111,6 @@ class FileTest(CoreTest):
126
111
  self.assertEqual({"test": 1}, kwargs["data"])
127
112
  self.assertEqual({"test": 2}, kwargs["headers"])
128
113
  self.assertEqual("file", kwargs["files"][0][0])
129
- self.assertEqual("tmp", kwargs["files"][0][1][0])
114
+ self.assertEqual("jaseci_bible.pdf", kwargs["files"][0][1][0])
130
115
  self.assertIsInstance(kwargs["files"][0][1][1], BufferedReader)
131
- self.assertIsNone(kwargs["files"][0][1][2])
116
+ self.assertEqual("application/pdf", kwargs["files"][0][1][2])
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from jaseci.jsorc.live_actions import jaseci_action
3
4
  from fastapi import HTTPException
4
5
  import base64
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  import numpy as np
3
4
  from operator import itemgetter
4
5
  import pickle, base64
@@ -1,11 +1,12 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  import requests
3
4
  from jaseci.jsorc.live_actions import jaseci_action
4
5
  from bs4 import BeautifulSoup
5
6
 
6
7
 
7
8
  @jaseci_action()
8
- def get_page_meta(url: str, timeout: int = 3, parser: str = "lxml"):
9
+ def get_page_meta(url: str, timeout: int = 3, parser: str = "lxml", headers: dict = {}):
9
10
  """
10
11
  Util to parse metadata out of urls and html documents
11
12
  Parser option: lxml (default), html5lib, html.parser
@@ -15,9 +16,7 @@ def get_page_meta(url: str, timeout: int = 3, parser: str = "lxml"):
15
16
  webpage = requests.get(
16
17
  url,
17
18
  timeout=timeout,
18
- headers={
19
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
20
- },
19
+ headers=headers,
21
20
  )
22
21
  soup = BeautifulSoup(webpage.content, features=parser)
23
22
  meta = soup.find_all("meta")
@@ -1,4 +1,5 @@
1
1
  """Built in actions for Jaseci"""
2
+
2
3
  from jaseci.jsorc.live_actions import jaseci_action
3
4
  from jaseci.utils.utils import print_stack_to_log
4
5
  from base64 import b64decode, b64encode
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Admin Global api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  import jaseci.jsorc.live_actions as lact
6
7
  import json
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Alias api as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
 
6
7
 
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Architype api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.prim.architype import Architype
6
7
  from jaseci.prim.sentinel import Sentinel
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Admin Global api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.prim.sentinel import Sentinel
6
7
  import uuid
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Graph api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.utils.id_list import IdList
6
7
  from jaseci.prim.graph import Graph
@@ -0,0 +1,21 @@
1
+ """
2
+ Health APIs
3
+ """
4
+
5
+ from jaseci.jsorc.jsorc import JsOrc
6
+ from jaseci.extens.api.interface import Interface
7
+
8
+
9
+ class HealthApi:
10
+ """
11
+ API for readiness probe
12
+ """
13
+
14
+ @Interface.public_api(allowed_methods=["get"])
15
+ def health(self):
16
+ """
17
+ readiness probe
18
+ """
19
+ # to update
20
+ # we might need to return some other information here
21
+ return JsOrc.__running__
@@ -1,6 +1,7 @@
1
1
  """
2
2
  General master interface engine for client interfaces as mixin
3
3
  """
4
+
4
5
  from inspect import signature, getdoc
5
6
  from jaseci.utils.utils import logger, is_jsonable, is_true, exc_stack_as_str_list
6
7
  from jaseci.prim.element import Element
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Jac tools api functions as a mixin
3
3
  """
4
+
4
5
  from copy import deepcopy
5
6
  import json
6
7
  import os
@@ -1,6 +1,7 @@
1
1
  """
2
2
  JSORC APIs
3
3
  """
4
+
4
5
  import json
5
6
  from json import dumps
6
7
  from time import time
@@ -118,16 +119,14 @@ class JsOrcApi:
118
119
  """
119
120
 
120
121
  # will throw exception if not existing
121
- svc = JsOrc.svc(name)
122
+ return JsOrc.svc(name).info()
122
123
 
123
- return {
124
- "enabled": svc.enabled,
125
- "automated": svc.automated,
126
- "quiet": svc.quiet,
127
- "state": svc.state.name,
128
- "config": svc.config,
129
- "error": str(svc.error) if svc.error else None,
130
- }
124
+ @Interface.admin_api(cli_args=["name"])
125
+ def service_config_set(self, name: str, config: dict):
126
+ """
127
+ Set a service config
128
+ """
129
+ return JsOrc.svc_conf_set(name, config, self._h)
131
130
 
132
131
  @Interface.admin_api(cli_args=["name"])
133
132
  def service_refresh(self, name: str):
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Logger api as a mixin
3
3
  """
4
+
4
5
  import re
5
6
  from jaseci.extens.api.interface import Interface
6
7
  from jaseci.utils.log_utils import parse_logs
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Master api as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.utils.id_list import IdList
6
7
  import uuid
@@ -72,7 +73,7 @@ class MasterApi:
72
73
  def master_active_set(self, name: str):
73
74
  """
74
75
  Sets the default master master should use
75
- NOTE: Specail handler included in general_interface_to_api
76
+ NOTE: Special handler included in general_interface_to_api
76
77
  """
77
78
  mas = self.sub_master_ids.get_obj_by_name(name)
78
79
  if not mas:
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Object api as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.prim.element import Element
6
7
 
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Prometheus APIs
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.jsorc.jsorc import JsOrc
6
7
  from jaseci.extens.svc.prome_svc import PrometheusService
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Queue api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.jsorc.jsorc import JsOrc
6
7
  from jaseci.extens.svc.task_svc import TaskService
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Sentinel api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.utils.id_list import IdList
6
7
  from jaseci.prim.sentinel import Sentinel
@@ -0,0 +1,64 @@
1
+ """
2
+ Object sharing APIs
3
+ """
4
+ from jaseci.extens.api.interface import Interface
5
+ from jaseci.prim.element import Element
6
+
7
+
8
+ class ShareApi:
9
+ """
10
+ Sharing APIs.
11
+ """
12
+
13
+ def __init__(self):
14
+ self.incoming = {}
15
+
16
+ @Interface.private_api()
17
+ def share_object(
18
+ self, receiver: str, objs: list[Element] = [], read_only: bool = True
19
+ ):
20
+ """
21
+ Sharing an object with a user
22
+ obj: The list of elements to share
23
+ receiver: master of the receiving user
24
+ read_only: if set true, the object shared will be shared as read-only
25
+ """
26
+ # Get the master object by id
27
+ receiver_mast = self._h.get_obj(
28
+ caller_id=self.jid, item_id=receiver, override=True
29
+ )
30
+
31
+ for obj in objs:
32
+ # Grant read-only permission to the new user
33
+ self.object_perms_grant(obj, receiver_mast, read_only=read_only)
34
+ obj.save()
35
+
36
+ # Add the objet id to the receiver's incoming list
37
+ receiver_mast.incoming[str(obj.id)] = {"jid": self.jid, "name": self.name}
38
+
39
+ receiver_mast.save()
40
+ self.save()
41
+
42
+ return {
43
+ "objects": [str(obj) for obj in objs],
44
+ "sharer": str(self),
45
+ "receiver": str(receiver_mast),
46
+ }
47
+
48
+ @Interface.private_api()
49
+ def share_incoming_pop(self, obj_id: str):
50
+ """
51
+ Remove an item from the incoming list
52
+ """
53
+ try:
54
+ self.incoming.pop(obj_id)
55
+ return True
56
+ except Exception:
57
+ return None
58
+
59
+ @Interface.private_api()
60
+ def share_incoming_list(self):
61
+ """
62
+ Get the incoming objects
63
+ """
64
+ return self.incoming
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Super (master) api as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.prim.master import Master
6
7
 
@@ -1,6 +1,7 @@
1
1
  """
2
2
  User API
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.jsorc.jsorc import JsOrc
6
7
 
@@ -142,3 +143,24 @@ class UserApi:
142
143
  Permanently delete master with given id
143
144
  """
144
145
  pass
146
+
147
+ @Interface.private_api()
148
+ def user_search(
149
+ self,
150
+ name: str,
151
+ detailed: bool = False,
152
+ create_if_not_exist: bool = False,
153
+ create_fields: dict = {},
154
+ ):
155
+ """
156
+ Search for user and returns its master jid.
157
+ Create new one if the user doesn't already exist, optionally.
158
+ create_fields will be forwarded to the user create endpoint, including
159
+ password
160
+ global_init
161
+ global_init_ctx
162
+ other_fields
163
+ send_email
164
+ See the user_create API for more details.
165
+ """
166
+ pass
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Walker api functions as a mixin
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from jaseci.prim.walker import Walker
6
7
  from jaseci.prim.node import Node
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Webhook API
3
3
  """
4
+
4
5
  from jaseci.extens.api.interface import Interface
5
6
  from fastapi import HTTPException
6
7
  from jaseci.jsorc.jsorc import JsOrc
@@ -55,9 +56,11 @@ class WebhookApi:
55
56
  )
56
57
  sentinel = self._h.get_obj(
57
58
  master_id,
58
- self._h.get_glob("GLOB_SENTINEL")
59
- if sentinel_id == "global"
60
- else sentinel_id,
59
+ (
60
+ self._h.get_glob("GLOB_SENTINEL")
61
+ if sentinel_id == "global"
62
+ else sentinel_id
63
+ ),
61
64
  )
62
65
 
63
66
  payload = {"event": req_body}