exonware-xwnode 0.0.1.12__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 (132) hide show
  1. exonware/__init__.py +14 -0
  2. exonware/xwnode/__init__.py +127 -0
  3. exonware/xwnode/base.py +676 -0
  4. exonware/xwnode/config.py +178 -0
  5. exonware/xwnode/contracts.py +730 -0
  6. exonware/xwnode/errors.py +503 -0
  7. exonware/xwnode/facade.py +460 -0
  8. exonware/xwnode/strategies/__init__.py +158 -0
  9. exonware/xwnode/strategies/advisor.py +463 -0
  10. exonware/xwnode/strategies/edges/__init__.py +32 -0
  11. exonware/xwnode/strategies/edges/adj_list.py +227 -0
  12. exonware/xwnode/strategies/edges/adj_matrix.py +391 -0
  13. exonware/xwnode/strategies/edges/base.py +169 -0
  14. exonware/xwnode/strategies/flyweight.py +328 -0
  15. exonware/xwnode/strategies/impls/__init__.py +13 -0
  16. exonware/xwnode/strategies/impls/_base_edge.py +403 -0
  17. exonware/xwnode/strategies/impls/_base_node.py +307 -0
  18. exonware/xwnode/strategies/impls/edge_adj_list.py +353 -0
  19. exonware/xwnode/strategies/impls/edge_adj_matrix.py +445 -0
  20. exonware/xwnode/strategies/impls/edge_bidir_wrapper.py +455 -0
  21. exonware/xwnode/strategies/impls/edge_block_adj_matrix.py +539 -0
  22. exonware/xwnode/strategies/impls/edge_coo.py +533 -0
  23. exonware/xwnode/strategies/impls/edge_csc.py +447 -0
  24. exonware/xwnode/strategies/impls/edge_csr.py +492 -0
  25. exonware/xwnode/strategies/impls/edge_dynamic_adj_list.py +503 -0
  26. exonware/xwnode/strategies/impls/edge_flow_network.py +555 -0
  27. exonware/xwnode/strategies/impls/edge_hyperedge_set.py +516 -0
  28. exonware/xwnode/strategies/impls/edge_neural_graph.py +650 -0
  29. exonware/xwnode/strategies/impls/edge_octree.py +574 -0
  30. exonware/xwnode/strategies/impls/edge_property_store.py +655 -0
  31. exonware/xwnode/strategies/impls/edge_quadtree.py +519 -0
  32. exonware/xwnode/strategies/impls/edge_rtree.py +820 -0
  33. exonware/xwnode/strategies/impls/edge_temporal_edgeset.py +558 -0
  34. exonware/xwnode/strategies/impls/edge_tree_graph_basic.py +271 -0
  35. exonware/xwnode/strategies/impls/edge_weighted_graph.py +411 -0
  36. exonware/xwnode/strategies/manager.py +775 -0
  37. exonware/xwnode/strategies/metrics.py +538 -0
  38. exonware/xwnode/strategies/migration.py +432 -0
  39. exonware/xwnode/strategies/nodes/__init__.py +50 -0
  40. exonware/xwnode/strategies/nodes/_base_node.py +307 -0
  41. exonware/xwnode/strategies/nodes/adjacency_list.py +267 -0
  42. exonware/xwnode/strategies/nodes/aho_corasick.py +345 -0
  43. exonware/xwnode/strategies/nodes/array_list.py +209 -0
  44. exonware/xwnode/strategies/nodes/base.py +247 -0
  45. exonware/xwnode/strategies/nodes/deque.py +200 -0
  46. exonware/xwnode/strategies/nodes/hash_map.py +135 -0
  47. exonware/xwnode/strategies/nodes/heap.py +307 -0
  48. exonware/xwnode/strategies/nodes/linked_list.py +232 -0
  49. exonware/xwnode/strategies/nodes/node_aho_corasick.py +520 -0
  50. exonware/xwnode/strategies/nodes/node_array_list.py +175 -0
  51. exonware/xwnode/strategies/nodes/node_avl_tree.py +371 -0
  52. exonware/xwnode/strategies/nodes/node_b_plus_tree.py +542 -0
  53. exonware/xwnode/strategies/nodes/node_bitmap.py +420 -0
  54. exonware/xwnode/strategies/nodes/node_bitset_dynamic.py +513 -0
  55. exonware/xwnode/strategies/nodes/node_bloom_filter.py +347 -0
  56. exonware/xwnode/strategies/nodes/node_btree.py +357 -0
  57. exonware/xwnode/strategies/nodes/node_count_min_sketch.py +470 -0
  58. exonware/xwnode/strategies/nodes/node_cow_tree.py +473 -0
  59. exonware/xwnode/strategies/nodes/node_cuckoo_hash.py +392 -0
  60. exonware/xwnode/strategies/nodes/node_fenwick_tree.py +301 -0
  61. exonware/xwnode/strategies/nodes/node_hash_map.py +269 -0
  62. exonware/xwnode/strategies/nodes/node_heap.py +191 -0
  63. exonware/xwnode/strategies/nodes/node_hyperloglog.py +407 -0
  64. exonware/xwnode/strategies/nodes/node_linked_list.py +409 -0
  65. exonware/xwnode/strategies/nodes/node_lsm_tree.py +400 -0
  66. exonware/xwnode/strategies/nodes/node_ordered_map.py +390 -0
  67. exonware/xwnode/strategies/nodes/node_ordered_map_balanced.py +565 -0
  68. exonware/xwnode/strategies/nodes/node_patricia.py +512 -0
  69. exonware/xwnode/strategies/nodes/node_persistent_tree.py +378 -0
  70. exonware/xwnode/strategies/nodes/node_radix_trie.py +452 -0
  71. exonware/xwnode/strategies/nodes/node_red_black_tree.py +497 -0
  72. exonware/xwnode/strategies/nodes/node_roaring_bitmap.py +570 -0
  73. exonware/xwnode/strategies/nodes/node_segment_tree.py +289 -0
  74. exonware/xwnode/strategies/nodes/node_set_hash.py +354 -0
  75. exonware/xwnode/strategies/nodes/node_set_tree.py +480 -0
  76. exonware/xwnode/strategies/nodes/node_skip_list.py +316 -0
  77. exonware/xwnode/strategies/nodes/node_splay_tree.py +393 -0
  78. exonware/xwnode/strategies/nodes/node_suffix_array.py +487 -0
  79. exonware/xwnode/strategies/nodes/node_treap.py +387 -0
  80. exonware/xwnode/strategies/nodes/node_tree_graph_hybrid.py +1434 -0
  81. exonware/xwnode/strategies/nodes/node_trie.py +252 -0
  82. exonware/xwnode/strategies/nodes/node_union_find.py +187 -0
  83. exonware/xwnode/strategies/nodes/node_xdata_optimized.py +369 -0
  84. exonware/xwnode/strategies/nodes/priority_queue.py +209 -0
  85. exonware/xwnode/strategies/nodes/queue.py +161 -0
  86. exonware/xwnode/strategies/nodes/sparse_matrix.py +206 -0
  87. exonware/xwnode/strategies/nodes/stack.py +152 -0
  88. exonware/xwnode/strategies/nodes/trie.py +274 -0
  89. exonware/xwnode/strategies/nodes/union_find.py +283 -0
  90. exonware/xwnode/strategies/pattern_detector.py +603 -0
  91. exonware/xwnode/strategies/performance_monitor.py +487 -0
  92. exonware/xwnode/strategies/queries/__init__.py +24 -0
  93. exonware/xwnode/strategies/queries/base.py +236 -0
  94. exonware/xwnode/strategies/queries/cql.py +201 -0
  95. exonware/xwnode/strategies/queries/cypher.py +181 -0
  96. exonware/xwnode/strategies/queries/datalog.py +70 -0
  97. exonware/xwnode/strategies/queries/elastic_dsl.py +70 -0
  98. exonware/xwnode/strategies/queries/eql.py +70 -0
  99. exonware/xwnode/strategies/queries/flux.py +70 -0
  100. exonware/xwnode/strategies/queries/gql.py +70 -0
  101. exonware/xwnode/strategies/queries/graphql.py +240 -0
  102. exonware/xwnode/strategies/queries/gremlin.py +181 -0
  103. exonware/xwnode/strategies/queries/hiveql.py +214 -0
  104. exonware/xwnode/strategies/queries/hql.py +70 -0
  105. exonware/xwnode/strategies/queries/jmespath.py +219 -0
  106. exonware/xwnode/strategies/queries/jq.py +66 -0
  107. exonware/xwnode/strategies/queries/json_query.py +66 -0
  108. exonware/xwnode/strategies/queries/jsoniq.py +248 -0
  109. exonware/xwnode/strategies/queries/kql.py +70 -0
  110. exonware/xwnode/strategies/queries/linq.py +238 -0
  111. exonware/xwnode/strategies/queries/logql.py +70 -0
  112. exonware/xwnode/strategies/queries/mql.py +68 -0
  113. exonware/xwnode/strategies/queries/n1ql.py +210 -0
  114. exonware/xwnode/strategies/queries/partiql.py +70 -0
  115. exonware/xwnode/strategies/queries/pig.py +215 -0
  116. exonware/xwnode/strategies/queries/promql.py +70 -0
  117. exonware/xwnode/strategies/queries/sparql.py +220 -0
  118. exonware/xwnode/strategies/queries/sql.py +275 -0
  119. exonware/xwnode/strategies/queries/xml_query.py +66 -0
  120. exonware/xwnode/strategies/queries/xpath.py +223 -0
  121. exonware/xwnode/strategies/queries/xquery.py +258 -0
  122. exonware/xwnode/strategies/queries/xwnode_executor.py +332 -0
  123. exonware/xwnode/strategies/queries/xwquery_strategy.py +424 -0
  124. exonware/xwnode/strategies/registry.py +604 -0
  125. exonware/xwnode/strategies/simple.py +273 -0
  126. exonware/xwnode/strategies/utils.py +532 -0
  127. exonware/xwnode/types.py +912 -0
  128. exonware/xwnode/version.py +78 -0
  129. exonware_xwnode-0.0.1.12.dist-info/METADATA +169 -0
  130. exonware_xwnode-0.0.1.12.dist-info/RECORD +132 -0
  131. exonware_xwnode-0.0.1.12.dist-info/WHEEL +4 -0
  132. exonware_xwnode-0.0.1.12.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,78 @@
