exonware-xwnode 0.0.1.13__py3-none-any.whl → 0.0.1.15__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.
Files changed (213) hide show
  1. exonware/__init__.py +1 -1
  2. exonware/xwnode/__init__.py +1 -1
  3. exonware/xwnode/base.py +1 -1
  4. exonware/xwnode/common/__init__.py +20 -0
  5. exonware/xwnode/common/management/__init__.py +26 -0
  6. exonware/xwnode/{strategies → common/management}/manager.py +2 -2
  7. exonware/xwnode/common/monitoring/__init__.py +26 -0
  8. exonware/xwnode/{strategies → common/monitoring}/metrics.py +2 -2
  9. exonware/xwnode/{strategies → common/monitoring}/pattern_detector.py +2 -2
  10. exonware/xwnode/{strategies → common/monitoring}/performance_monitor.py +2 -2
  11. exonware/xwnode/common/patterns/__init__.py +26 -0
  12. exonware/xwnode/{strategies → common/patterns}/advisor.py +1 -1
  13. exonware/xwnode/{strategies → common/patterns}/flyweight.py +4 -4
  14. exonware/xwnode/{strategies → common/patterns}/registry.py +109 -112
  15. exonware/xwnode/common/utils/__init__.py +26 -0
  16. exonware/xwnode/{strategies/edges → edges/strategies}/__init__.py +1 -1
  17. exonware/xwnode/{strategies/edges → edges/strategies}/base.py +3 -3
  18. exonware/xwnode/facade.py +4 -3
  19. exonware/xwnode/{strategies/nodes → nodes/strategies}/__init__.py +1 -1
  20. exonware/xwnode/{strategies/nodes → nodes/strategies}/adjacency_list.py +7 -2
  21. exonware/xwnode/{strategies/nodes → nodes/strategies}/aho_corasick.py +6 -1
  22. exonware/xwnode/{strategies/nodes → nodes/strategies}/array_list.py +6 -1
  23. exonware/xwnode/{strategies/nodes → nodes/strategies}/base.py +24 -4
  24. exonware/xwnode/nodes/strategies/contracts.py +116 -0
  25. exonware/xwnode/{strategies/nodes → nodes/strategies}/deque.py +7 -2
  26. exonware/xwnode/{strategies/nodes → nodes/strategies}/hash_map.py +4 -0
  27. exonware/xwnode/{strategies/nodes → nodes/strategies}/heap.py +6 -1
  28. exonware/xwnode/{strategies/nodes → nodes/strategies}/linked_list.py +6 -1
  29. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_aho_corasick.py +6 -1
  30. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_array_list.py +4 -0
  31. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_avl_tree.py +6 -1
  32. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_b_plus_tree.py +6 -1
  33. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_bitmap.py +6 -1
  34. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_bitset_dynamic.py +6 -1
  35. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_bloom_filter.py +4 -0
  36. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_btree.py +6 -1
  37. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_count_min_sketch.py +4 -0
  38. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_cow_tree.py +6 -1
  39. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_fenwick_tree.py +6 -1
  40. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_hash_map.py +4 -0
  41. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_heap.py +6 -1
  42. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_hyperloglog.py +4 -0
  43. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_linked_list.py +4 -0
  44. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_lsm_tree.py +6 -1
  45. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_ordered_map.py +6 -1
  46. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_ordered_map_balanced.py +6 -1
  47. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_patricia.py +6 -1
  48. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_persistent_tree.py +6 -1
  49. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_radix_trie.py +6 -1
  50. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_red_black_tree.py +6 -1
  51. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_roaring_bitmap.py +6 -1
  52. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_segment_tree.py +6 -1
  53. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_set_hash.py +4 -0
  54. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_set_tree.py +6 -1
  55. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_skip_list.py +6 -1
  56. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_splay_tree.py +6 -1
  57. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_suffix_array.py +6 -1
  58. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_treap.py +6 -1
  59. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_tree_graph_hybrid.py +4 -0
  60. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_trie.py +6 -1
  61. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_union_find.py +6 -1
  62. exonware/xwnode/{strategies/nodes → nodes/strategies}/node_xdata_optimized.py +4 -0
  63. exonware/xwnode/{strategies/nodes → nodes/strategies}/priority_queue.py +7 -2
  64. exonware/xwnode/{strategies/nodes → nodes/strategies}/queue.py +7 -2
  65. exonware/xwnode/{strategies/nodes → nodes/strategies}/sparse_matrix.py +7 -2
  66. exonware/xwnode/{strategies/nodes → nodes/strategies}/stack.py +7 -2
  67. exonware/xwnode/{strategies/nodes → nodes/strategies}/trie.py +6 -1
  68. exonware/xwnode/{strategies/nodes → nodes/strategies}/union_find.py +6 -1
  69. exonware/xwnode/queries/executors/__init__.py +47 -0
  70. exonware/xwnode/queries/executors/advanced/__init__.py +37 -0
  71. exonware/xwnode/queries/executors/advanced/aggregate_executor.py +50 -0
  72. exonware/xwnode/queries/executors/advanced/ask_executor.py +50 -0
  73. exonware/xwnode/queries/executors/advanced/construct_executor.py +50 -0
  74. exonware/xwnode/queries/executors/advanced/describe_executor.py +50 -0
  75. exonware/xwnode/queries/executors/advanced/for_loop_executor.py +50 -0
  76. exonware/xwnode/queries/executors/advanced/foreach_executor.py +50 -0
  77. exonware/xwnode/queries/executors/advanced/join_executor.py +50 -0
  78. exonware/xwnode/queries/executors/advanced/let_executor.py +50 -0
  79. exonware/xwnode/queries/executors/advanced/mutation_executor.py +50 -0
  80. exonware/xwnode/queries/executors/advanced/options_executor.py +50 -0
  81. exonware/xwnode/queries/executors/advanced/pipe_executor.py +50 -0
  82. exonware/xwnode/queries/executors/advanced/subscribe_executor.py +50 -0
  83. exonware/xwnode/queries/executors/advanced/subscription_executor.py +50 -0
  84. exonware/xwnode/queries/executors/advanced/union_executor.py +50 -0
  85. exonware/xwnode/queries/executors/advanced/window_executor.py +51 -0
  86. exonware/xwnode/queries/executors/advanced/with_cte_executor.py +50 -0
  87. exonware/xwnode/queries/executors/aggregation/__init__.py +21 -0
  88. exonware/xwnode/queries/executors/aggregation/avg_executor.py +50 -0
  89. exonware/xwnode/queries/executors/aggregation/count_executor.py +38 -0
  90. exonware/xwnode/queries/executors/aggregation/distinct_executor.py +50 -0
  91. exonware/xwnode/queries/executors/aggregation/group_executor.py +50 -0
  92. exonware/xwnode/queries/executors/aggregation/having_executor.py +50 -0
  93. exonware/xwnode/queries/executors/aggregation/max_executor.py +50 -0
  94. exonware/xwnode/queries/executors/aggregation/min_executor.py +50 -0
  95. exonware/xwnode/queries/executors/aggregation/sum_executor.py +50 -0
  96. exonware/xwnode/queries/executors/aggregation/summarize_executor.py +50 -0
  97. exonware/xwnode/queries/executors/array/__init__.py +9 -0
  98. exonware/xwnode/queries/executors/array/indexing_executor.py +51 -0
  99. exonware/xwnode/queries/executors/array/slicing_executor.py +51 -0
  100. exonware/xwnode/queries/executors/base.py +257 -0
  101. exonware/xwnode/queries/executors/capability_checker.py +204 -0
  102. exonware/xwnode/queries/executors/contracts.py +166 -0
  103. exonware/xwnode/queries/executors/core/__init__.py +17 -0
  104. exonware/xwnode/queries/executors/core/create_executor.py +96 -0
  105. exonware/xwnode/queries/executors/core/delete_executor.py +99 -0
  106. exonware/xwnode/queries/executors/core/drop_executor.py +100 -0
  107. exonware/xwnode/queries/executors/core/insert_executor.py +39 -0
  108. exonware/xwnode/queries/executors/core/select_executor.py +152 -0
  109. exonware/xwnode/queries/executors/core/update_executor.py +102 -0
  110. exonware/xwnode/queries/executors/data/__init__.py +13 -0
  111. exonware/xwnode/queries/executors/data/alter_executor.py +50 -0
  112. exonware/xwnode/queries/executors/data/load_executor.py +50 -0
  113. exonware/xwnode/queries/executors/data/merge_executor.py +50 -0
  114. exonware/xwnode/queries/executors/data/store_executor.py +50 -0
  115. exonware/xwnode/queries/executors/engine.py +221 -0
  116. exonware/xwnode/queries/executors/errors.py +68 -0
  117. exonware/xwnode/queries/executors/filtering/__init__.py +25 -0
  118. exonware/xwnode/queries/executors/filtering/between_executor.py +80 -0
  119. exonware/xwnode/queries/executors/filtering/filter_executor.py +79 -0
  120. exonware/xwnode/queries/executors/filtering/has_executor.py +70 -0
  121. exonware/xwnode/queries/executors/filtering/in_executor.py +70 -0
  122. exonware/xwnode/queries/executors/filtering/like_executor.py +76 -0
  123. exonware/xwnode/queries/executors/filtering/optional_executor.py +76 -0
  124. exonware/xwnode/queries/executors/filtering/range_executor.py +80 -0
  125. exonware/xwnode/queries/executors/filtering/term_executor.py +77 -0
  126. exonware/xwnode/queries/executors/filtering/values_executor.py +71 -0
  127. exonware/xwnode/queries/executors/filtering/where_executor.py +44 -0
  128. exonware/xwnode/queries/executors/graph/__init__.py +15 -0
  129. exonware/xwnode/queries/executors/graph/in_traverse_executor.py +51 -0
  130. exonware/xwnode/queries/executors/graph/match_executor.py +51 -0
  131. exonware/xwnode/queries/executors/graph/out_executor.py +51 -0
  132. exonware/xwnode/queries/executors/graph/path_executor.py +51 -0
  133. exonware/xwnode/queries/executors/graph/return_executor.py +51 -0
  134. exonware/xwnode/queries/executors/ordering/__init__.py +9 -0
  135. exonware/xwnode/queries/executors/ordering/by_executor.py +50 -0
  136. exonware/xwnode/queries/executors/ordering/order_executor.py +51 -0
  137. exonware/xwnode/queries/executors/projection/__init__.py +9 -0
  138. exonware/xwnode/queries/executors/projection/extend_executor.py +50 -0
  139. exonware/xwnode/queries/executors/projection/project_executor.py +50 -0
  140. exonware/xwnode/queries/executors/registry.py +173 -0
  141. exonware/xwnode/queries/executors/types.py +93 -0
  142. exonware/xwnode/queries/parsers/__init__.py +26 -0
  143. exonware/xwnode/queries/parsers/base.py +86 -0
  144. exonware/xwnode/queries/parsers/contracts.py +46 -0
  145. exonware/xwnode/queries/parsers/errors.py +53 -0
  146. exonware/xwnode/queries/parsers/sql_param_extractor.py +318 -0
  147. exonware/xwnode/{strategies/queries → queries/strategies}/__init__.py +1 -1
  148. exonware/xwnode/{strategies/queries → queries/strategies}/base.py +1 -1
  149. exonware/xwnode/{strategies/queries → queries/strategies}/cql.py +1 -1
  150. exonware/xwnode/{strategies/queries → queries/strategies}/cypher.py +1 -1
  151. exonware/xwnode/{strategies/queries → queries/strategies}/datalog.py +1 -1
  152. exonware/xwnode/{strategies/queries → queries/strategies}/elastic_dsl.py +1 -1
  153. exonware/xwnode/{strategies/queries → queries/strategies}/eql.py +1 -1
  154. exonware/xwnode/{strategies/queries → queries/strategies}/flux.py +1 -1
  155. exonware/xwnode/{strategies/queries → queries/strategies}/gql.py +1 -1
  156. exonware/xwnode/{strategies/queries → queries/strategies}/graphql.py +1 -1
  157. exonware/xwnode/{strategies/queries → queries/strategies}/gremlin.py +1 -1
  158. exonware/xwnode/{strategies/queries → queries/strategies}/hiveql.py +1 -1
  159. exonware/xwnode/{strategies/queries → queries/strategies}/hql.py +1 -1
  160. exonware/xwnode/{strategies/queries → queries/strategies}/jmespath.py +1 -1
  161. exonware/xwnode/{strategies/queries → queries/strategies}/jq.py +1 -1
  162. exonware/xwnode/{strategies/queries → queries/strategies}/json_query.py +1 -1
  163. exonware/xwnode/{strategies/queries → queries/strategies}/jsoniq.py +1 -1
  164. exonware/xwnode/{strategies/queries → queries/strategies}/kql.py +1 -1
  165. exonware/xwnode/{strategies/queries → queries/strategies}/linq.py +1 -1
  166. exonware/xwnode/{strategies/queries → queries/strategies}/logql.py +1 -1
  167. exonware/xwnode/{strategies/queries → queries/strategies}/mql.py +1 -1
  168. exonware/xwnode/{strategies/queries → queries/strategies}/n1ql.py +1 -1
  169. exonware/xwnode/{strategies/queries → queries/strategies}/partiql.py +1 -1
  170. exonware/xwnode/{strategies/queries → queries/strategies}/pig.py +1 -1
  171. exonware/xwnode/{strategies/queries → queries/strategies}/promql.py +1 -1
  172. exonware/xwnode/{strategies/queries → queries/strategies}/sparql.py +1 -1
  173. exonware/xwnode/{strategies/queries → queries/strategies}/sql.py +1 -1
  174. exonware/xwnode/{strategies/queries → queries/strategies}/xml_query.py +1 -1
  175. exonware/xwnode/{strategies/queries → queries/strategies}/xpath.py +1 -1
  176. exonware/xwnode/{strategies/queries → queries/strategies}/xquery.py +1 -1
  177. exonware/xwnode/{strategies/queries → queries/strategies}/xwnode_executor.py +1 -1
  178. exonware/xwnode/{strategies/queries → queries/strategies}/xwquery.py +43 -11
  179. exonware/xwnode/strategies/__init__.py +8 -8
  180. exonware/xwnode/version.py +3 -3
  181. {exonware_xwnode-0.0.1.13.dist-info → exonware_xwnode-0.0.1.15.dist-info}/METADATA +2 -3
  182. exonware_xwnode-0.0.1.15.dist-info/RECORD +214 -0
  183. exonware/xwnode/strategies/impls/__init__.py +0 -13
  184. exonware/xwnode/strategies/nodes/_base_node.py +0 -307
  185. exonware_xwnode-0.0.1.13.dist-info/RECORD +0 -132
  186. /exonware/xwnode/{strategies → common/management}/migration.py +0 -0
  187. /exonware/xwnode/{strategies → common/utils}/simple.py +0 -0
  188. /exonware/xwnode/{strategies → common/utils}/utils.py +0 -0
  189. /exonware/xwnode/{strategies/impls → edges/strategies}/_base_edge.py +0 -0
  190. /exonware/xwnode/{strategies/edges → edges/strategies}/adj_list.py +0 -0
  191. /exonware/xwnode/{strategies/edges → edges/strategies}/adj_matrix.py +0 -0
  192. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_adj_list.py +0 -0
  193. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_adj_matrix.py +0 -0
  194. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_bidir_wrapper.py +0 -0
  195. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_block_adj_matrix.py +0 -0
  196. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_coo.py +0 -0
  197. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_csc.py +0 -0
  198. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_csr.py +0 -0
  199. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_dynamic_adj_list.py +0 -0
  200. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_flow_network.py +0 -0
  201. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_hyperedge_set.py +0 -0
  202. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_neural_graph.py +0 -0
  203. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_octree.py +0 -0
  204. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_property_store.py +0 -0
  205. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_quadtree.py +0 -0
  206. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_rtree.py +0 -0
  207. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_temporal_edgeset.py +0 -0
  208. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_tree_graph_basic.py +0 -0
  209. /exonware/xwnode/{strategies/impls → edges/strategies}/edge_weighted_graph.py +0 -0
  210. /exonware/xwnode/{strategies/impls → nodes/strategies}/_base_node.py +0 -0
  211. /exonware/xwnode/{strategies/nodes → nodes/strategies}/node_cuckoo_hash.py +0 -0
  212. {exonware_xwnode-0.0.1.13.dist-info → exonware_xwnode-0.0.1.15.dist-info}/WHEEL +0 -0
  213. {exonware_xwnode-0.0.1.13.dist-info → exonware_xwnode-0.0.1.15.dist-info}/licenses/LICENSE +0 -0
