exonware-xwnode 0.0.1.18__py3-none-any.whl → 0.0.1.19__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.
- exonware/__init__.py +1 -1
- exonware/xwnode/__init__.py +1 -1
- exonware/xwnode/common/__init__.py +1 -1
- exonware/xwnode/common/management/__init__.py +1 -1
- exonware/xwnode/common/management/manager.py +2 -2
- exonware/xwnode/common/management/migration.py +1 -1
- exonware/xwnode/common/monitoring/__init__.py +1 -1
- exonware/xwnode/common/monitoring/metrics.py +2 -2
- exonware/xwnode/common/monitoring/pattern_detector.py +2 -2
- exonware/xwnode/common/monitoring/performance_monitor.py +2 -2
- exonware/xwnode/common/patterns/__init__.py +1 -1
- exonware/xwnode/common/patterns/advisor.py +1 -1
- exonware/xwnode/common/patterns/flyweight.py +2 -2
- exonware/xwnode/common/patterns/registry.py +1 -1
- exonware/xwnode/common/utils/__init__.py +1 -1
- exonware/xwnode/contracts.py +3 -3
- exonware/xwnode/edges/strategies/__init__.py +1 -1
- exonware/xwnode/edges/strategies/_base_edge.py +1 -1
- exonware/xwnode/edges/strategies/adj_list.py +1 -1
- exonware/xwnode/edges/strategies/adj_matrix.py +1 -1
- exonware/xwnode/edges/strategies/base.py +1 -1
- exonware/xwnode/edges/strategies/edge_adj_list.py +1 -1
- exonware/xwnode/edges/strategies/edge_adj_matrix.py +1 -1
- exonware/xwnode/edges/strategies/edge_bidir_wrapper.py +1 -1
- exonware/xwnode/edges/strategies/edge_block_adj_matrix.py +1 -1
- exonware/xwnode/edges/strategies/edge_coo.py +1 -1
- exonware/xwnode/edges/strategies/edge_csc.py +1 -1
- exonware/xwnode/edges/strategies/edge_csr.py +1 -1
- exonware/xwnode/edges/strategies/edge_dynamic_adj_list.py +1 -1
- exonware/xwnode/edges/strategies/edge_flow_network.py +1 -1
- exonware/xwnode/edges/strategies/edge_hyperedge_set.py +1 -1
- exonware/xwnode/edges/strategies/edge_neural_graph.py +1 -1
- exonware/xwnode/edges/strategies/edge_octree.py +1 -1
- exonware/xwnode/edges/strategies/edge_property_store.py +1 -1
- exonware/xwnode/edges/strategies/edge_quadtree.py +1 -1
- exonware/xwnode/edges/strategies/edge_rtree.py +1 -1
- exonware/xwnode/edges/strategies/edge_temporal_edgeset.py +1 -1
- exonware/xwnode/edges/strategies/edge_tree_graph_basic.py +1 -1
- exonware/xwnode/edges/strategies/edge_weighted_graph.py +1 -1
- exonware/xwnode/errors.py +1 -1
- exonware/xwnode/facade.py +3 -3
- exonware/xwnode/nodes/strategies/__init__.py +1 -1
- exonware/xwnode/nodes/strategies/_base_node.py +1 -1
- exonware/xwnode/nodes/strategies/adjacency_list.py +2 -2
- exonware/xwnode/nodes/strategies/aho_corasick.py +1 -1
- exonware/xwnode/nodes/strategies/array_list.py +1 -1
- exonware/xwnode/nodes/strategies/base.py +1 -1
- exonware/xwnode/nodes/strategies/contracts.py +1 -1
- exonware/xwnode/nodes/strategies/deque.py +2 -2
- exonware/xwnode/nodes/strategies/hash_map.py +1 -1
- exonware/xwnode/nodes/strategies/heap.py +1 -1
- exonware/xwnode/nodes/strategies/linked_list.py +1 -1
- exonware/xwnode/nodes/strategies/node_aho_corasick.py +1 -1
- exonware/xwnode/nodes/strategies/node_array_list.py +1 -1
- exonware/xwnode/nodes/strategies/node_avl_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_b_plus_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_bitmap.py +1 -1
- exonware/xwnode/nodes/strategies/node_bitset_dynamic.py +1 -1
- exonware/xwnode/nodes/strategies/node_bloom_filter.py +1 -1
- exonware/xwnode/nodes/strategies/node_btree.py +1 -1
- exonware/xwnode/nodes/strategies/node_count_min_sketch.py +1 -1
- exonware/xwnode/nodes/strategies/node_cow_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_cuckoo_hash.py +1 -1
- exonware/xwnode/nodes/strategies/node_fenwick_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_hash_map.py +1 -1
- exonware/xwnode/nodes/strategies/node_heap.py +1 -1
- exonware/xwnode/nodes/strategies/node_hyperloglog.py +1 -1
- exonware/xwnode/nodes/strategies/node_linked_list.py +1 -1
- exonware/xwnode/nodes/strategies/node_lsm_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_ordered_map.py +1 -1
- exonware/xwnode/nodes/strategies/node_ordered_map_balanced.py +1 -1
- exonware/xwnode/nodes/strategies/node_patricia.py +1 -1
- exonware/xwnode/nodes/strategies/node_persistent_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_radix_trie.py +1 -1
- exonware/xwnode/nodes/strategies/node_red_black_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_roaring_bitmap.py +1 -1
- exonware/xwnode/nodes/strategies/node_segment_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_set_hash.py +1 -1
- exonware/xwnode/nodes/strategies/node_set_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_skip_list.py +1 -1
- exonware/xwnode/nodes/strategies/node_splay_tree.py +1 -1
- exonware/xwnode/nodes/strategies/node_suffix_array.py +1 -1
- exonware/xwnode/nodes/strategies/node_treap.py +1 -1
- exonware/xwnode/nodes/strategies/node_tree_graph_hybrid.py +1 -1
- exonware/xwnode/nodes/strategies/node_trie.py +1 -1
- exonware/xwnode/nodes/strategies/node_union_find.py +1 -1
- exonware/xwnode/nodes/strategies/node_xdata_optimized.py +1 -1
- exonware/xwnode/nodes/strategies/priority_queue.py +2 -2
- exonware/xwnode/nodes/strategies/queue.py +2 -2
- exonware/xwnode/nodes/strategies/sparse_matrix.py +2 -2
- exonware/xwnode/nodes/strategies/stack.py +2 -2
- exonware/xwnode/nodes/strategies/trie.py +1 -1
- exonware/xwnode/nodes/strategies/union_find.py +1 -1
- exonware/xwnode/queries/executors/__init__.py +2 -2
- exonware/xwnode/queries/executors/advanced/aggregate_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/ask_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/construct_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/describe_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/for_loop_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/foreach_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/join_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/let_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/mutation_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/options_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/pipe_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/subscribe_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/subscription_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/union_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/window_executor.py +2 -2
- exonware/xwnode/queries/executors/advanced/with_cte_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/avg_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/count_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/distinct_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/group_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/having_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/max_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/min_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/sum_executor.py +2 -2
- exonware/xwnode/queries/executors/aggregation/summarize_executor.py +2 -2
- exonware/xwnode/queries/executors/array/indexing_executor.py +2 -2
- exonware/xwnode/queries/executors/array/slicing_executor.py +2 -2
- exonware/xwnode/queries/executors/base.py +2 -2
- exonware/xwnode/queries/executors/capability_checker.py +1 -1
- exonware/xwnode/queries/executors/contracts.py +2 -2
- exonware/xwnode/queries/executors/core/create_executor.py +2 -2
- exonware/xwnode/queries/executors/core/delete_executor.py +2 -2
- exonware/xwnode/queries/executors/core/drop_executor.py +2 -2
- exonware/xwnode/queries/executors/core/insert_executor.py +1 -1
- exonware/xwnode/queries/executors/core/select_executor.py +2 -2
- exonware/xwnode/queries/executors/core/update_executor.py +2 -2
- exonware/xwnode/queries/executors/data/alter_executor.py +2 -2
- exonware/xwnode/queries/executors/data/load_executor.py +2 -2
- exonware/xwnode/queries/executors/data/merge_executor.py +2 -2
- exonware/xwnode/queries/executors/data/store_executor.py +2 -2
- exonware/xwnode/queries/executors/{types.py → defs.py} +4 -4
- exonware/xwnode/queries/executors/engine.py +1 -1
- exonware/xwnode/queries/executors/errors.py +1 -1
- exonware/xwnode/queries/executors/filtering/between_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/filter_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/has_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/in_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/like_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/optional_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/range_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/term_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/values_executor.py +2 -2
- exonware/xwnode/queries/executors/filtering/where_executor.py +1 -1
- exonware/xwnode/queries/executors/graph/in_traverse_executor.py +2 -2
- exonware/xwnode/queries/executors/graph/match_executor.py +2 -2
- exonware/xwnode/queries/executors/graph/out_executor.py +2 -2
- exonware/xwnode/queries/executors/graph/path_executor.py +2 -2
- exonware/xwnode/queries/executors/graph/return_executor.py +2 -2
- exonware/xwnode/queries/executors/ordering/by_executor.py +2 -2
- exonware/xwnode/queries/executors/ordering/order_executor.py +2 -2
- exonware/xwnode/queries/executors/projection/extend_executor.py +2 -2
- exonware/xwnode/queries/executors/projection/project_executor.py +2 -2
- exonware/xwnode/queries/executors/registry.py +1 -1
- exonware/xwnode/queries/parsers/__init__.py +1 -1
- exonware/xwnode/queries/parsers/base.py +1 -1
- exonware/xwnode/queries/parsers/contracts.py +1 -1
- exonware/xwnode/queries/parsers/errors.py +1 -1
- exonware/xwnode/queries/parsers/sql_param_extractor.py +1 -1
- exonware/xwnode/queries/strategies/__init__.py +1 -1
- exonware/xwnode/queries/strategies/base.py +1 -1
- exonware/xwnode/queries/strategies/cql.py +1 -1
- exonware/xwnode/queries/strategies/cypher.py +1 -1
- exonware/xwnode/queries/strategies/datalog.py +1 -1
- exonware/xwnode/queries/strategies/elastic_dsl.py +1 -1
- exonware/xwnode/queries/strategies/eql.py +1 -1
- exonware/xwnode/queries/strategies/flux.py +1 -1
- exonware/xwnode/queries/strategies/gql.py +1 -1
- exonware/xwnode/queries/strategies/graphql.py +1 -1
- exonware/xwnode/queries/strategies/gremlin.py +1 -1
- exonware/xwnode/queries/strategies/hiveql.py +1 -1
- exonware/xwnode/queries/strategies/hql.py +1 -1
- exonware/xwnode/queries/strategies/jmespath.py +1 -1
- exonware/xwnode/queries/strategies/jq.py +1 -1
- exonware/xwnode/queries/strategies/json_query.py +1 -1
- exonware/xwnode/queries/strategies/jsoniq.py +1 -1
- exonware/xwnode/queries/strategies/kql.py +1 -1
- exonware/xwnode/queries/strategies/linq.py +1 -1
- exonware/xwnode/queries/strategies/logql.py +1 -1
- exonware/xwnode/queries/strategies/mql.py +1 -1
- exonware/xwnode/queries/strategies/n1ql.py +1 -1
- exonware/xwnode/queries/strategies/partiql.py +1 -1
- exonware/xwnode/queries/strategies/pig.py +1 -1
- exonware/xwnode/queries/strategies/promql.py +1 -1
- exonware/xwnode/queries/strategies/sparql.py +1 -1
- exonware/xwnode/queries/strategies/sql.py +1 -1
- exonware/xwnode/queries/strategies/xml_query.py +1 -1
- exonware/xwnode/queries/strategies/xpath.py +1 -1
- exonware/xwnode/queries/strategies/xquery.py +1 -1
- exonware/xwnode/queries/strategies/xwnode_executor.py +1 -1
- exonware/xwnode/queries/strategies/xwquery.py +1 -1
- exonware/xwnode/strategies/__init__.py +2 -2
- exonware/xwnode/version.py +3 -3
- {exonware_xwnode-0.0.1.18.dist-info → exonware_xwnode-0.0.1.19.dist-info}/METADATA +2 -2
- exonware_xwnode-0.0.1.19.dist-info/RECORD +214 -0
- exonware_xwnode-0.0.1.18.dist-info/RECORD +0 -214
- /exonware/xwnode/{types.py → defs.py} +0 -0
- {exonware_xwnode-0.0.1.18.dist-info → exonware_xwnode-0.0.1.19.dist-info}/WHEEL +0 -0
- {exonware_xwnode-0.0.1.18.dist-info → exonware_xwnode-0.0.1.19.dist-info}/licenses/LICENSE +0 -0
exonware/__init__.py
CHANGED
exonware/xwnode/__init__.py
CHANGED
@@ -12,7 +12,7 @@ This module provides the enhanced StrategyManager class that integrates:
|
|
12
12
|
Company: eXonware.com
|
13
13
|
Author: Eng. Muhammad AlShehri
|
14
14
|
Email: connect@exonware.com
|
15
|
-
Version: 0.0.1.
|
15
|
+
Version: 0.0.1.19
|
16
16
|
Generation Date: 07-Sep-2025
|
17
17
|
"""
|
18
18
|
|
@@ -22,7 +22,7 @@ from typing import Dict, Optional, Any, Union, List
|
|
22
22
|
from exonware.xwsystem import get_logger
|
23
23
|
|
24
24
|
logger = get_logger(__name__)
|
25
|
-
from ..
|
25
|
+
from ..defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait
|
26
26
|
from .registry import get_registry
|
27
27
|
from .advisor import get_advisor
|
28
28
|
from .migration import get_migrator
|
@@ -9,7 +9,7 @@ from typing import Any, Dict, List, Optional, Set, Tuple, Type
|
|
9
9
|
from enum import Enum
|
10
10
|
import threading
|
11
11
|
import time
|
12
|
-
from ..
|
12
|
+
from ..defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait
|
13
13
|
from .registry import get_registry
|
14
14
|
from ..errors import XWNodeStrategyError, XWNodeError
|
15
15
|
import logging
|
@@ -9,7 +9,7 @@ memory usage, and optimization recommendations.
|
|
9
9
|
Company: eXonware.com
|
10
10
|
Author: Eng. Muhammad AlShehri
|
11
11
|
Email: connect@exonware.com
|
12
|
-
Version: 0.0.1.
|
12
|
+
Version: 0.0.1.19
|
13
13
|
Generation Date: 07-Sep-2025
|
14
14
|
"""
|
15
15
|
|
@@ -23,7 +23,7 @@ from exonware.xwsystem import get_logger
|
|
23
23
|
|
24
24
|
logger = get_logger(__name__)
|
25
25
|
|
26
|
-
from ..
|
26
|
+
from ..defs import NodeMode, EdgeMode
|
27
27
|
from .flyweight import get_flyweight_stats
|
28
28
|
from .pattern_detector import get_detector
|
29
29
|
from .performance_monitor import get_monitor, get_performance_summary
|
@@ -10,7 +10,7 @@ selection with sophisticated heuristics.
|
|
10
10
|
Company: eXonware.com
|
11
11
|
Author: Eng. Muhammad AlShehri
|
12
12
|
Email: connect@exonware.com
|
13
|
-
Version: 0.0.1.
|
13
|
+
Version: 0.0.1.19
|
14
14
|
Generation Date: 07-Sep-2025
|
15
15
|
"""
|
16
16
|
|
@@ -24,7 +24,7 @@ from exonware.xwsystem import get_logger
|
|
24
24
|
|
25
25
|
logger = get_logger(__name__)
|
26
26
|
|
27
|
-
from ..
|
27
|
+
from ..defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait
|
28
28
|
|
29
29
|
|
30
30
|
|
@@ -9,7 +9,7 @@ This enables data-driven strategy selection and performance tuning.
|
|
9
9
|
Company: eXonware.com
|
10
10
|
Author: Eng. Muhammad AlShehri
|
11
11
|
Email: connect@exonware.com
|
12
|
-
Version: 0.0.1.
|
12
|
+
Version: 0.0.1.19
|
13
13
|
Generation Date: 07-Sep-2025
|
14
14
|
"""
|
15
15
|
|
@@ -23,7 +23,7 @@ from exonware.xwsystem import get_logger
|
|
23
23
|
|
24
24
|
logger = get_logger(__name__)
|
25
25
|
|
26
|
-
from ..
|
26
|
+
from ..defs import NodeMode, EdgeMode
|
27
27
|
|
28
28
|
|
29
29
|
|
@@ -16,7 +16,7 @@ from exonware.xwsystem import get_logger
|
|
16
16
|
|
17
17
|
logger = get_logger(__name__)
|
18
18
|
|
19
|
-
from ..
|
19
|
+
from ..defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait, NODE_STRATEGY_METADATA, EDGE_STRATEGY_METADATA
|
20
20
|
|
21
21
|
|
22
22
|
@dataclass
|
@@ -10,7 +10,7 @@ configuration, which is especially important for high-throughput applications.
|
|
10
10
|
Company: eXonware.com
|
11
11
|
Author: Eng. Muhammad AlShehri
|
12
12
|
Email: connect@exonware.com
|
13
|
-
Version: 0.0.1.
|
13
|
+
Version: 0.0.1.19
|
14
14
|
Generation Date: 07-Sep-2025
|
15
15
|
"""
|
16
16
|
|
@@ -23,7 +23,7 @@ from exonware.xwsystem import get_logger
|
|
23
23
|
|
24
24
|
logger = get_logger(__name__)
|
25
25
|
|
26
|
-
from ..
|
26
|
+
from ..defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait
|
27
27
|
from ...nodes.strategies.base import ANodeStrategy
|
28
28
|
from ...edges.strategies.base import AEdgeStrategy
|
29
29
|
|
@@ -13,7 +13,7 @@ from exonware.xwsystem import get_logger
|
|
13
13
|
|
14
14
|
logger = get_logger(__name__)
|
15
15
|
|
16
|
-
from ..
|
16
|
+
from ..defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait, NODE_STRATEGY_METADATA, EDGE_STRATEGY_METADATA, QueryMode, QueryTrait
|
17
17
|
from ..errors import XWNodeStrategyError, XWNodeError
|
18
18
|
|
19
19
|
|
exonware/xwnode/contracts.py
CHANGED
@@ -9,8 +9,8 @@ from abc import ABC, abstractmethod
|
|
9
9
|
from typing import Any, Iterator, Optional, Dict, List, Union, Callable
|
10
10
|
from enum import Enum, Flag
|
11
11
|
|
12
|
-
# Import all enums from
|
13
|
-
from .
|
12
|
+
# Import all enums from defs.py to avoid circular references
|
13
|
+
from .defs import (
|
14
14
|
NodeMode, EdgeMode, NodeTrait, EdgeTrait, QueryMode, QueryTrait
|
15
15
|
)
|
16
16
|
|
@@ -476,7 +476,7 @@ class iNodeFacade(ABC):
|
|
476
476
|
# QUERY INTERFACES
|
477
477
|
# ============================================================================
|
478
478
|
|
479
|
-
# QueryMode and QueryTrait are now imported from
|
479
|
+
# QueryMode and QueryTrait are now imported from defs.py
|
480
480
|
|
481
481
|
|
482
482
|
class IQueryStrategy(ABC):
|
@@ -8,7 +8,7 @@ with efficient edge addition and neighbor queries.
|
|
8
8
|
from typing import Any, Iterator, Dict, List, Set, Optional, Tuple
|
9
9
|
from collections import defaultdict
|
10
10
|
from .base import AGraphEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class AdjListStrategy(AGraphEdgeStrategy):
|
@@ -7,7 +7,7 @@ with O(1) edge operations and efficient matrix-based algorithms.
|
|
7
7
|
|
8
8
|
from typing import Any, Iterator, Dict, List, Set, Optional, Tuple, Union
|
9
9
|
from .base import AGraphEdgeStrategy
|
10
|
-
from ...
|
10
|
+
from ...defs import EdgeMode, EdgeTrait
|
11
11
|
|
12
12
|
|
13
13
|
class AdjMatrixStrategy(AGraphEdgeStrategy):
|
@@ -8,7 +8,7 @@ with efficient edge addition and neighbor queries.
|
|
8
8
|
from typing import Any, Iterator, Dict, List, Set, Optional, Tuple
|
9
9
|
from collections import defaultdict
|
10
10
|
from ._base_edge import aEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class xAdjListStrategy(aEdgeStrategy):
|
@@ -7,7 +7,7 @@ with O(1) edge operations and efficient matrix-based algorithms.
|
|
7
7
|
|
8
8
|
from typing import Any, Iterator, Dict, List, Set, Optional, Tuple, Union
|
9
9
|
from ._base_edge import aEdgeStrategy
|
10
|
-
from ...
|
10
|
+
from ...defs import EdgeMode, EdgeTrait
|
11
11
|
|
12
12
|
|
13
13
|
class xAdjMatrixStrategy(aEdgeStrategy):
|
@@ -8,7 +8,7 @@ undirected graph operations using dual directed edges.
|
|
8
8
|
from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
9
9
|
from collections import defaultdict
|
10
10
|
from ._base_edge import aEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class xBidirWrapperStrategy(aEdgeStrategy):
|
@@ -8,7 +8,7 @@ dense graph operations using block-based matrix partitioning.
|
|
8
8
|
from typing import Any, Iterator, List, Dict, Optional, Tuple, Set
|
9
9
|
import math
|
10
10
|
from ._base_edge import aEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class MatrixBlock:
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
|
9
9
|
from collections import defaultdict
|
10
10
|
import bisect
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class xCOOStrategy(aEdgeStrategy):
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
|
9
9
|
from collections import defaultdict
|
10
10
|
import bisect
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class xCSCStrategy(aEdgeStrategy):
|
@@ -8,7 +8,7 @@ representation with fast row-wise operations.
|
|
8
8
|
from typing import Any, Iterator, Dict, List, Set, Optional, Tuple, Union
|
9
9
|
import bisect
|
10
10
|
from ._base_edge import aEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class xCSRStrategy(aEdgeStrategy):
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, Dict, List, Set, Optional, Tuple, DefaultDict
|
|
9
9
|
from collections import defaultdict, deque
|
10
10
|
import math
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class FlowEdge:
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
|
9
9
|
from collections import defaultdict
|
10
10
|
import math
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class OctreeNode:
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple, Union
|
|
9
9
|
from collections import defaultdict
|
10
10
|
import statistics
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class PropertyColumn:
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
|
9
9
|
from collections import defaultdict
|
10
10
|
import math
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class QuadTreeNode:
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, Dict, List, Set, Optional, Tuple, NamedTuple
|
|
9
9
|
from collections import defaultdict
|
10
10
|
import math
|
11
11
|
from ._base_edge import aEdgeStrategy
|
12
|
-
from ...
|
12
|
+
from ...defs import EdgeMode, EdgeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class Rectangle(NamedTuple):
|
@@ -8,7 +8,7 @@ in tree+graph hybrid structures, providing minimal graph capabilities.
|
|
8
8
|
|
9
9
|
from typing import Any, Dict, List, Optional, Set, Tuple, Iterator
|
10
10
|
from ._base_edge import aEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class xTreeGraphBasicStrategy(aEdgeStrategy):
|
@@ -8,7 +8,7 @@ edge weights, optimized for network algorithms and shortest path computations.
|
|
8
8
|
|
9
9
|
from typing import Any, Dict, List, Optional, Set, Tuple, Iterator
|
10
10
|
from ._base_edge import aEdgeStrategy
|
11
|
-
from ...
|
11
|
+
from ...defs import EdgeMode, EdgeTrait
|
12
12
|
from ...errors import XWNodeUnsupportedCapabilityError
|
13
13
|
import threading
|
14
14
|
|
exonware/xwnode/errors.py
CHANGED
@@ -328,7 +328,7 @@ class XWNodePresetError(XWNodeStrategyError):
|
|
328
328
|
|
329
329
|
# Import here to avoid circular imports
|
330
330
|
try:
|
331
|
-
from .
|
331
|
+
from .defs import list_presets
|
332
332
|
available = list_presets()
|
333
333
|
suggestions = [f"Available presets: {', '.join(available)}"]
|
334
334
|
except ImportError:
|
exonware/xwnode/facade.py
CHANGED
@@ -9,7 +9,7 @@ a clean, intuitive interface.
|
|
9
9
|
Company: eXonware.com
|
10
10
|
Author: Eng. Muhammad AlShehri
|
11
11
|
Email: connect@exonware.com
|
12
|
-
Version: 0.0.1.
|
12
|
+
Version: 0.0.1.19
|
13
13
|
Generation Date: 07-Sep-2025
|
14
14
|
"""
|
15
15
|
|
@@ -321,7 +321,7 @@ class XWFactory:
|
|
321
321
|
# A+ Usability Presets
|
322
322
|
def create_with_preset(data: Any = None, preset: str = 'DEFAULT') -> XWNode:
|
323
323
|
"""Create XWNode with A+ usability preset."""
|
324
|
-
from .
|
324
|
+
from .defs import get_preset
|
325
325
|
|
326
326
|
try:
|
327
327
|
preset_config = get_preset(preset)
|
@@ -334,7 +334,7 @@ def create_with_preset(data: Any = None, preset: str = 'DEFAULT') -> XWNode:
|
|
334
334
|
|
335
335
|
def list_available_presets() -> List[str]:
|
336
336
|
"""List all available A+ usability presets."""
|
337
|
-
from .
|
337
|
+
from .defs import list_presets
|
338
338
|
return list_presets()
|
339
339
|
|
340
340
|
# Performance Mode Factory Methods
|
@@ -7,7 +7,7 @@ in the strategy system.
|
|
7
7
|
|
8
8
|
from abc import ABC, abstractmethod
|
9
9
|
from typing import Any, Dict, List, Optional, Iterator, Union
|
10
|
-
from ...
|
10
|
+
from ...defs import NodeMode, NodeTrait
|
11
11
|
from ...errors import XWNodeUnsupportedCapabilityError
|
12
12
|
|
13
13
|
|
@@ -6,7 +6,7 @@ Implements graph operations using adjacency list representation.
|
|
6
6
|
Company: eXonware.com
|
7
7
|
Author: Eng. Muhammad AlShehri
|
8
8
|
Email: connect@exonware.com
|
9
|
-
Version: 0.0.1.
|
9
|
+
Version: 0.0.1.19
|
10
10
|
Generation Date: 07-Sep-2025
|
11
11
|
"""
|
12
12
|
|
@@ -14,7 +14,7 @@ from typing import Any, Iterator, List, Optional, Dict, Union, Set, Tuple
|
|
14
14
|
from collections import defaultdict
|
15
15
|
from .base import ANodeGraphStrategy
|
16
16
|
from .contracts import NodeType
|
17
|
-
from ...
|
17
|
+
from ...defs import NodeMode, NodeTrait
|
18
18
|
|
19
19
|
|
20
20
|
class AdjacencyListStrategy(ANodeGraphStrategy):
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
|
9
9
|
from collections import deque, defaultdict
|
10
10
|
from .base import ANodeTreeStrategy
|
11
11
|
from .contracts import NodeType
|
12
|
-
from ...
|
12
|
+
from ...defs import NodeMode, NodeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class ACNode:
|
@@ -8,7 +8,7 @@ with fast indexed access.
|
|
8
8
|
from typing import Any, Iterator, List, Union, Dict
|
9
9
|
from .base import ANodeLinearStrategy
|
10
10
|
from .contracts import NodeType
|
11
|
-
from ...
|
11
|
+
from ...defs import NodeMode, NodeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class ArrayListStrategy(ANodeLinearStrategy):
|
@@ -6,7 +6,7 @@ Implements a double-ended queue using Python's deque for efficient operations at
|
|
6
6
|
Company: eXonware.com
|
7
7
|
Author: Eng. Muhammad AlShehri
|
8
8
|
Email: connect@exonware.com
|
9
|
-
Version: 0.0.1.
|
9
|
+
Version: 0.0.1.19
|
10
10
|
Generation Date: 07-Sep-2025
|
11
11
|
"""
|
12
12
|
|
@@ -14,7 +14,7 @@ from typing import Any, Iterator, Optional, Dict, Union
|
|
14
14
|
from collections import deque
|
15
15
|
from .base import ANodeLinearStrategy
|
16
16
|
from .contracts import NodeType
|
17
|
-
from ...
|
17
|
+
from ...defs import NodeMode, NodeTrait
|
18
18
|
|
19
19
|
|
20
20
|
class DequeStrategy(ANodeLinearStrategy):
|
@@ -8,7 +8,7 @@ using Python's built-in dictionary.
|
|
8
8
|
from typing import Any, Iterator, Dict, List, Optional, Union
|
9
9
|
from .base import ANodeStrategy
|
10
10
|
from .contracts import NodeType
|
11
|
-
from ...
|
11
|
+
from ...defs import NodeMode, NodeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class HashMapStrategy(ANodeStrategy):
|
@@ -8,7 +8,7 @@ insertions and deletions with sequential access patterns.
|
|
8
8
|
from typing import Any, Iterator, List, Dict, Optional
|
9
9
|
from .base import ANodeLinearStrategy
|
10
10
|
from .contracts import NodeType
|
11
|
-
from ...
|
11
|
+
from ...defs import NodeMode, NodeTrait
|
12
12
|
|
13
13
|
|
14
14
|
class ListNode:
|
@@ -9,7 +9,7 @@ from typing import Any, Iterator, List, Dict, Set, Optional, Tuple
|
|
9
9
|
from collections import deque, defaultdict
|
10
10
|
from .base import ANodeTreeStrategy
|
11
11
|
from .contracts import NodeType
|
12
|
-
from ...
|
12
|
+
from ...defs import NodeMode, NodeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class ACNode:
|
@@ -9,7 +9,7 @@ search trees with guaranteed O(log n) height and operations.
|
|
9
9
|
from typing import Any, Iterator, List, Dict, Optional, Tuple
|
10
10
|
from .base import ANodeTreeStrategy
|
11
11
|
from .contracts import NodeType
|
12
|
-
from ...
|
12
|
+
from ...defs import NodeMode, NodeTrait
|
13
13
|
|
14
14
|
|
15
15
|
class AVLTreeNode:
|