1
+ """
2
+ Centralized version management for xwnode.
3
+
4
+ Company: eXonware.com
5
+ Author: Eng. Muhammad AlShehri
6
+ Email: connect@exonware.com
7
+ Generation Date: October 07, 2025
8
+
9
+ This module provides centralized version management for the entire xwnode project.
10
+ All version references should import from this module to ensure consistency.
11
+ """
12
+
13
+ # =============================================================================
14
+ # VERSION CONFIGURATION
15
+ # =============================================================================
16
+
17
+ # Main version - update this to change version across entire project
18
+ __version__ = "0.0.1.12"
19
+
20
+ # Version components for programmatic access
21
+ VERSION_MAJOR = 0
22
+ VERSION_MINOR = 0
23
+ VERSION_PATCH = 1
24
+ VERSION_BUILD = 12# Set to None for releases, or build number for dev builds
25
+
26
+ # Version metadata
27
+ VERSION_SUFFIX = "" # e.g., "dev", "alpha", "beta", "rc1"
28
+ VERSION_STRING = __version__ + VERSION_SUFFIX
29
+
30
+ # =============================================================================
31
+ # VERSION UTILITIES
32
+ # =============================================================================
33
+
34
+ def get_version() -> str:
35
+ """Get the current version string."""
36
+ return VERSION_STRING
37
+
38
+ def get_version_info() -> tuple:
39
+ """Get version as a tuple (major, minor, patch, build)."""
40
+ return (VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_BUILD)
41
+
42
+ def get_version_dict() -> dict:
43
+ """Get version information as a dictionary."""
44
+ return {
45
+ "version": VERSION_STRING,
46
+ "major": VERSION_MAJOR,
47
+ "minor": VERSION_MINOR,
48
+ "patch": VERSION_PATCH,
49
+ "build": VERSION_BUILD,
50
+ "suffix": VERSION_SUFFIX
51
+ }
52
+
53
+ def is_dev_version() -> bool:
54
+ """Check if this is a development version."""
55
+ return VERSION_SUFFIX in ("dev", "alpha", "beta") or VERSION_BUILD is not None
56
+
57
+ def is_release_version() -> bool:
58
+ """Check if this is a release version."""
59
+ return not is_dev_version()
60
+
61
+ # =============================================================================
62
+ # EXPORTS
63
+ # =============================================================================
64
+
65
+ __all__ = [
66
+ "__version__",
67
+ "VERSION_MAJOR",
68
+ "VERSION_MINOR",
69
+ "VERSION_PATCH",
70
+ "VERSION_BUILD",
71
+ "VERSION_SUFFIX",
72
+ "VERSION_STRING",
73
+ "get_version",
74
+ "get_version_info",
75
+ "get_version_dict",
76
+ "is_dev_version",
77
+ "is_release_version"
78
+ ]
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.4
2
+ Name: exonware-xwnode
3
+ Version: 0.0.1.12
4
+ Summary: Node-based data processing and graph computation library
5
+ Project-URL: Homepage, https://exonware.com
6
+ Project-URL: Repository, https://github.com/exonware/xwnode
7
+ Project-URL: Documentation, https://github.com/exonware/xwnode#readme
8
+ Author-email: "Eng. Muhammad AlShehri" <connect@exonware.com>
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: computation,data-processing,exonware,graph,node,workflow
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: >=3.8
25
+ Requires-Dist: exonware-xwsystem>=0.0.1
26
+ Provides-Extra: dev
27
+ Requires-Dist: black>=23.0.0; extra == 'dev'
28
+ Requires-Dist: isort>=5.12.0; extra == 'dev'
29
+ Requires-Dist: mypy>=1.0.0; extra == 'dev'
30
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
31
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
32
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
33
+ Provides-Extra: full
34
+ Requires-Dist: exonware-xwsystem[full]>=0.0.1; extra == 'full'
35
+ Provides-Extra: lazy
36
+ Requires-Dist: exonware-xwsystem[lazy]>=0.0.1; extra == 'lazy'
37
+ Description-Content-Type: text/markdown
38
+
39
+ # 🚀 **xwnode: Node-Based Data Processing Library**
40
+
41
+ **Company:** eXonware.com
42
+ **Author:** Eng. Muhammad AlShehri
43
+ **Email:** connect@exonware.com
44
+ **Version:** 0.0.1.12
45
+
46
+ ## 🎯 **What is xwnode?**
47
+
48
+ xwnode is a powerful Python library for node-based data processing and graph computation. It provides a flexible framework for building data processing workflows using interconnected nodes, enabling complex data transformations and computations through an intuitive graph-based approach.
49
+
50
+ ## ⚡ **Quick Start**
51
+
52
+ ### **Installation**
53
+
54
+ xwnode offers three installation modes to match your needs:
55
+
56
+ #### **Default (Lite) - Minimal Installation**
57
+ ```bash
58
+ pip install exonware-xwnode
59
+ # or
60
+ pip install xwnode
61
+ ```
62
+ - ✅ Core node functionality
63
+ - ✅ Basic graph operations
64
+ - ✅ Essential data processing
65
+ - ✅ Zero external dependencies (beyond xwsystem)
66
+
67
+ #### **Lazy - Auto-Install on Demand**
68
+ ```bash
69
+ pip install exonware-xwnode[lazy]
70
+ # or
71
+ pip install xwnode[lazy]
72
+ ```
73
+ - ✅ Everything from default
74
+ - ✅ Automatic dependency installation
75
+ - ✅ Enterprise serialization on-demand
76
+ - ✅ Performance monitoring when needed
77
+
78
+ #### **Full - Complete Feature Set**
79
+ ```bash
80
+ pip install exonware-xwnode[full]
81
+ # or
82
+ pip install xwnode[full]
83
+ ```
84
+ - ✅ Everything from lazy
85
+ - ✅ All xwsystem serialization formats (50+)
86
+ - ✅ Advanced security features
87
+ - ✅ Performance monitoring
88
+ - ✅ Enterprise-grade capabilities
89
+
90
+ ### **Basic Usage**
91
+ ```python
92
+ from exonware.xwnode import XWNode, XWQuery, XWFactory
93
+ # Or use convenience import:
94
+ # import xwnode
95
+
96
+ # Your node-based processing code here
97
+ node = XWNode({'data': 'example'})
98
+ ```
99
+
100
+ ## 🎯 **Perfect For:**
101
+
102
+ - **🔄 Data Processing Pipelines** - Build complex data transformation workflows
103
+ - **📊 Graph Computation** - Process data through interconnected node networks
104
+ - **🔀 Workflow Management** - Create reusable processing components
105
+ - **🧠 Algorithm Development** - Implement graph-based algorithms and computations
106
+ - **🔗 System Integration** - Connect different data processing stages
107
+
108
+ ## 🚀 **Key Features**
109
+
110
+ ✅ **Node-based architecture** for modular data processing
111
+ ✅ **Graph computation engine** for complex workflows
112
+ ✅ **Flexible data flow** between processing nodes
113
+ ✅ **Reusable components** for common operations
114
+ ✅ **Performance optimized** for large-scale processing
115
+ ✅ **Easy integration** with existing Python data tools
116
+
117
+ ## 🚀 **Project Phases**
118
+
119
+ xWNode follows a structured 5-phase development approach designed to deliver enterprise-grade functionality while maintaining rapid iteration and continuous improvement.
120
+
121
+ ### **Current Phase: 🧪 Version 0 - Experimental Stage**
122
+ - **Focus:** Fast applications & usage, refactoring to perfection of software patterns and design
123
+ - **Status:** 🟢 **ACTIVE** - Foundation complete with core node functionality, graph traversal algorithms, and comprehensive testing
124
+
125
+ ### **Development Roadmap:**
126
+ - **Version 1 (Q1 2026):** Production Ready - Enterprise deployment and hardening
127
+ - **Version 2 (Q2 2026):** Mars Standard Draft Implementation - Cross-platform interoperability
128
+ - **Version 3 (Q3 2026):** RUST Core & Facades - High-performance multi-language support
129
+ - **Version 4 (Q4 2026):** Mars Standard Implementation - Full compliance and enterprise deployment
130
+
131
+ 📖 **[View Complete Project Phases Documentation](docs/PROJECT_PHASES.md)**
132
+
133
+ ## 📚 **Documentation**
134
+
135
+ - **[API Documentation](docs/)** - Complete reference and examples
136
+ - **[Examples](examples/)** - Practical usage examples
137
+ - **[Tests](tests/)** - Test suites and usage patterns
138
+
139
+ ## 🔧 **Development**
140
+
141
+ ```bash
142
+ # Install in development mode
143
+ pip install -e .
144
+
145
+ # Run tests
146
+ python tests/runner.py
147
+
148
+ # Run specific test types
149
+ python tests/runner.py --core
150
+ python tests/runner.py --unit
151
+ python tests/runner.py --integration
152
+ ```
153
+
154
+ ## 🤝 **Contributing**
155
+
156
+ 1. Fork the repository
157
+ 2. Create a feature branch
158
+ 3. Make your changes
159
+ 4. Add tests
160
+ 5. Run the test suite
161
+ 6. Submit a pull request
162
+
163
+ ## 📄 **License**
164
+
165
+ MIT License - see LICENSE file for details.
166
+
167
+ ---
168
+
169
+ *Built with ❤️ by eXonware.com - Making node-based data processing effortless*
@@ -0,0 +1,132 @@
1
+ exonware/__init__.py,sha256=Vi5DAJ4T6FJohu_fUfJaDnf3crA_7yDjWfCZVZMlTZk,324
2
+ exonware/xwnode/__init__.py,sha256=4pxs28AdzEN1hGLs7ljH4t0YdzwLSjRJukRY2f5JCTc,3814
3
+ exonware/xwnode/base.py,sha256=VUKA1SX_w-bY6GclC93S6OZOc5roctzzcfBmv1XLC68,23830
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=rccyUyT5Gj9DgTY8DSfq8Ae7GGGq5Z5OtepPU1ENy8I,16029
8
+ exonware/xwnode/types.py,sha256=uioV6DW9nnQ0p3ZIdhYNQ5XtbQB2_INIljUkeCZox9o,34471
9
+ exonware/xwnode/version.py,sha256=STJKugNKyqorci-VuYL4keM4h4L9B_K77pEjgk7rT_c,2379
10
+ exonware/xwnode/strategies/__init__.py,sha256=_Ywl_Mq1Ucz3TZteuWO3B4vy7Ird7iCWAAXXVadXcc8,7568
11
+ exonware/xwnode/strategies/advisor.py,sha256=NIDK8S-nV69-V0Hur7e4Z1Ao1Gnia_d6SRBc1gxoJ9U,18184
12
+ exonware/xwnode/strategies/flyweight.py,sha256=FZHLsHYFIPQQNwBrwsHYysMxevM5KW4zk3EdARa9rmE,11316
13
+ exonware/xwnode/strategies/manager.py,sha256=9hlCDblaxasdAwGXO-vdEyG0V7NvUPjTiA3SUxk-BFM,33902
14
+ exonware/xwnode/strategies/metrics.py,sha256=j3V1duSZ2_tHH7dEeL3NCVwEb96XNzjYaymkt8_LJmc,19447
15
+ exonware/xwnode/strategies/migration.py,sha256=w_YEpNiVtYBA50mGvfTVyLFz-GViyT5Adzmvlp8P4gk,20181
16
+ exonware/xwnode/strategies/pattern_detector.py,sha256=5ncMOVUw1QJHrD4yo5dNANfDed_jeLsU_mWpND4Wtxo,21661
17
+ exonware/xwnode/strategies/performance_monitor.py,sha256=AqLW9k13DZILxn8Fa4JMmf1k67GESBiodREsANJfs-c,17467
18
+ exonware/xwnode/strategies/registry.py,sha256=4GJua8Wnha7Yzq2jBm73GBa8XvQhzsfqUY5omTTxc7U,28733
19
+ exonware/xwnode/strategies/simple.py,sha256=3hylQDJ9CRSIKdu3sc3qYJa2bQlVo7AlMQ3a0THNLxs,9079
20
+ exonware/xwnode/strategies/utils.py,sha256=ma_C5Xpgpo0053jEWqzco4-KNyBOWanJhKvQ3Masq84,17554
21
+ exonware/xwnode/strategies/edges/__init__.py,sha256=se25WUDZfWx37jNS3OKubhlsLAd9XumnQTGJyU7MnkI,771
22
+ exonware/xwnode/strategies/edges/adj_list.py,sha256=RdvQayElMahOa239urnWqwQVkui8phj-0fsyI8FsUvM,8162
23
+ exonware/xwnode/strategies/edges/adj_matrix.py,sha256=pAsW5s264WvwUEYX7Ezgl-DW87kP8V6LZeDOuVXevqU,14744
24
+ exonware/xwnode/strategies/edges/base.py,sha256=AjEviyy3IJY3fMCgDMfxFvo5OFb72hddqAMMYmBQ-_w,6207
25
+ exonware/xwnode/strategies/impls/__init__.py,sha256=gQYeyN0Uz-AudFdUPCsFGYFGMu67wHS0XtuXbCHILQc,244
26
+ exonware/xwnode/strategies/impls/_base_edge.py,sha256=hmOEL3M0wz95h6FrcTBf9dzSiwemRuNyNH9bgk27AY8,13602
27
+ exonware/xwnode/strategies/impls/_base_node.py,sha256=TE7ND2qSQnruJ01h1JtLI3WIzoJiLPdJnan5HeFWvwA,10270
28
+ exonware/xwnode/strategies/impls/edge_adj_list.py,sha256=_QvMiSnX5Zt4pUqu6O06IceDTCKB8sOMBs5XYWte3Co,13986
29
+ exonware/xwnode/strategies/impls/edge_adj_matrix.py,sha256=Iyb2TCI7n9xCH-ZwQVZQLrJV_6MOIwKz1iECLA2rhVU,17551
30
+ exonware/xwnode/strategies/impls/edge_bidir_wrapper.py,sha256=wSv4XMVoBjjuAb9m22t5ZG3_XSynJYwmeUQe7fnLFQ0,18050
31
+ exonware/xwnode/strategies/impls/edge_block_adj_matrix.py,sha256=2TVJhSFyxqvbgPNNHnFhqsgD4ETzKS0IOS5lBEaDfok,21142
32
+ exonware/xwnode/strategies/impls/edge_coo.py,sha256=o9unqJeOuT5skhr4OSNCRTtGnvdsBSK6F8iFEQkGv_g,19970
33
+ exonware/xwnode/strategies/impls/edge_csc.py,sha256=wYtxoE7_-Ulaxhk9L8oq9VZbD4dZ1tCNESijY-wydU4,16781
34
+ exonware/xwnode/strategies/impls/edge_csr.py,sha256=My4-weNwJ9SS6cVr_aoEz2hZOJltRB23DakTEEHr90o,18634
35
+ exonware/xwnode/strategies/impls/edge_dynamic_adj_list.py,sha256=gl9CpS02LAqzNrZ7nhVWNE5iBTYLRw1SlSUrmZEXfoY,19668
36
+ exonware/xwnode/strategies/impls/edge_flow_network.py,sha256=Fgy36PBGuR-47SrNat7cc7SdDUSppScAY7bJ8m6uqJg,21473
37
+ exonware/xwnode/strategies/impls/edge_hyperedge_set.py,sha256=oYEtaen8pXX9fIKClTP9wxJ7aqTOJ_hS68WlHkw8Vf4,20764
38
+ exonware/xwnode/strategies/impls/edge_neural_graph.py,sha256=wFoYGdxh3wV2P0KmbKGkAmUyLmRtdXB_dYlGQVBYlmc,25117
39
+ exonware/xwnode/strategies/impls/edge_octree.py,sha256=NxNxaVQze97IZvkPGSkp7cuIZSj1XZ7VpEdfiLmH9YA,22969
40
+ exonware/xwnode/strategies/impls/edge_property_store.py,sha256=s5e70_soYYSZIqjBXU_zWY9FXI_bQjFmZzknu6qPQr0,25630
41
+ exonware/xwnode/strategies/impls/edge_quadtree.py,sha256=Br8v3F0Pi5G8T1UA_3IXQ6cvNQ1oJOOYAZ9GeQ2f_M8,20149
42
+ exonware/xwnode/strategies/impls/edge_rtree.py,sha256=0xGjjAzhno_PmCr-fc1JQCb1SVyLyE_J20CEYKDy118,31454
43
+ exonware/xwnode/strategies/impls/edge_temporal_edgeset.py,sha256=RjGu_u6C8sr4U7Oc4PhmxxvXMH7dycOpBVE4N1yO1qY,22127
44
+ exonware/xwnode/strategies/impls/edge_tree_graph_basic.py,sha256=GjQAT1kAcOw8eCqsIKbr7NJpXM2_FWCXk_XJN1fAlaE,9996
45
+ exonware/xwnode/strategies/impls/edge_weighted_graph.py,sha256=1w9qBMUgOf_s0bAXryXOZe_XrBOLpdofYCQNZguJfZs,16508
46
+ exonware/xwnode/strategies/nodes/__init__.py,sha256=YMVKzCrYUOWDL8taFMHtYjhKQqfe5B14jn1GfobSXXM,1197
47
+ exonware/xwnode/strategies/nodes/_base_node.py,sha256=TE7ND2qSQnruJ01h1JtLI3WIzoJiLPdJnan5HeFWvwA,10270
48
+ exonware/xwnode/strategies/nodes/adjacency_list.py,sha256=ftrdilIYIagAe0oiEekLISTiEpKfjrgWQoCZ6lF7QGc,8941
49
+ exonware/xwnode/strategies/nodes/aho_corasick.py,sha256=V4FFQ4BybB83UVEf9ftxyeWn6KOsNAj9emyHzj_qp8M,12408
50
+ exonware/xwnode/strategies/nodes/array_list.py,sha256=M7xCvjeqQvLHQSmgGVSudOLdpWNQ_Vph5CAsEHzesas,7076
51
+ exonware/xwnode/strategies/nodes/base.py,sha256=u_xQcNWRa5Dlibtu1PKEIqAOq5-6kLX5staSMEYUuoI,8936
52
+ exonware/xwnode/strategies/nodes/deque.py,sha256=ITyDbWYRJmyP_l0mVihAFP_Gd1vlVtXmopSyTobc4js,6382
53
+ exonware/xwnode/strategies/nodes/hash_map.py,sha256=sDZy4Rw9OWD9FNZEGHzf8vUUF3rsP3aMkyqbIhMlrHs,4489
54
+ exonware/xwnode/strategies/nodes/heap.py,sha256=IimQiSiIvrncwiQ37M_UmW_8XwDf-2bgV6wodiLi_4k,10334
55
+ exonware/xwnode/strategies/nodes/linked_list.py,sha256=UdbVpSrXtb0KI7aLLbaWy4m02BiS4rxgJxV_1uR33q4,7764
56
+ exonware/xwnode/strategies/nodes/node_aho_corasick.py,sha256=tBkIihgzwZFSsLZJwkuLKBm1OF0UMP8C7PV4v4OY3XQ,18567
57
+ exonware/xwnode/strategies/nodes/node_array_list.py,sha256=Ny39_KqDZrxmWd2axU_jYJRD36csiz2lW2DwW5XRTGU,6036
58
+ exonware/xwnode/strategies/nodes/node_avl_tree.py,sha256=yo6CI_fdE4bmLv4b8a37xYol-52tkkrBVNbPURswjv8,12830
59
+ exonware/xwnode/strategies/nodes/node_b_plus_tree.py,sha256=8f_Qt5OupULH3We0aNDEpbJOwzmlXISBGJLjxw5hkdM,18867
60
+ exonware/xwnode/strategies/nodes/node_bitmap.py,sha256=bh8SpeA2g8246hM3cchRcbYS1LFWlUUFjmOOGD6fx-Y,15060
61
+ exonware/xwnode/strategies/nodes/node_bitset_dynamic.py,sha256=gqWvwzQJoCMCkzBF9h3BjKAZrF4toFlLLqbFf_XrPyI,18843
62
+ exonware/xwnode/strategies/nodes/node_bloom_filter.py,sha256=wl8Gb-SZjtBvpVleiKLI0T99fyz7uXkPhTo-7ybyJFQ,13205
63
+ exonware/xwnode/strategies/nodes/node_btree.py,sha256=GrOhmp18VcEOhGZ1B5V41XSQIe5QleJjpmvNNwh7Fq0,12254
64
+ exonware/xwnode/strategies/nodes/node_count_min_sketch.py,sha256=i1Nw2c_UcgxokkhKRQhn7_xV63G9xZYenMHmKhu8sAY,17916
65
+ exonware/xwnode/strategies/nodes/node_cow_tree.py,sha256=Dd3mj_GPJQvxyjJDE8xtfHfRKuZP4LiujE7rjUbV_t0,17109
66
+ exonware/xwnode/strategies/nodes/node_cuckoo_hash.py,sha256=HkwLYMfzDxBZ-UhLviBmU1v2yo1R-0sCqGkl3_ugHDQ,14958
67
+ exonware/xwnode/strategies/nodes/node_fenwick_tree.py,sha256=GXZQQmvf1hxqvD_srijmfz8E9orsIw7sqUW6CRSWNwI,10714
68
+ exonware/xwnode/strategies/nodes/node_hash_map.py,sha256=zCgcWJrYix5CQglNHb3-Hen80Ci1GkErLAMD6hnK4Oo,8667
69
+ exonware/xwnode/strategies/nodes/node_heap.py,sha256=GXr9XtcyjmMRkozizPBzg4YH79iFqC3ALFjYlQ7x-VA,6906
70
+ exonware/xwnode/strategies/nodes/node_hyperloglog.py,sha256=XyUApNd6C07_C8czNQGUEqilo3WCfhiT1BgEZEoRdX4,14840
71
+ exonware/xwnode/strategies/nodes/node_linked_list.py,sha256=b9kBKSkR3DnTuVeID1okmu0fsin5vS7hnoCDfF6rORc,13436
72
+ exonware/xwnode/strategies/nodes/node_lsm_tree.py,sha256=u_0dF9OYZ8PC_tYKQdBSxOrFM2dZjEi_tLseYQE-GE4,14743
73
+ exonware/xwnode/strategies/nodes/node_ordered_map.py,sha256=A_HliRy-kGE1ffWdnzFZu0Z-kmirzq1b_72fYUmXIUI,14513
74
+ exonware/xwnode/strategies/nodes/node_ordered_map_balanced.py,sha256=IWLUtU_1mCK8oZkSww61FNKzOTrPemzti9fXjn_XtpU,20495
75
+ exonware/xwnode/strategies/nodes/node_patricia.py,sha256=N7kesjteKI9Su33emZxL_lmN9tGY2z2eP6wsPfKGGwY,18683
76
+ exonware/xwnode/strategies/nodes/node_persistent_tree.py,sha256=RRcx6UKXdLbPOuNkJoM12V_C2XDO8yw98cfbb6a8WBI,14338
77
+ exonware/xwnode/strategies/nodes/node_radix_trie.py,sha256=ygtXpv4dRsykNvHn4LaScqHgGGIArzTykUuhgMNL_z8,17129
78
+ exonware/xwnode/strategies/nodes/node_red_black_tree.py,sha256=rkEGR_LzPwfR7D2mKVv6LyscNmAkwdWMY6sI0pIGo7I,17693
79
+ exonware/xwnode/strategies/nodes/node_roaring_bitmap.py,sha256=vgHGS_eU1jWcRMBwti5wt14lYEvilcRGfLOVqTV50IQ,20432
80
+ exonware/xwnode/strategies/nodes/node_segment_tree.py,sha256=1kVO0zJbkibGWOrYMK1aKvbPB2VpyTM_tU8s41dESgY,10767
81
+ exonware/xwnode/strategies/nodes/node_set_hash.py,sha256=kX3m8PWUuI3obsnNSIHHpe7ttCcvG1crW8PVo0AP4nM,13302
82
+ exonware/xwnode/strategies/nodes/node_set_tree.py,sha256=KD33G-VvOSgqOx1exGNGnk15t7RC-LGYH9otcwHS5Ks,15851
83
+ exonware/xwnode/strategies/nodes/node_skip_list.py,sha256=EsVOCii9qILZuCDf41FOGAHkU4jesKPF7lNPdClbWVQ,11354
84
+ exonware/xwnode/strategies/nodes/node_splay_tree.py,sha256=lyaevu3mF5ItXU0jUcM8ANMlWi6YjF5AyJ1USJ-Dtag,13180
85
+ exonware/xwnode/strategies/nodes/node_suffix_array.py,sha256=_roNIfPAH_kRYk_0Iz-1EExk4z-7Hwe-KDg26Z_-Ako,16877
86
+ exonware/xwnode/strategies/nodes/node_treap.py,sha256=7JMSw6WIBXaLSGyPG278L_yDsIab_yA6uJUX12eEG5c,13790
87
+ exonware/xwnode/strategies/nodes/node_tree_graph_hybrid.py,sha256=iPO1RyzTTU6YYe5E1bhTB1L4Q1nEH449XSTujhr2sbs,53680
88
+ exonware/xwnode/strategies/nodes/node_trie.py,sha256=tzp4AmFhp6TMB94W78hlMsKxGyOrblq29UuFA-qOgDU,8571
89
+ exonware/xwnode/strategies/nodes/node_union_find.py,sha256=URFotyf9i4C2xYSC9-zOVTQ6lqLplwkgYuFYhFKUtfM,7163
90
+ exonware/xwnode/strategies/nodes/node_xdata_optimized.py,sha256=zM16B4X3FXpTeG4iKhnKG9aweuQB3vj_bNh_S406wBI,14418
91
+ exonware/xwnode/strategies/nodes/priority_queue.py,sha256=NWye9qfvyO7Gnq6U2DD2F4xNqqRtJ9zwUGUpC5rbtLA,7821
92
+ exonware/xwnode/strategies/nodes/queue.py,sha256=9Ja6cLsKSGRKhNUr2A4vOeHnGi5x66-Cqe_RxZKKU8g,5282
93
+ exonware/xwnode/strategies/nodes/sparse_matrix.py,sha256=4rIB4kxLViorGBDHEm3w5GcDIs8UPtQLBUVZgscu7yk,7141
94
+ exonware/xwnode/strategies/nodes/stack.py,sha256=2dm7vea9H6rczDaIiMTUy-lWYxfjZQ-bS11TiWAATpY,5049
95
+ exonware/xwnode/strategies/nodes/trie.py,sha256=y4eCbuHGaLWR3ZlJgxs28sctYV-nPJ322_00S2mX-0g,8989
96
+ exonware/xwnode/strategies/nodes/union_find.py,sha256=xY2qlgcd6MbwClhjP_ap0JRgNCe7KfXo39pXL_B3RJg,10279
97
+ exonware/xwnode/strategies/queries/__init__.py,sha256=owo_-AvdZK3VdrRU22jXmjga_tU78_SOZyk8UBXGPQs,617
98
+ exonware/xwnode/strategies/queries/base.py,sha256=TWeRSl3O5XVlUVKlf_ufALuYoUCgdPMOaNt6cCnBgB4,8357
99
+ exonware/xwnode/strategies/queries/cql.py,sha256=Yx3bRzSj3AxWi6CdI4MesLbELCDjTLbjq6uhrchbCHw,7524
100
+ exonware/xwnode/strategies/queries/cypher.py,sha256=mRrEKPSVGS0BdeZd6RKVns7Oaar2tHT6VBoJHyvDC8c,6560
101
+ exonware/xwnode/strategies/queries/datalog.py,sha256=j2H7vynFQIK-pEiIZrz-Iafwyd8A3WIglJsN2dzunOQ,2740
102
+ exonware/xwnode/strategies/queries/elastic_dsl.py,sha256=75Hs2GgqpafdgmbMg2ihJ40z_x27q8x8wF-aj7z6j6s,2771
103
+ exonware/xwnode/strategies/queries/eql.py,sha256=mRK_SQ38x_PSymdH-mUgci0cTvyfoi0HUyL2mC2DYfM,2685
104
+ exonware/xwnode/strategies/queries/flux.py,sha256=VKThk77wPII3Vx7KYfZG1JSda_1xSGpr4eyKUmxlBDU,2747
105
+ exonware/xwnode/strategies/queries/gql.py,sha256=HASkLV7LRhrMbuA8MMDM6tMWSVvmRQNjm3DljCsBQZ4,2409
106
+ exonware/xwnode/strategies/queries/graphql.py,sha256=MaWYdvm5zHXt6Op3fHlCrJHiJ2bZ2JFr8U1pHPIWXd4,7402
107
+ exonware/xwnode/strategies/queries/gremlin.py,sha256=kVJ4QhiNz0_wOsA_7yO6TjFR9vHCanCxsxW1Uu3rtzc,6850
108
+ exonware/xwnode/strategies/queries/hiveql.py,sha256=ruUYyKTeRF4saYQ_odBa9hejqrnxLlBbK-mpsTB1OKU,7813
109
+ exonware/xwnode/strategies/queries/hql.py,sha256=ycTZd__Zgyr8YauVKskN_dchQmO1BeuDn3Cc2Qtf0L0,2692
110
+ exonware/xwnode/strategies/queries/jmespath.py,sha256=15VaeT7K1496TyAtpk0juCPH8UtFtJ-PuRA6MWR2dQQ,7963
111
+ exonware/xwnode/strategies/queries/jq.py,sha256=D7gIMHTBbnQWkHHwDKRhVeycc0DLoobk-ZUX_baYdCk,2333
112
+ exonware/xwnode/strategies/queries/json_query.py,sha256=mGW6y8g6MWjl2ou0T-EIARH8hAT1TT1W24t-GkCAMwc,2306
113
+ exonware/xwnode/strategies/queries/jsoniq.py,sha256=p_sz6zxz1nOSf8L7p8-VI6o2PW0fl21ltTw0OHTHF54,8162
114
+ exonware/xwnode/strategies/queries/kql.py,sha256=dOw7HpU_GDjydmwKmg4nkdm0FFHlH8RjcggwhN-zbAc,2671
115
+ exonware/xwnode/strategies/queries/linq.py,sha256=1kcQ5w9tnjQm0dl7JyZNnwDGruZ1PWgkxPWRGjnN2m4,7994
116
+ exonware/xwnode/strategies/queries/logql.py,sha256=tlPH5XEQ5Fm_HVEP2BKuC5FLV7oUHkuQ_qaV0j2-bTw,2744
117
+ exonware/xwnode/strategies/queries/mql.py,sha256=c3oTkzHJ5BqwL1lxd8icTNVGtkYGXONKEsUH6a52USw,2554
118
+ exonware/xwnode/strategies/queries/n1ql.py,sha256=wPjWyi2_os2V4F59fZbHx-65ajsInX4OuYzKOm7QFU8,7852
119
+ exonware/xwnode/strategies/queries/partiql.py,sha256=UIeYH7DwmUo6lJA6Y9nktOZjzV-mLFrVxEtdQMPgSwM,2717
120
+ exonware/xwnode/strategies/queries/pig.py,sha256=0oAFo0oxRlS_M71m-hq2qBm0U2Bh3bK7aopNBu0etEk,8530
121
+ exonware/xwnode/strategies/queries/promql.py,sha256=SW2V_gATxk_y76OlVM8mDrBBkpg-A1nuxixA0MF-VFI,2714
122
+ exonware/xwnode/strategies/queries/sparql.py,sha256=0UgpPl9gfyg5mZPDFjeCRBo1RgganVsU14uI2Jj_tOU,7443
123
+ exonware/xwnode/strategies/queries/sql.py,sha256=aNUSE_dCcrOVbtB9sSRh2AnLdq2GVxZ6p10D_30G2_8,10212
124
+ exonware/xwnode/strategies/queries/xml_query.py,sha256=-0e-Slk6QZlG46zvAAF77YAfqhr4Bk6Bg8gb-X_3bpM,2329
125
+ exonware/xwnode/strategies/queries/xpath.py,sha256=Ofau8Kmq9iKk2Uc4PHY_XYdMlYEL_iRmonz_bBZphH4,9120
126
+ exonware/xwnode/strategies/queries/xquery.py,sha256=8mAdVGjc0AOY0UPi_BU6vF-XqEiKetJtb6np0f-bASc,8692
127
+ exonware/xwnode/strategies/queries/xwnode_executor.py,sha256=8iEjfwGaH6NYCrjf3e49hFE_4EzYfLt50FKuEur1sx4,12191
128
+ exonware/xwnode/strategies/queries/xwquery_strategy.py,sha256=JSjgI8hx8p_deblUm1br6-6oj_-Cf0znPomyxc3GyPI,16193
129
+ exonware_xwnode-0.0.1.12.dist-info/METADATA,sha256=8HJxldH_5uqOEy45YHfSnb5mVCpuO38_1FwSeYH_C24,5790
130
+ exonware_xwnode-0.0.1.12.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
131
+ exonware_xwnode-0.0.1.12.dist-info/licenses/LICENSE,sha256=w42ohoEUfhyT0NgiivAL4fWg2AMRLGnfXPMAR4EO-MU,1094
132
+ exonware_xwnode-0.0.1.12.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 eXonware.com - Eng. Muhammad AlShehri
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.