@@ -7,7 +7,7 @@ This module implements the KQL query strategy for Kusto Query Language operation
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the LINQ query strategy for Language Integrated Query ope
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the LogQL query strategy for Grafana Loki Log Query Langu
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the MQL query strategy for MongoDB Query Language operati
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the N1QL query strategy for Couchbase Query Language oper
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the PartiQL query strategy for AWS PartiQL operations.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the Pig query strategy for Apache Pig Latin operations.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the PromQL query strategy for Prometheus Query Language o
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the SPARQL query strategy for RDF data queries.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the SQL query strategy for structured data queries.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the XML Query strategy for generic XML operations.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the XPath query strategy for XML data queries.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -7,7 +7,7 @@ This module implements the XQuery query strategy for XML data queries.
7
7
  Company: eXonware.com
8
8
  Author: Eng. Muhammad AlShehri
9
9
  Email: connect@exonware.com
10
- Version: 0.0.1.13
10
+ Version: 0.0.1.15
11
11
  Generation Date: January 2, 2025
12
12
  """
13
13
 
@@ -9,7 +9,7 @@ using the existing XWNode strategy system.
9
9
  Company: eXonware.com
10
10
  Author: Eng. Muhammad AlShehri
11
11
  Email: connect@exonware.com
12
- Version: 0.0.1.13
12
+ Version: 0.0.1.15
13
13
  Generation Date: January 2, 2025
14
14
  """
