exonware-xwnode 0.0.1.20__py3-none-any.whl → 0.0.1.22__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 +8 -1
- exonware/xwnode/__init__.py +1 -1
- exonware/xwnode/base.py +7 -5
- exonware/xwnode/common/__init__.py +1 -1
- exonware/xwnode/common/management/__init__.py +1 -1
- exonware/xwnode/common/management/manager.py +8 -8
- exonware/xwnode/common/management/migration.py +3 -3
- 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 +2 -2
- exonware/xwnode/common/utils/__init__.py +1 -1
- exonware/xwnode/edges/strategies/__init__.py +1 -1
- exonware/xwnode/edges/strategies/base.py +1 -1
- exonware/xwnode/facade.py +1 -1
- exonware/xwnode/nodes/strategies/__init__.py +1 -1
- exonware/xwnode/nodes/strategies/adjacency_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 +1 -1
- exonware/xwnode/nodes/strategies/priority_queue.py +1 -1
- exonware/xwnode/nodes/strategies/queue.py +1 -1
- exonware/xwnode/nodes/strategies/sparse_matrix.py +1 -1
- exonware/xwnode/nodes/strategies/stack.py +1 -1
- exonware/xwnode/queries/executors/__init__.py +1 -1
- exonware/xwnode/queries/executors/advanced/aggregate_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/ask_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/construct_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/describe_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/for_loop_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/foreach_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/join_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/let_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/mutation_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/options_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/pipe_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/subscribe_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/subscription_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/union_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/window_executor.py +1 -1
- exonware/xwnode/queries/executors/advanced/with_cte_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/avg_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/count_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/distinct_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/group_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/having_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/max_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/min_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/sum_executor.py +1 -1
- exonware/xwnode/queries/executors/aggregation/summarize_executor.py +1 -1
- exonware/xwnode/queries/executors/array/indexing_executor.py +1 -1
- exonware/xwnode/queries/executors/array/slicing_executor.py +1 -1
- exonware/xwnode/queries/executors/base.py +1 -1
- exonware/xwnode/queries/executors/capability_checker.py +1 -1
- exonware/xwnode/queries/executors/contracts.py +1 -1
- exonware/xwnode/queries/executors/core/create_executor.py +1 -1
- exonware/xwnode/queries/executors/core/delete_executor.py +1 -1
- exonware/xwnode/queries/executors/core/drop_executor.py +1 -1
- exonware/xwnode/queries/executors/core/insert_executor.py +1 -1
- exonware/xwnode/queries/executors/core/select_executor.py +1 -1
- exonware/xwnode/queries/executors/core/update_executor.py +1 -1
- exonware/xwnode/queries/executors/data/alter_executor.py +1 -1
- exonware/xwnode/queries/executors/data/load_executor.py +1 -1
- exonware/xwnode/queries/executors/data/merge_executor.py +1 -1
- exonware/xwnode/queries/executors/data/store_executor.py +1 -1
- exonware/xwnode/queries/executors/defs.py +1 -1
- exonware/xwnode/queries/executors/engine.py +1 -1
- exonware/xwnode/queries/executors/errors.py +1 -1
- exonware/xwnode/queries/executors/filtering/between_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/filter_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/has_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/in_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/like_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/optional_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/range_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/term_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/values_executor.py +1 -1
- exonware/xwnode/queries/executors/filtering/where_executor.py +1 -1
- exonware/xwnode/queries/executors/graph/in_traverse_executor.py +1 -1
- exonware/xwnode/queries/executors/graph/match_executor.py +1 -1
- exonware/xwnode/queries/executors/graph/out_executor.py +1 -1
- exonware/xwnode/queries/executors/graph/path_executor.py +1 -1
- exonware/xwnode/queries/executors/graph/return_executor.py +1 -1
- exonware/xwnode/queries/executors/ordering/by_executor.py +1 -1
- exonware/xwnode/queries/executors/ordering/order_executor.py +1 -1
- exonware/xwnode/queries/executors/projection/extend_executor.py +1 -1
- exonware/xwnode/queries/executors/projection/project_executor.py +1 -1
- 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 +1 -1
- exonware/xwnode/version.py +2 -2
- {exonware_xwnode-0.0.1.20.dist-info → exonware_xwnode-0.0.1.22.dist-info}/METADATA +5 -5
- {exonware_xwnode-0.0.1.20.dist-info → exonware_xwnode-0.0.1.22.dist-info}/RECORD +135 -135
- {exonware_xwnode-0.0.1.20.dist-info → exonware_xwnode-0.0.1.22.dist-info}/WHEEL +0 -0
- {exonware_xwnode-0.0.1.20.dist-info → exonware_xwnode-0.0.1.22.dist-info}/licenses/LICENSE +0 -0
exonware/__init__.py
CHANGED
@@ -4,10 +4,17 @@ exonware package - Enterprise-grade Python framework ecosystem
|
|
4
4
|
Company: eXonware.com
|
5
5
|
Author: Eng. Muhammad AlShehri
|
6
6
|
Email: connect@exonware.com
|
7
|
-
Version: 0.0.1.
|
7
|
+
Version: 0.0.1.22
|
8
8
|
Generation Date: 2025-01-03
|
9
|
+
|
10
|
+
This is a namespace package allowing multiple exonware subpackages
|
11
|
+
to coexist (xwsystem, xwnode, xwdata, etc.)
|
9
12
|
"""
|
10
13
|
|
14
|
+
# Make this a namespace package - DO NOT set __path__
|
15
|
+
# This allows both exonware.xwsystem and exonware.xwnode to coexist
|
16
|
+
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
|
17
|
+
|
11
18
|
__version__ = '0.0.1'
|
12
19
|
__author__ = 'Eng. Muhammad AlShehri'
|
13
20
|
__email__ = 'connect@exonware.com'
|
exonware/xwnode/__init__.py
CHANGED
exonware/xwnode/base.py
CHANGED
@@ -24,9 +24,8 @@ from .contracts import iNodeFacade, iNodeStrategy, iEdge, iEdgeStrategy, iQuery,
|
|
24
24
|
# System-level imports - standard imports (no defensive code!)
|
25
25
|
from exonware.xwsystem.security import get_resource_limits
|
26
26
|
from exonware.xwsystem.validation import validate_untrusted_data
|
27
|
-
from exonware.xwsystem.monitoring import create_component_metrics
|
27
|
+
from exonware.xwsystem.monitoring import create_component_metrics, CircuitBreaker, CircuitBreakerConfig
|
28
28
|
from exonware.xwsystem.threading import ThreadSafeFactory, create_thread_safe_cache
|
29
|
-
from exonware.xwsystem.patterns import CircuitBreaker
|
30
29
|
from exonware.xwsystem import get_logger
|
31
30
|
|
32
31
|
logger = get_logger('xwnode.base')
|
@@ -42,9 +41,12 @@ _path_cache = create_thread_safe_cache(max_size=1024)
|
|
42
41
|
|
43
42
|
# Circuit breaker for strategy operations
|
44
43
|
_strategy_circuit_breaker = CircuitBreaker(
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
name='xwnode_strategy',
|
45
|
+
config=CircuitBreakerConfig(
|
46
|
+
failure_threshold=5,
|
47
|
+
recovery_timeout=30,
|
48
|
+
expected_exception=Exception
|
49
|
+
)
|
48
50
|
)
|
49
51
|
|
50
52
|
|
@@ -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.22
|
16
16
|
Generation Date: 07-Sep-2025
|
17
17
|
"""
|
18
18
|
|
@@ -22,14 +22,14 @@ 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
|
26
|
-
from .registry import get_registry
|
27
|
-
from .advisor import get_advisor
|
25
|
+
from ...defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait
|
26
|
+
from ..patterns.registry import get_registry
|
27
|
+
from ..patterns.advisor import get_advisor
|
28
28
|
from .migration import get_migrator
|
29
|
-
from .flyweight import get_flyweight
|
30
|
-
from .pattern_detector import get_detector, DataProfile
|
31
|
-
from .performance_monitor import get_monitor, OperationType
|
32
|
-
from
|
29
|
+
from ..patterns.flyweight import get_flyweight
|
30
|
+
from ..monitoring.pattern_detector import get_detector, DataProfile
|
31
|
+
from ..monitoring.performance_monitor import get_monitor, OperationType
|
32
|
+
from ...errors import (
|
33
33
|
XWNodeStrategyError, XWNodeError,
|
34
34
|
XWNodeStrategyError, XWNodeUnsupportedCapabilityError
|
35
35
|
)
|
@@ -9,9 +9,9 @@ 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
|
13
|
-
from .registry import get_registry
|
14
|
-
from
|
12
|
+
from ...defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait
|
13
|
+
from ..patterns.registry import get_registry
|
14
|
+
from ...errors import XWNodeStrategyError, XWNodeError
|
15
15
|
import logging
|
16
16
|
|
17
17
|
logger = logging.getLogger(__name__)
|
@@ -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.22
|
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.22
|
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.22
|
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.22
|
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,8 +13,8 @@ from exonware.xwsystem import get_logger
|
|
13
13
|
|
14
14
|
logger = get_logger(__name__)
|
15
15
|
|
16
|
-
from
|
17
|
-
from
|
16
|
+
from ...defs import NodeMode, EdgeMode, NodeTrait, EdgeTrait, NODE_STRATEGY_METADATA, EDGE_STRATEGY_METADATA, QueryMode, QueryTrait
|
17
|
+
from ...errors import XWNodeStrategyError, XWNodeError
|
18
18
|
|
19
19
|
|
20
20
|
class StrategyRegistry:
|
exonware/xwnode/facade.py
CHANGED