15
15
 
@@ -8,7 +8,7 @@ and provides conversion between different query formats using actions in tree fo
8
8
  Company: eXonware.com
9
9
  Author: Eng. Muhammad AlShehri
10
10
  Email: connect@exonware.com
11
- Version: 0.0.1.13
11
+ Version: 0.0.1.15
12
12
  Generation Date: January 2, 2025
13
13
  """
14
14
 
@@ -21,6 +21,7 @@ from .base import AQueryStrategy
21
21
  from ...base import XWNodeBase
22
22
  from ...contracts import QueryMode, QueryTrait
23
23
  from ...errors import XWNodeTypeError, XWNodeValueError
24
+ from ..parsers.sql_param_extractor import SQLParamExtractor
24
25
 
25
26
 
26
27
  class XWQueryScriptStrategy(AQueryStrategy):
@@ -50,6 +51,9 @@ class XWQueryScriptStrategy(AQueryStrategy):
50
51
  self._mode = QueryMode.AUTO
51
52
  self._traits = QueryTrait.STRUCTURED | QueryTrait.ANALYTICAL | QueryTrait.BATCH
52
53
 
54
+ # Initialize parameter extractor for structured param extraction
55
+ self._param_extractor = SQLParamExtractor()
56
+
53
57
  if actions_tree is None:
54
58
  self._actions_tree = XWNodeBase.from_native({
55
59
  "root": {
@@ -183,11 +187,20 @@ class XWQueryScriptStrategy(AQueryStrategy):
183
187
  return statements
184
188
 
185
189
  def _parse_statement_line(self, line: str, action_type: str, line_num: int) -> Optional[Dict[str, Any]]:
186
- """Parse a single statement line."""
190
+ """
191
+ Parse a single statement line and extract structured parameters.
192
+
193
+ This now extracts structured params for executors instead of just storing raw text.
194
+ Follows DEV_GUIDELINES.md: proper parameter extraction for clean execution.
195
+ """
196
+ # Extract structured parameters using the param extractor
197
+ params = self._param_extractor.extract_params(line, action_type)
198
+
187
199
  return {
188
200
  "type": action_type,
189
201
  "id": f"action_{line_num}",
190
- "content": line,
202
+ "params": params, # Now structured!
203
+ "content": line, # Keep raw for reference
191
204
  "line_number": line_num,
192
205
  "timestamp": datetime.now().isoformat(),
193
206
  "children": [] # For nested actions
@@ -304,14 +317,33 @@ class XWQueryScriptStrategy(AQueryStrategy):
304
317
  return None
305
318
 
306
319
  def _execute_actions_tree(self, actions_tree: XWNodeBase, **kwargs) -> Any:
307
- """Execute actions tree."""
308
- # This would execute the parsed actions
309
- # For now, return a mock result
310
- return {
311
- "result": "XWQuery Script executed successfully",
312
- "actions_executed": len(actions_tree.get('root', {}).get('statements', [])),
313
- "execution_time": "0.001s"
314
- }
320
+ """
321
+ Execute actions tree - delegates to ExecutionEngine.
322
+
323
+ This method is kept for backward compatibility but should use ExecutionEngine.
324
+ Real execution happens in queries/executors/engine.py
325
+ """
326
+ # Import here to avoid circular dependency
327
+ from ..executors.engine import ExecutionEngine
328
+ from ..executors.contracts import ExecutionContext
329
+
330
+ # Get or create node from kwargs
331
+ node = kwargs.get('node')
332
+ if node is None:
333
+ raise XWNodeValueError("Node is required for execution")
334
+
335
+ # Create execution context
336
+ context = ExecutionContext(
337
+ node=node,
338
+ variables=kwargs.get('variables', {}),
339
+ options=kwargs
340
+ )
341
+
342
+ # Use real ExecutionEngine
343
+ engine = ExecutionEngine()
344
+ result = engine.execute_actions_tree(actions_tree, context)
345
+
346
+ return result.data if result.success else {'error': result.error}
315
347
 
316
348
  def add_action(self, action_type: str, **action_params) -> 'XWQueryScriptStrategy':
317
349
  """Add an action to the actions tree with proper nesting."""
@@ -15,7 +15,7 @@ This package implements the enhanced strategy system with xwsystem-inspired opti
15
15
  Company: eXonware.com
16
16
  Author: Eng. Muhammad AlShehri
17
17
  Email: connect@exonware.com
18
- Version: 0.0.1.13
18
+ Version: 0.0.1.15
19
19
  Generation Date: 07-Sep-2025
20
20
  """
21
21
 
@@ -90,15 +90,15 @@ from .queries.logql import LogQLStrategy
90
90
  from .queries.xml_query import XMLQueryStrategy
91
91
  from .queries.json_query import JSONQueryStrategy
92
92
 
93
- from .registry import StrategyRegistry, get_registry, register_node_strategy, register_edge_strategy
94
- from .advisor import StrategyAdvisor, get_advisor
95
- from .manager import StrategyManager
93
+ from ..common.patterns.registry import StrategyRegistry, get_registry, register_node_strategy, register_edge_strategy
94
+ from ..common.patterns.advisor import StrategyAdvisor, get_advisor
95
+ from ..common.management.manager import StrategyManager
96
96
 
97
97
  # Enhanced components
98
- from .flyweight import StrategyFlyweight, get_flyweight, get_flyweight_stats, clear_flyweight_cache
99
- from .pattern_detector import DataPatternDetector, get_detector, analyze_data_patterns, recommend_strategy
100
- from .performance_monitor import StrategyPerformanceMonitor, get_monitor, record_operation, get_performance_summary
101
- from .metrics import StrategyMetricsCollector, get_metrics_collector, collect_comprehensive_metrics, get_metrics_summary
98
+ from ..common.patterns.flyweight import StrategyFlyweight, get_flyweight, get_flyweight_stats, clear_flyweight_cache
99
+ from ..common.monitoring.pattern_detector import DataPatternDetector, get_detector, analyze_data_patterns, recommend_strategy
100
+ from ..common.monitoring.performance_monitor import StrategyPerformanceMonitor, get_monitor, record_operation, get_performance_summary
101
+ from ..common.monitoring.metrics import StrategyMetricsCollector, get_metrics_collector, collect_comprehensive_metrics, get_metrics_summary
102
102
 
103
103
  __all__ = [
104
104
  # Types and enums
@@ -4,7 +4,7 @@ Centralized version management for xwnode.
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Generation Date: October 07, 2025
7
+ Generation Date: October 09, 2025
8
8
 
9
9
  This module provides centralized version management for the entire xwnode project.
10
10
  All version references should import from this module to ensure consistency.
@@ -15,13 +15,13 @@ All version references should import from this module to ensure consistency.
15
15
  # =============================================================================
16
16
 
17
17
  # Main version - update this to change version across entire project
18
- __version__ = "0.0.1.13"
18
+ __version__ = "0.0.1.15"
19
19
 
20
20
  # Version components for programmatic access
21
21
  VERSION_MAJOR = 0
22
22
  VERSION_MINOR = 0
23
23
  VERSION_PATCH = 1
24
- VERSION_BUILD = 13# Set to None for releases, or build number for dev builds
24
+ VERSION_BUILD = 15# Set to None for releases, or build number for dev builds
25
25
 
26
26
  # Version metadata
27
27
  VERSION_SUFFIX = "" # e.g., "dev", "alpha", "beta", "rc1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: exonware-xwnode
3
- Version: 0.0.1.13
3
+ Version: 0.0.1.15
4
4
  Summary: Node-based data processing and graph computation library
5
5
  Project-URL: Homepage, https://exonware.com
6
6
  Project-URL: Repository, https://github.com/exonware/xwnode
@@ -19,7 +19,6 @@ Classifier: Programming Language :: Python :: 3.9
19
19
  Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
- Classifier: Programming Language :: Python :: 3.13
23
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
23
  Requires-Python: >=3.8
25
24
  Requires-Dist: exonware-xwsystem>=0.0.1
@@ -41,7 +40,7 @@ Description-Content-Type: text/markdown
41
40
  **Company:** eXonware.com
42
41
  **Author:** Eng. Muhammad AlShehri
43
42
  **Email:** connect@exonware.com
44
- **Version:** 0.0.1.13
43
+ **Version:** 0.0.1.15
45
44
 
46
45
  ## 🎯 **What is xwnode?**
47
46
 
@@ -0,0 +1,214 @@
1
+ exonware/__init__.py,sha256=OwaJSsl__tMu8N15ufFZVSEQzRZJNPo_1Cfwjn-6Y7c,324
2
+ exonware/xwnode/__init__.py,sha256=UbS5jtjb1HlHscZs5LK3iBJ6WxfwXrk5qQ5rHvo8asE,3814
3
+ exonware/xwnode/base.py,sha256=6Wv45p0IK-KGgxZUYZ5-Jc6GROWd8_nMHB4a43ImhFc,23832
4
+ exonware/xwnode/config.py,sha256=Kt8oFMhLmb-3rZdxWle-_Z3PGJj04XhZUp7K9FUnxN0,5707
5
+ exonware/xwnode/contracts.py,sha256=UHVk-7RWt-hVPJlRKVU8MnC9yE6QDAxzXji3f3UN4RE,20693
6
+ exonware/xwnode/errors.py,sha256=JZCrGdK31LlrE5cY1_s5Jb6x7zsBF0WUiE2PCWfIdNk,18396
7
+ exonware/xwnode/facade.py,sha256=AZFl1YSiJX8sUuDjuJ_gMIpiviKz-lEjIn0CRXTwwQQ,16083
8
+ exonware/xwnode/types.py,sha256=uioV6DW9nnQ0p3ZIdhYNQ5XtbQB2_INIljUkeCZox9o,34471
9
+ exonware/xwnode/version.py,sha256=YYqOMoD-SbCBN76ST1gyL8Z_3HB3Hmb23YnMbK2Wna0,2379
10
+ exonware/xwnode/common/__init__.py,sha256=mDNQoe02Z2GotSgeLKwBtIglHJpPhk1cUXi2dHU7rq0,387
11
+ exonware/xwnode/common/management/__init__.py,sha256=N4KCcoD_5p9YlSZiGnooXZJmaOo52dWNN2hFQ7thVbs,679
12
+ exonware/xwnode/common/management/manager.py,sha256=zBbEbQZfO_WcNiFAkcuZwxIHy6U7Hvco6bxKhgyqDOM,33909
13
+ exonware/xwnode/common/management/migration.py,sha256=w_YEpNiVtYBA50mGvfTVyLFz-GViyT5Adzmvlp8P4gk,20181
14
+ exonware/xwnode/common/monitoring/__init__.py,sha256=odW4av9VQ2mPZpSy9qYmLPLebm52n_pFYVJL7O3yhW0,679
15
+ exonware/xwnode/common/monitoring/metrics.py,sha256=mLvDWlcnJ5q24_cV0un96dH32e56DnDdbB-w0V0EEJA,19454
16
+ exonware/xwnode/common/monitoring/pattern_detector.py,sha256=T8zajXMrmDSTgjRmx_kWMUGe_nDZZEmpv9WFroZCPCU,21668
17
+ exonware/xwnode/common/monitoring/performance_monitor.py,sha256=tIIdcO1f72QKbtDl56rUS4Mdam6_ZQs6n_n8Ob90WLA,17474
18
+ exonware/xwnode/common/patterns/__init__.py,sha256=uMIYALBwaluuo4TbXCkVSqgtvNB9gMOlnK3t71kBkUU,675
19
+ exonware/xwnode/common/patterns/advisor.py,sha256=40pP7DRopEwlHv-QtSxeyeZC0ZJwhL-SbqVmb6G49gU,18189
20
+ exonware/xwnode/common/patterns/flyweight.py,sha256=ieM7mKkInz39mH_7hgXQseACQDLbnpb3B4xGwJ7Gd0c,11347
21
+ exonware/xwnode/common/patterns/registry.py,sha256=mbuTMNdeUzTEeG2EbwMfBxhYvzJaDs2JKwHimRL62FM,29231
22
+ exonware/xwnode/common/utils/__init__.py,sha256=0X-2I2Z9Hf9Gxqrpk0nWhstbNSgTbR9ewhkgBC4cqEM,669
23
+ exonware/xwnode/common/utils/simple.py,sha256=3hylQDJ9CRSIKdu3sc3qYJa2bQlVo7AlMQ3a0THNLxs,9079
24
+ exonware/xwnode/common/utils/utils.py,sha256=ma_C5Xpgpo0053jEWqzco4-KNyBOWanJhKvQ3Masq84,17554
25
+ exonware/xwnode/edges/strategies/__init__.py,sha256=MzqM43LbzyUfd9LH9XZ1RiPeFVRCCMssHO9TMtTPhLA,771
26
+ exonware/xwnode/edges/strategies/_base_edge.py,sha256=hmOEL3M0wz95h6FrcTBf9dzSiwemRuNyNH9bgk27AY8,13602
27
+ exonware/xwnode/edges/strategies/adj_list.py,sha256=RdvQayElMahOa239urnWqwQVkui8phj-0fsyI8FsUvM,8162
28
+ exonware/xwnode/edges/strategies/adj_matrix.py,sha256=pAsW5s264WvwUEYX7Ezgl-DW87kP8V6LZeDOuVXevqU,14744
29
+ exonware/xwnode/edges/strategies/base.py,sha256=32LoqgsXtWqpwg6Gp1FC9BmIm42yeQbhsmJjc4j6Gjc,6251
30
+ exonware/xwnode/edges/strategies/edge_adj_list.py,sha256=_QvMiSnX5Zt4pUqu6O06IceDTCKB8sOMBs5XYWte3Co,13986
31
+ exonware/xwnode/edges/strategies/edge_adj_matrix.py,sha256=Iyb2TCI7n9xCH-ZwQVZQLrJV_6MOIwKz1iECLA2rhVU,17551
32
+ exonware/xwnode/edges/strategies/edge_bidir_wrapper.py,sha256=wSv4XMVoBjjuAb9m22t5ZG3_XSynJYwmeUQe7fnLFQ0,18050
33
+ exonware/xwnode/edges/strategies/edge_block_adj_matrix.py,sha256=2TVJhSFyxqvbgPNNHnFhqsgD4ETzKS0IOS5lBEaDfok,21142
34
+ exonware/xwnode/edges/strategies/edge_coo.py,sha256=o9unqJeOuT5skhr4OSNCRTtGnvdsBSK6F8iFEQkGv_g,19970
35
+ exonware/xwnode/edges/strategies/edge_csc.py,sha256=wYtxoE7_-Ulaxhk9L8oq9VZbD4dZ1tCNESijY-wydU4,16781
36
+ exonware/xwnode/edges/strategies/edge_csr.py,sha256=My4-weNwJ9SS6cVr_aoEz2hZOJltRB23DakTEEHr90o,18634
37
+ exonware/xwnode/edges/strategies/edge_dynamic_adj_list.py,sha256=gl9CpS02LAqzNrZ7nhVWNE5iBTYLRw1SlSUrmZEXfoY,19668
38
+ exonware/xwnode/edges/strategies/edge_flow_network.py,sha256=Fgy36PBGuR-47SrNat7cc7SdDUSppScAY7bJ8m6uqJg,21473
39
+ exonware/xwnode/edges/strategies/edge_hyperedge_set.py,sha256=oYEtaen8pXX9fIKClTP9wxJ7aqTOJ_hS68WlHkw8Vf4,20764
40
+ exonware/xwnode/edges/strategies/edge_neural_graph.py,sha256=wFoYGdxh3wV2P0KmbKGkAmUyLmRtdXB_dYlGQVBYlmc,25117
41
+ exonware/xwnode/edges/strategies/edge_octree.py,sha256=NxNxaVQze97IZvkPGSkp7cuIZSj1XZ7VpEdfiLmH9YA,22969
42
+ exonware/xwnode/edges/strategies/edge_property_store.py,sha256=s5e70_soYYSZIqjBXU_zWY9FXI_bQjFmZzknu6qPQr0,25630
43
+ exonware/xwnode/edges/strategies/edge_quadtree.py,sha256=Br8v3F0Pi5G8T1UA_3IXQ6cvNQ1oJOOYAZ9GeQ2f_M8,20149
44
+ exonware/xwnode/edges/strategies/edge_rtree.py,sha256=0xGjjAzhno_PmCr-fc1JQCb1SVyLyE_J20CEYKDy118,31454
45
+ exonware/xwnode/edges/strategies/edge_temporal_edgeset.py,sha256=RjGu_u6C8sr4U7Oc4PhmxxvXMH7dycOpBVE4N1yO1qY,22127
46
+ exonware/xwnode/edges/strategies/edge_tree_graph_basic.py,sha256=GjQAT1kAcOw8eCqsIKbr7NJpXM2_FWCXk_XJN1fAlaE,9996
47
+ exonware/xwnode/edges/strategies/edge_weighted_graph.py,sha256=1w9qBMUgOf_s0bAXryXOZe_XrBOLpdofYCQNZguJfZs,16508
48
+ exonware/xwnode/nodes/strategies/__init__.py,sha256=ofOllkGy76m0p_JBREeEUrAaCMT8l24AJFPIDyAfvdI,1197
49
+ exonware/xwnode/nodes/strategies/_base_node.py,sha256=TE7ND2qSQnruJ01h1JtLI3WIzoJiLPdJnan5HeFWvwA,10270
50
+ exonware/xwnode/nodes/strategies/adjacency_list.py,sha256=1TutCdY_Be51dWEIFAEXtEC1HssfcZ3cIzJRD_Gh9qE,9049
51
+ exonware/xwnode/nodes/strategies/aho_corasick.py,sha256=fg30fOm-nKdVbKTNq365iCHqM_-eqQzn-uttoOB7Q7U,12515
52
+ exonware/xwnode/nodes/strategies/array_list.py,sha256=pgkMwMVAX9sNPDfF23VE32_otl1HzysR_K2bVzG-WvI,7185
53
+ exonware/xwnode/nodes/strategies/base.py,sha256=EghqlPvpv3a1YK6YeFrnGV-ovB9amS9ulAZhWmnSVlI,9627
54
+ exonware/xwnode/nodes/strategies/contracts.py,sha256=ga1KlDnlS3PoXa9YHBE8ddzh4V1D_P10XTqtyygDWDY,3225
55
+ exonware/xwnode/nodes/strategies/deque.py,sha256=pGR6CqzLSUoUBycHgEV6i1ysC-1bds6_noI57uA5hGM,6491
56
+ exonware/xwnode/nodes/strategies/hash_map.py,sha256=fEPE3xconVKzbx5BsQ84PHG-wy2Il2J8F7EoKF8s5mY,4617
57
+ exonware/xwnode/nodes/strategies/heap.py,sha256=VVntkz0vJgug9qpAwCTouQrmc1QNpUWMt1AuncGQUKk,10441
58
+ exonware/xwnode/nodes/strategies/linked_list.py,sha256=5thO3Bpw94S_Pnz5GQyIU5rGwXZY8IHTKyB-JHVS53c,7873
59
+ exonware/xwnode/nodes/strategies/node_aho_corasick.py,sha256=iH0yBzc43bh8hJ3ophazLJ2XTxIVhfThHIfwnG8pmG4,18674
60
+ exonware/xwnode/nodes/strategies/node_array_list.py,sha256=XdHvX1yK2BSrBZniMr1zQBY9Yms4A8P8t3hVk4lnzGQ,6113
61
+ exonware/xwnode/nodes/strategies/node_avl_tree.py,sha256=JEd3Xqb8KvA25e9kxYurHpeiXRd_THtWCEKac2NwdQs,12937
62
+ exonware/xwnode/nodes/strategies/node_b_plus_tree.py,sha256=19WpKY70wnEzl-h2ONEMIJSy3exAo5srJDnzGyZqiFk,18974
63
+ exonware/xwnode/nodes/strategies/node_bitmap.py,sha256=aI-IK-ydWDmZw_w0U5ZwAcJ1Rt7u4RAPWXHzs7MVjbw,15169
64
+ exonware/xwnode/nodes/strategies/node_bitset_dynamic.py,sha256=w9UceT9c9ahkBggJ1q96Jao-Y3NyQIhvUOcEsh-BGnE,18952
65
+ exonware/xwnode/nodes/strategies/node_bloom_filter.py,sha256=Oi2dQ7THEA_bplnPwxid-p8ltjf9qA1jsT1FimOJgvQ,13313
66
+ exonware/xwnode/nodes/strategies/node_btree.py,sha256=ekudIn6S8Gys5ayRECbELDWQ096CK0Wi-x-4yajlhHE,12361
67
+ exonware/xwnode/nodes/strategies/node_count_min_sketch.py,sha256=2tyMmBPFX7daU7Z5sQZMyJa9MXt-98bTQlcXkPdzTGA,17993
68
+ exonware/xwnode/nodes/strategies/node_cow_tree.py,sha256=jUwhavdGIanp2ia6YHwLXgqdShDlPGW6X3vAwj9K7RE,17216
69
+ exonware/xwnode/nodes/strategies/node_cuckoo_hash.py,sha256=HkwLYMfzDxBZ-UhLviBmU1v2yo1R-0sCqGkl3_ugHDQ,14958
70
+ exonware/xwnode/nodes/strategies/node_fenwick_tree.py,sha256=1M1oHIdbWLwo60KDKaRjjWyDHq9b3burmLIrLt_t2Y4,10821
71
+ exonware/xwnode/nodes/strategies/node_hash_map.py,sha256=iAffwQ22dmZgjGBo3fXtrf87868B5HOS2MgoaDFrYbQ,8742
72
+ exonware/xwnode/nodes/strategies/node_heap.py,sha256=AAlNRQkFQY-0eaDczN8vweov1_f01XmQjHARHLA3eB4,7013
73
+ exonware/xwnode/nodes/strategies/node_hyperloglog.py,sha256=K2yuhocNwXxj44RBNXnnTSp-JlG1-VzEW_VfpSsQxpE,14917
74
+ exonware/xwnode/nodes/strategies/node_linked_list.py,sha256=CV_qoYgeMAjB3gYpuMyuU3XWmmuVa3qqFrAvD6b_dVo,13513
75
+ exonware/xwnode/nodes/strategies/node_lsm_tree.py,sha256=oWgulsb0Qqfq5PBze3PPL2eNURG5VRLkuVlE05v36ss,14850
76
+ exonware/xwnode/nodes/strategies/node_ordered_map.py,sha256=H2TXHuhEOuz-CSKEaE8TGAwwaB2kAADnkTAnqpfJL0Y,14620
77
+ exonware/xwnode/nodes/strategies/node_ordered_map_balanced.py,sha256=u15_TVz4QMn79kMNcXQGpW6yJhPPi1jWWtx5d03EQ1k,20602
78
+ exonware/xwnode/nodes/strategies/node_patricia.py,sha256=cmx2oNM30Dhsj-NmvWw2GhqOsPDquwzSQUFLVgwwuBY,18790
79
+ exonware/xwnode/nodes/strategies/node_persistent_tree.py,sha256=fsdzNJYpTapbqgyxC6FAjGLYphgqufk9fHRjblHQuG4,14445
80
+ exonware/xwnode/nodes/strategies/node_radix_trie.py,sha256=vijspHG71lsU_zTNTNdWnCCdM3CjSn5FQgoG0qwyIPg,17236
81
+ exonware/xwnode/nodes/strategies/node_red_black_tree.py,sha256=cN94DNZEqZaVPLiYRAdK5BQCQSoMXGLEIhanRMqvU80,17800
82
+ exonware/xwnode/nodes/strategies/node_roaring_bitmap.py,sha256=nl3yksqHd8_3e6hBBoYL8Nl7KD1qRvEfs5346-P2Eic,20541
83
+ exonware/xwnode/nodes/strategies/node_segment_tree.py,sha256=-saFgpRyxSXlJNYUzI9gs2ERkww89DGtQQFSm06Ctfw,10874
84
+ exonware/xwnode/nodes/strategies/node_set_hash.py,sha256=zZX4zwRIuJRyhyaCIERS392No4bo0sxZRJmIkboC3wc,13379
85
+ exonware/xwnode/nodes/strategies/node_set_tree.py,sha256=DShmVvBi9vpmXXWrof92Lfb6HePIs2OoubrQUJzCT6U,15958
86
+ exonware/xwnode/nodes/strategies/node_skip_list.py,sha256=YLjBShPS4BHBRx_mlwevWOrtHS1O8f_LN93CgWFDjbw,11461
87
+ exonware/xwnode/nodes/strategies/node_splay_tree.py,sha256=xpzNwwL-o-iNG1xxt_wvkf7j1vsPmExWZ-xPdQEGFM8,13287
88
+ exonware/xwnode/nodes/strategies/node_suffix_array.py,sha256=TbWEBd8GnVHcPat4AEk5Q-mGvcXBzDegpQ0Gic8c8As,16984
89
+ exonware/xwnode/nodes/strategies/node_treap.py,sha256=I7aFY2uSecFm0YgoVCep03eol6OCb503Ge1zeqBQRSA,13897
90
+ exonware/xwnode/nodes/strategies/node_tree_graph_hybrid.py,sha256=rMjml66iaLunTnTxWpyvJHliMGLzbCnIExlfPbfCDkE,53757
91
+ exonware/xwnode/nodes/strategies/node_trie.py,sha256=5j2b20bIsSooufFj05bD3j1xR_0bi7UyQW338sH7Bvw,8678
92
+ exonware/xwnode/nodes/strategies/node_union_find.py,sha256=5MV7fPCFLbbdJvN2qSBaTZIuzLsl8zvdgzfH2jlNfGU,7271
93
+ exonware/xwnode/nodes/strategies/node_xdata_optimized.py,sha256=n1T4Y4s6d0oqwRMhWDjfV9Rf5884_C9fPPh_dCq4T6I,14495
94
+ exonware/xwnode/nodes/strategies/priority_queue.py,sha256=cakkwtW6vXnP06wdVwEvalO6QH0yJJppTjvDbQIFmZM,7930
95
+ exonware/xwnode/nodes/strategies/queue.py,sha256=F-hc83ZNE_OFZE3a5bPslsypNHSg2HGwCpl9DnVbcao,5391
96
+ exonware/xwnode/nodes/strategies/sparse_matrix.py,sha256=X_Tj6Rgr74mefH6bFnlMWEg0bXh3PNCFMEgokMfiZso,7250
97
+ exonware/xwnode/nodes/strategies/stack.py,sha256=ZUO-MzgkGgjm4EUSWkX92_YBzR3ORq6kzNKt29boGls,5158
98
+ exonware/xwnode/nodes/strategies/trie.py,sha256=hlzzr7gStVbri12SlLFLNYEA-5WXJ-LkoDPOsa8qU7I,9096
99
+ exonware/xwnode/nodes/strategies/union_find.py,sha256=ixCWYNI2Jtk8DqEauHL6qBitHViy7EZQwH-hawU2q34,10387
100
+ exonware/xwnode/queries/executors/__init__.py,sha256=qcYCTs-V0xd7CcNZoqNWorVnunVYdTBO6UZWILO5Aj8,1166
101
+ exonware/xwnode/queries/executors/base.py,sha256=pPqCGvVHOtoKeig6sJKBVVt17S5I7KYf3pPBkdhKuCE,7783
102
+ exonware/xwnode/queries/executors/capability_checker.py,sha256=mRzZc5rk-l6rr6m6uenO_ZD3pk-ZDgjTXLXoRt0oY14,8847
103
+ exonware/xwnode/queries/executors/contracts.py,sha256=chnI3h1AJeOnQRnC0ikdgUpufC23RWQWAHlIHbVRQm4,5223
104
+ exonware/xwnode/queries/executors/engine.py,sha256=FV7RL06WLMpo_dSCIcKsR04EkQK3NjWtXmjUhfAKgeI,7092
105
+ exonware/xwnode/queries/executors/errors.py,sha256=FSt9TF3rBRG-NYC_F7sjqltto5ZtDxJdG7Hp8QagtZY,1890
106
+ exonware/xwnode/queries/executors/registry.py,sha256=qW1bGcRREpedXeyw7cc8C93XWtDKpDes-1CBj7USXZw,5009
107
+ exonware/xwnode/queries/executors/types.py,sha256=qlWJxYuen8tTMvgVp8gO0UdVvA3sp54hyEMSnHIGAOE,2770
108
+ exonware/xwnode/queries/executors/advanced/__init__.py,sha256=DivB0uqu7ytZsu5YilnWt_-74D7f_JSNvwJ0ZHGvGUU,1146
109
+ exonware/xwnode/queries/executors/advanced/aggregate_executor.py,sha256=1N7y1coOLpx1DNjWJ_GKPrTh3yseIGT05qzCuuEixes,1498
110
+ exonware/xwnode/queries/executors/advanced/ask_executor.py,sha256=_9YGgjWVzztzhVVsPQQZO-GRilUpwUe5HOS8u75Bjx0,1432
111
+ exonware/xwnode/queries/executors/advanced/construct_executor.py,sha256=WueI0YZskphdXl4Kkwwd1dl_fCjhs4j7pdUoA6HD5TY,1493
112
+ exonware/xwnode/queries/executors/advanced/describe_executor.py,sha256=7PI62Lie-kNY1SKceIv8Nd80ey_vkoyU-i7YdcseQhQ,1479
113
+ exonware/xwnode/queries/executors/advanced/for_loop_executor.py,sha256=AKMGB4AB05jr4Pykc8CQpaQVTibkWU3MiZlDNG8mD94,1453
114
+ exonware/xwnode/queries/executors/advanced/foreach_executor.py,sha256=u_IDPpSQ4rj4k70ICgWnH_Qy-KnTLCTVU_a2dSo_EbE,1476
115
+ exonware/xwnode/queries/executors/advanced/join_executor.py,sha256=C1c8mlILrAd1hM-89SGeFO7kj6fxdLA5A6w42HvCaMU,1443
116
+ exonware/xwnode/queries/executors/advanced/let_executor.py,sha256=jeUuZuQp60L4mspxLu_f15PtQqYRTJAf7BBFVyb_rhw,1438
117
+ exonware/xwnode/queries/executors/advanced/mutation_executor.py,sha256=4EZr0S7k75uVsxCz9-7drIVGyhkxIIU9LKAFB8Cglm0,1476
118
+ exonware/xwnode/queries/executors/advanced/options_executor.py,sha256=tIANVVS0_82dZrKietUbGVozNY817CFGDxqF_ChzQ-w,1465
119
+ exonware/xwnode/queries/executors/advanced/pipe_executor.py,sha256=WJUtbEfZS3RD8_EDYDaEQKD-K9fKdXS-fQWpTEnCmo4,1432
120
+ exonware/xwnode/queries/executors/advanced/subscribe_executor.py,sha256=YM1FIr2Qc7bhVCeN6k-qfYZ1FmBaycpTfWDthePn7JI,1489
121
+ exonware/xwnode/queries/executors/advanced/subscription_executor.py,sha256=uRNNCfDel6ymsGpiPafKDTdBRtjdPNhPPp04aeXGoU8,1514
122
+ exonware/xwnode/queries/executors/advanced/union_executor.py,sha256=qBerTCvR83IiA7Iyk2tuGgYZU1oN7ZxNNKol1TSCZxA,1454
123
+ exonware/xwnode/queries/executors/advanced/window_executor.py,sha256=eI7MgbriDS9Wic_woqFsGBW4K6wKiRk2e2RLTTsLlAU,1519
124
+ exonware/xwnode/queries/executors/advanced/with_cte_executor.py,sha256=RjdJCRF6082ckKxEnl8haIOO_KBm9_oH-GOSOpK_1OI,1464
125
+ exonware/xwnode/queries/executors/aggregation/__init__.py,sha256=29fKp5tzR8qOpDnLaVHwItdrqiiIhUkOMfJhVWqRUJM,559
126
+ exonware/xwnode/queries/executors/aggregation/avg_executor.py,sha256=xSVKqhqlzw_dRmsu3fhOWpNOqk_GCjc-V7uS0AXtj0o,1446
127
+ exonware/xwnode/queries/executors/aggregation/count_executor.py,sha256=E3BbVA6QvBdduUgwTjRCuQdITaNO9s7IAAsUy-hQ6_I,1146
128
+ exonware/xwnode/queries/executors/aggregation/distinct_executor.py,sha256=5UABuL_2T-fFEBbC3Eo5sZ8J_XyC_gli07Bpr3mQMCM,1492
129
+ exonware/xwnode/queries/executors/aggregation/group_executor.py,sha256=1Y0EYMgGgZ0oLr82_3Bst_FDR8zrSTSTMWTqWgC475I,1463
130
+ exonware/xwnode/queries/executors/aggregation/having_executor.py,sha256=pKYS1HVbjQWseeQ_acVWW3-w8PtyZk18BqAK_-6a-Lg,1462
131
+ exonware/xwnode/queries/executors/aggregation/max_executor.py,sha256=LhdMYkv4vi3186HCKMk__hitpaPOt1-QNMdZ47OlgSg,1431
132
+ exonware/xwnode/queries/executors/aggregation/min_executor.py,sha256=1HCnwf-gO41-1Kq7cqsHQEGy3CA3UYno5VG1ACIeT24,1431
133
+ exonware/xwnode/queries/executors/aggregation/sum_executor.py,sha256=qDIAUsKKJsnRdbp3wXZTaPhpu3qVKi05jrcALa0qFRo,1442
134
+ exonware/xwnode/queries/executors/aggregation/summarize_executor.py,sha256=0v0NPK9Xcb6_kAJtYv-dFIYkoqW0oJtdlqE4M-ksSnM,1505
135
+ exonware/xwnode/queries/executors/array/__init__.py,sha256=4AGrHjYNq4pz92jViMixc_P06I9zQMC0ebM2l4HjeJU,190
136
+ exonware/xwnode/queries/executors/array/indexing_executor.py,sha256=xlWL-_ChvlAm7l2tF2l-RaAlcAjwQrT_fB4-YL-kB9Y,1552
137
+ exonware/xwnode/queries/executors/array/slicing_executor.py,sha256=deqUEQEyovjUO1V7Ny8WYh8lO0J6_T24J26JQQ0rkuc,1520
138
+ exonware/xwnode/queries/executors/core/__init__.py,sha256=gX7xCXEWO-Y2NtFAqFhKZHccv3agm3ar8rGViUpiV8I,443
139
+ exonware/xwnode/queries/executors/core/create_executor.py,sha256=ImIZ7KHdwvlyEC8Jc8HnniX9Vo5TXSUQcQS0GYaPvm4,3171
140
+ exonware/xwnode/queries/executors/core/delete_executor.py,sha256=qMP3N31BBEQES1qMPEzmardCz_Df-eGsBrCsv1RAVQs,3077
141
+ exonware/xwnode/queries/executors/core/drop_executor.py,sha256=t8Oao12dMpeI443oGWYfDLs39w2jyVBDAizDuE8ZIXg,3070
142
+ exonware/xwnode/queries/executors/core/insert_executor.py,sha256=5oU68OTiuhsN7cgdxwv4GKJiEjDjrvEUbAuJZMfgxVs,1190
143
+ exonware/xwnode/queries/executors/core/select_executor.py,sha256=DokkQPSJMp4lQJukIEWoNMKzrBMNgSOaVu8aD5ADoeo,5365
144
+ exonware/xwnode/queries/executors/core/update_executor.py,sha256=LkK1xlyWCi_4ZMvDDOnwHCNOTZzV19BFHPLLkRva4RY,3292
145
+ exonware/xwnode/queries/executors/data/__init__.py,sha256=VmOnd8M4oFrNpQKEAvPW0V4qb-zvv4VFpYugy8hZkdg,297
146
+ exonware/xwnode/queries/executors/data/alter_executor.py,sha256=F2NwwOvB-_gz0tVduIqG5iylFMfG5AJH-l_fQ98uB8A,1442
147
+ exonware/xwnode/queries/executors/data/load_executor.py,sha256=-hu1m4p3ruMWOUJ8eFCofZO4oxqBQD2OoqX6GSQOb4E,1441
148
+ exonware/xwnode/queries/executors/data/merge_executor.py,sha256=CHs4qrB68O6HF4H7q4aN8uG0G6Coxszr_UdLKhYLUFg,1438
149
+ exonware/xwnode/queries/executors/data/store_executor.py,sha256=tkthtnIu4gWQOgFa01M9tLnP7FjJW3Y2tKue5aHDgMk,1455
150
+ exonware/xwnode/queries/executors/filtering/__init__.py,sha256=GyCHfxXGXumimpoPbCnka5-G1su6QnVfHkyZb7xF8UA,683
151
+ exonware/xwnode/queries/executors/filtering/between_executor.py,sha256=v1HUIjUpmXHkRbQeFcbJl4r09ScMUkLiz5a3wel7iRg,2515
152
+ exonware/xwnode/queries/executors/filtering/filter_executor.py,sha256=qGv4D4rZIgy8E60M0KQ8X9bkBmOAm_c3HmK2I2MTanE,2521
153
+ exonware/xwnode/queries/executors/filtering/has_executor.py,sha256=fNG9OrhwDe97kSjD7LsnxOQVYER1MCccsxzur0C7baI,2142
154
+ exonware/xwnode/queries/executors/filtering/in_executor.py,sha256=w4IOiwc7x7TPHsuT7tuD-esIcLv7WLEaiJqNUX1zZds,2136
155
+ exonware/xwnode/queries/executors/filtering/like_executor.py,sha256=Mi8dy-MPzyUxdSFmnH1TlU8pXjg26-OgKJeePTue-W4,2398
156
+ exonware/xwnode/queries/executors/filtering/optional_executor.py,sha256=_CUQH5ZVKIh68tkeSvhJ4ST0ulxl2PYSVGrqFlwMlog,2499
157
+ exonware/xwnode/queries/executors/filtering/range_executor.py,sha256=HW9JhnDPsIJZYrzc3WUFTDQUF3lDukNREfzgXbtxYq0,2584
158
+ exonware/xwnode/queries/executors/filtering/term_executor.py,sha256=35fvh2hwokZe9csdRTa1tUpmmfpKEZuMJWegOkcTRf4,2506
159
+ exonware/xwnode/queries/executors/filtering/values_executor.py,sha256=wBfHdQIoWHd9Se2B8h4VjjgHAUvzkhmurX0jqSYP13c,2185
160
+ exonware/xwnode/queries/executors/filtering/where_executor.py,sha256=EP58NDWCJTnUK8GoDnC63OJVT9XOXqJmNWIKd97A7wE,1434
161
+ exonware/xwnode/queries/executors/graph/__init__.py,sha256=pzyyiZ_mMXpHbE_sDtvb4OYI2l0rAuRRT3bDN2MCXMA,374
162
+ exonware/xwnode/queries/executors/graph/in_traverse_executor.py,sha256=6_C6D0rJhF4JXRxd3zEmTbSnfWcpQZmRnifP47EXItM,1577
163
+ exonware/xwnode/queries/executors/graph/match_executor.py,sha256=qfvp40EyPSEHBBEX6_jIzhb2YvXa0gZh0sghjGEgDx0,1517
164
+ exonware/xwnode/queries/executors/graph/out_executor.py,sha256=1LYMtCgNEpCvUgr8PeKMykupryUF6wl4MD-7oiR_rEM,1499
165
+ exonware/xwnode/queries/executors/graph/path_executor.py,sha256=lpOjfoliJxLMYwY1t3cywBSVqugPTdPJM9wmtMJOdwY,1510
166
+ exonware/xwnode/queries/executors/graph/return_executor.py,sha256=DGhk_tI_M8sawI-kF7uBX5F-fu33L_tAcW3zGeCFbYs,1532
167
+ exonware/xwnode/queries/executors/ordering/__init__.py,sha256=vytddfkWSQTDKEpxT9JXgrG5oQB39giS7JYJ3JqKW8w,169
168
+ exonware/xwnode/queries/executors/ordering/by_executor.py,sha256=OPJKbZwnz5y3mgB-8kggXdlToLgZPyd3lAe55upDIJ8,1420
169
+ exonware/xwnode/queries/executors/ordering/order_executor.py,sha256=8iUX1-N3UaZp70hrOPEDIKwSgK_nuSlR9s8SwtofA-Y,1498
170
+ exonware/xwnode/queries/executors/projection/__init__.py,sha256=ybPligPcjTYH6Ia6dUbvCxq37zg3L7xlSyHoGjD6Z-o,189
171
+ exonware/xwnode/queries/executors/projection/extend_executor.py,sha256=0w8v1qCF0YvlUY8d5Zv4oA5FB0umZuAYL0LywaJLWMY,1472
172
+ exonware/xwnode/queries/executors/projection/project_executor.py,sha256=17RFEf9Ga6wmlO6Mt08if6D0ie416v1BlvK4ZrvcucM,1481
173
+ exonware/xwnode/queries/parsers/__init__.py,sha256=X7jnTyJnR6I8LP7gKbpci9Ny-D3ka4bra39k3X8OF-s,540
174
+ exonware/xwnode/queries/parsers/base.py,sha256=lNPm7sl97QTwC73zGuwMqzZyWxCjoMCJrODPgkO00R0,2286
175
+ exonware/xwnode/queries/parsers/contracts.py,sha256=ZptqIjZf63epDYX0e7gasUIW7zZfl-Zxzg6WNAgo-_Y,1086
176
+ exonware/xwnode/queries/parsers/errors.py,sha256=3ynA82ZgWx7QBBP53Xu-L7LVTz4sYaTdPaUJQVL252Q,1225
177
+ exonware/xwnode/queries/parsers/sql_param_extractor.py,sha256=k2-sMUeNZV8WtEe4ntC-29xITn0LqvoAvf7Mzh2C9MI,12260
178
+ exonware/xwnode/queries/strategies/__init__.py,sha256=7kKLdqdVLN_G2-81y0VBQxJpJGJILqITTRunUJyIoQw,617
179
+ exonware/xwnode/queries/strategies/base.py,sha256=V_cAhJ5ETR8U322CjBL0IWQGrEIZOizWoclJpYgVDI0,8357
180
+ exonware/xwnode/queries/strategies/cql.py,sha256=txe7466damfUZJ16dbwf-L8lbwDfzFn-4aVCDl8PmjY,7524
181
+ exonware/xwnode/queries/strategies/cypher.py,sha256=uQWbMYe09fla-u6I0jCqB0cjC8L08RRAqadb-LlgYJY,6560
182
+ exonware/xwnode/queries/strategies/datalog.py,sha256=P0gmfCiaHo1K9KiP32-45qDJvS-82OfwH7BHNyN4WK4,2740
183
+ exonware/xwnode/queries/strategies/elastic_dsl.py,sha256=k9RPlD43rjEvKa0KJ7FggGHqGBUVQ42qmT_JIHZWl4E,2771
184
+ exonware/xwnode/queries/strategies/eql.py,sha256=A-VH6Hj4XmnUDWNo43vWEhcg2YEG-GGVt136Ox2xdFI,2685
185
+ exonware/xwnode/queries/strategies/flux.py,sha256=r7dJ4_Y_8KO4zY75H6CYSSMjxjIcC57h7g-ZzY7RdRM,2747
186
+ exonware/xwnode/queries/strategies/gql.py,sha256=uvk0KBRePq_L51TTrWRTSyf9JXpY_68gies-FvZszdU,2409
187
+ exonware/xwnode/queries/strategies/graphql.py,sha256=teUMuCGRGSBFztSo-5XoAldQ1dkO1rCm9sHuIBwi10w,7402
188
+ exonware/xwnode/queries/strategies/gremlin.py,sha256=HGsmhxtlH0JYWKeQbZj6slqZanJ9xMCM4faMxhr_3mY,6850
189
+ exonware/xwnode/queries/strategies/hiveql.py,sha256=XSGHTexiGFoOuXSsN8tRxoP1aFF1BIm329NtRAW6mgk,7813
190
+ exonware/xwnode/queries/strategies/hql.py,sha256=mw1Umdg3gm-bRbYb-BR091a-o-nxoeOks_-TBInnY7g,2692
191
+ exonware/xwnode/queries/strategies/jmespath.py,sha256=ErqtzYN0Kaeb3f24Rw1YgQBAYQfL6o0io7eyXckPf34,7963
192
+ exonware/xwnode/queries/strategies/jq.py,sha256=R8WgrziYa2JKF7jekIbAkyAeKLbrPcv8_yRCOaSs_zI,2333
193
+ exonware/xwnode/queries/strategies/json_query.py,sha256=GT8cCeBMm3n7TbVbUSkYRSOS_jOA8vwWO5Kyu2XUKnM,2306
194
+ exonware/xwnode/queries/strategies/jsoniq.py,sha256=AG-JJkVc_-klF7LecgyTGiuT7NGXG70Bdjn43LwxJIk,8162
195
+ exonware/xwnode/queries/strategies/kql.py,sha256=NVqXpGd2zoHe2NiyzcON6h8SZb-DgawfLDBJI0SnaGM,2671
196
+ exonware/xwnode/queries/strategies/linq.py,sha256=0vcN8zJQ71KGzBQcb-NDIkaoCJ2-izawAMPR-ZeX5s8,7994
197
+ exonware/xwnode/queries/strategies/logql.py,sha256=1ffemmVKcEwBNTMU6n-ECIfV2klh71fbexoXVySJwdY,2744
198
+ exonware/xwnode/queries/strategies/mql.py,sha256=JSYTohQ_30J_A0c1D0Dd4wL9MsaquiQinNp5rtYe0hs,2554
199
+ exonware/xwnode/queries/strategies/n1ql.py,sha256=E27pY8v_hRUN6XvrADJSTr0eF1u4d85gnrX1e0r7aAE,7852
200
+ exonware/xwnode/queries/strategies/partiql.py,sha256=EZqDKlRaobkIbPpDGDPkUZfM-TCGgWpEqr4OV2DtQik,2717
201
+ exonware/xwnode/queries/strategies/pig.py,sha256=u7Oh6B5NAH8nVNsAqUO4Yl6HpAriYbgZbdwaRodPAV4,8530
202
+ exonware/xwnode/queries/strategies/promql.py,sha256=qSRXHoj7GwzaR-dB35Uo3gNMtpzZn2HefrUuVXsSyBA,2714
203
+ exonware/xwnode/queries/strategies/sparql.py,sha256=AUluGmvCeSOIs41DP6dM52MzH3xbjlZ-5JTygDFRfR8,7443
204
+ exonware/xwnode/queries/strategies/sql.py,sha256=XEIUt3S40ZFKZlCxOAuGYibVMMyNAJb2k6U-cc9sh04,10212
205
+ exonware/xwnode/queries/strategies/xml_query.py,sha256=CH5wkj8jx-30I_-m0Gl8DOm_7BkyPVJJ_BJGaadjFro,2329
206
+ exonware/xwnode/queries/strategies/xpath.py,sha256=SLGcuwqd9jet0-6zoReXWNBWBB_aAr55RMN8L_6x8Yg,9120
207
+ exonware/xwnode/queries/strategies/xquery.py,sha256=XaiNB4Ae8yTgjTFzsU7L_z025nwsA1FwIW54P0PcRzg,8692
208
+ exonware/xwnode/queries/strategies/xwnode_executor.py,sha256=Cn5ISBLmZpNblwGZQBG3PmjmOaKk9OuHry_KsSPH9mw,12191
209
+ exonware/xwnode/queries/strategies/xwquery.py,sha256=5ZKBd8IaehdPmyrA0TfHhH44OL7VnsjYxU01qKIxyeg,17513
210
+ exonware/xwnode/strategies/__init__.py,sha256=0Aw9hc5MT-fNhRdN26BayBmT6hBrverCVNUp_rARsqo,7695
211
+ exonware_xwnode-0.0.1.15.dist-info/METADATA,sha256=95dTVIgqktYDLspQejFzFYHCOVPRC8hXnDcu8dii5eI,5739
212
+ exonware_xwnode-0.0.1.15.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
213
+ exonware_xwnode-0.0.1.15.dist-info/licenses/LICENSE,sha256=w42ohoEUfhyT0NgiivAL4fWg2AMRLGnfXPMAR4EO-MU,1094
214
+ exonware_xwnode-0.0.1.15.dist-info/RECORD,,
@@ -1,13 +0,0 @@
1
- """
2
- Strategy Implementations
3
-
4
- This package contains all strategy implementations for the strategy system.
5
- """
6
-
7
- from ._base_node import aNodeStrategy
8
- from ._base_edge import aEdgeStrategy
9
-
10
- __all__ = [
11
- 'aNodeStrategy',
12
- 'aEdgeStrategy',
13
- ]