tnfr 4.5.1__py3-none-any.whl → 6.0.0__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 (170) hide show
  1. tnfr/__init__.py +270 -90
  2. tnfr/__init__.pyi +40 -0
  3. tnfr/_compat.py +11 -0
  4. tnfr/_version.py +7 -0
  5. tnfr/_version.pyi +7 -0
  6. tnfr/alias.py +631 -0
  7. tnfr/alias.pyi +140 -0
  8. tnfr/cache.py +732 -0
  9. tnfr/cache.pyi +232 -0
  10. tnfr/callback_utils.py +381 -0
  11. tnfr/callback_utils.pyi +105 -0
  12. tnfr/cli/__init__.py +89 -0
  13. tnfr/cli/__init__.pyi +47 -0
  14. tnfr/cli/arguments.py +199 -0
  15. tnfr/cli/arguments.pyi +33 -0
  16. tnfr/cli/execution.py +322 -0
  17. tnfr/cli/execution.pyi +80 -0
  18. tnfr/cli/utils.py +34 -0
  19. tnfr/cli/utils.pyi +8 -0
  20. tnfr/config/__init__.py +12 -0
  21. tnfr/config/__init__.pyi +8 -0
  22. tnfr/config/constants.py +104 -0
  23. tnfr/config/constants.pyi +12 -0
  24. tnfr/config/init.py +36 -0
  25. tnfr/config/init.pyi +8 -0
  26. tnfr/config/operator_names.py +106 -0
  27. tnfr/config/operator_names.pyi +28 -0
  28. tnfr/config/presets.py +104 -0
  29. tnfr/config/presets.pyi +7 -0
  30. tnfr/constants/__init__.py +228 -0
  31. tnfr/constants/__init__.pyi +104 -0
  32. tnfr/constants/core.py +158 -0
  33. tnfr/constants/core.pyi +17 -0
  34. tnfr/constants/init.py +31 -0
  35. tnfr/constants/init.pyi +12 -0
  36. tnfr/constants/metric.py +102 -0
  37. tnfr/constants/metric.pyi +19 -0
  38. tnfr/constants_glyphs.py +16 -0
  39. tnfr/constants_glyphs.pyi +12 -0
  40. tnfr/dynamics/__init__.py +136 -0
  41. tnfr/dynamics/__init__.pyi +83 -0
  42. tnfr/dynamics/adaptation.py +201 -0
  43. tnfr/dynamics/aliases.py +22 -0
  44. tnfr/dynamics/coordination.py +343 -0
  45. tnfr/dynamics/dnfr.py +2315 -0
  46. tnfr/dynamics/dnfr.pyi +33 -0
  47. tnfr/dynamics/integrators.py +561 -0
  48. tnfr/dynamics/integrators.pyi +35 -0
  49. tnfr/dynamics/runtime.py +521 -0
  50. tnfr/dynamics/sampling.py +34 -0
  51. tnfr/dynamics/sampling.pyi +7 -0
  52. tnfr/dynamics/selectors.py +680 -0
  53. tnfr/execution.py +216 -0
  54. tnfr/execution.pyi +65 -0
  55. tnfr/flatten.py +283 -0
  56. tnfr/flatten.pyi +28 -0
  57. tnfr/gamma.py +320 -89
  58. tnfr/gamma.pyi +40 -0
  59. tnfr/glyph_history.py +337 -0
  60. tnfr/glyph_history.pyi +53 -0
  61. tnfr/grammar.py +23 -153
  62. tnfr/grammar.pyi +13 -0
  63. tnfr/helpers/__init__.py +151 -0
  64. tnfr/helpers/__init__.pyi +66 -0
  65. tnfr/helpers/numeric.py +88 -0
  66. tnfr/helpers/numeric.pyi +12 -0
  67. tnfr/immutable.py +214 -0
  68. tnfr/immutable.pyi +37 -0
  69. tnfr/initialization.py +199 -0
  70. tnfr/initialization.pyi +73 -0
  71. tnfr/io.py +311 -0
  72. tnfr/io.pyi +11 -0
  73. tnfr/locking.py +37 -0
  74. tnfr/locking.pyi +7 -0
  75. tnfr/metrics/__init__.py +41 -0
  76. tnfr/metrics/__init__.pyi +20 -0
  77. tnfr/metrics/coherence.py +1469 -0
  78. tnfr/metrics/common.py +149 -0
  79. tnfr/metrics/common.pyi +15 -0
  80. tnfr/metrics/core.py +259 -0
  81. tnfr/metrics/core.pyi +13 -0
  82. tnfr/metrics/diagnosis.py +840 -0
  83. tnfr/metrics/diagnosis.pyi +89 -0
  84. tnfr/metrics/export.py +151 -0
  85. tnfr/metrics/glyph_timing.py +369 -0
  86. tnfr/metrics/reporting.py +152 -0
  87. tnfr/metrics/reporting.pyi +12 -0
  88. tnfr/metrics/sense_index.py +294 -0
  89. tnfr/metrics/sense_index.pyi +9 -0
  90. tnfr/metrics/trig.py +216 -0
  91. tnfr/metrics/trig.pyi +12 -0
  92. tnfr/metrics/trig_cache.py +105 -0
  93. tnfr/metrics/trig_cache.pyi +10 -0
  94. tnfr/node.py +255 -177
  95. tnfr/node.pyi +161 -0
  96. tnfr/observers.py +154 -150
  97. tnfr/observers.pyi +46 -0
  98. tnfr/ontosim.py +135 -134
  99. tnfr/ontosim.pyi +33 -0
  100. tnfr/operators/__init__.py +452 -0
  101. tnfr/operators/__init__.pyi +31 -0
  102. tnfr/operators/definitions.py +181 -0
  103. tnfr/operators/definitions.pyi +92 -0
  104. tnfr/operators/jitter.py +266 -0
  105. tnfr/operators/jitter.pyi +11 -0
  106. tnfr/operators/registry.py +80 -0
  107. tnfr/operators/registry.pyi +15 -0
  108. tnfr/operators/remesh.py +569 -0
  109. tnfr/presets.py +10 -23
  110. tnfr/presets.pyi +7 -0
  111. tnfr/py.typed +0 -0
  112. tnfr/rng.py +440 -0
  113. tnfr/rng.pyi +14 -0
  114. tnfr/selector.py +217 -0
  115. tnfr/selector.pyi +19 -0
  116. tnfr/sense.py +307 -142
  117. tnfr/sense.pyi +30 -0
  118. tnfr/structural.py +69 -164
  119. tnfr/structural.pyi +46 -0
  120. tnfr/telemetry/__init__.py +13 -0
  121. tnfr/telemetry/verbosity.py +37 -0
  122. tnfr/tokens.py +61 -0
  123. tnfr/tokens.pyi +41 -0
  124. tnfr/trace.py +520 -95
  125. tnfr/trace.pyi +68 -0
  126. tnfr/types.py +382 -17
  127. tnfr/types.pyi +145 -0
  128. tnfr/utils/__init__.py +158 -0
  129. tnfr/utils/__init__.pyi +133 -0
  130. tnfr/utils/cache.py +755 -0
  131. tnfr/utils/cache.pyi +156 -0
  132. tnfr/utils/data.py +267 -0
  133. tnfr/utils/data.pyi +73 -0
  134. tnfr/utils/graph.py +87 -0
  135. tnfr/utils/graph.pyi +10 -0
  136. tnfr/utils/init.py +746 -0
  137. tnfr/utils/init.pyi +85 -0
  138. tnfr/utils/io.py +157 -0
  139. tnfr/utils/io.pyi +10 -0
  140. tnfr/utils/validators.py +130 -0
  141. tnfr/utils/validators.pyi +19 -0
  142. tnfr/validation/__init__.py +25 -0
  143. tnfr/validation/__init__.pyi +17 -0
  144. tnfr/validation/compatibility.py +59 -0
  145. tnfr/validation/compatibility.pyi +8 -0
  146. tnfr/validation/grammar.py +149 -0
  147. tnfr/validation/grammar.pyi +11 -0
  148. tnfr/validation/rules.py +194 -0
  149. tnfr/validation/rules.pyi +18 -0
  150. tnfr/validation/syntax.py +151 -0
  151. tnfr/validation/syntax.pyi +7 -0
  152. tnfr-6.0.0.dist-info/METADATA +135 -0
  153. tnfr-6.0.0.dist-info/RECORD +157 -0
  154. tnfr/cli.py +0 -322
  155. tnfr/config.py +0 -41
  156. tnfr/constants.py +0 -277
  157. tnfr/dynamics.py +0 -814
  158. tnfr/helpers.py +0 -264
  159. tnfr/main.py +0 -47
  160. tnfr/metrics.py +0 -597
  161. tnfr/operators.py +0 -525
  162. tnfr/program.py +0 -176
  163. tnfr/scenarios.py +0 -34
  164. tnfr/validators.py +0 -38
  165. tnfr-4.5.1.dist-info/METADATA +0 -221
  166. tnfr-4.5.1.dist-info/RECORD +0 -28
  167. {tnfr-4.5.1.dist-info → tnfr-6.0.0.dist-info}/WHEEL +0 -0
  168. {tnfr-4.5.1.dist-info → tnfr-6.0.0.dist-info}/entry_points.txt +0 -0
  169. {tnfr-4.5.1.dist-info → tnfr-6.0.0.dist-info}/licenses/LICENSE.md +0 -0
  170. {tnfr-4.5.1.dist-info → tnfr-6.0.0.dist-info}/top_level.txt +0 -0
tnfr/alias.pyi ADDED
@@ -0,0 +1,140 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Iterable, Mapping, MutableMapping
4
+ from types import ModuleType
5
+ from typing import TYPE_CHECKING, Any, Hashable, TypeVar
6
+
7
+ from .types import FloatArray, NodeId
8
+
9
+ if TYPE_CHECKING:
10
+ import networkx as nx
11
+
12
+ T = TypeVar("T")
13
+
14
+ __all__: list[str]
15
+
16
+ def __getattr__(name: str) -> Any: ...
17
+
18
+
19
+ class AbsMaxResult:
20
+ max_value: float
21
+ node: Hashable | None
22
+
23
+
24
+ SCALAR_SETTERS: dict[str, dict[str, Any]]
25
+
26
+
27
+ def get_attr(
28
+ d: dict[str, Any],
29
+ aliases: Iterable[str],
30
+ default: T | None = ...,
31
+ *,
32
+ strict: bool = ...,
33
+ log_level: int | None = ...,
34
+ conv: Callable[[Any], T] = ...,
35
+ ) -> T | None: ...
36
+
37
+
38
+ def get_theta_attr(
39
+ d: Mapping[str, Any],
40
+ default: T | None = ...,
41
+ *,
42
+ strict: bool = ...,
43
+ log_level: int | None = ...,
44
+ conv: Callable[[Any], T] = ...,
45
+ ) -> T | None: ...
46
+
47
+
48
+ def collect_attr(
49
+ G: "nx.Graph",
50
+ nodes: Iterable[NodeId],
51
+ aliases: Iterable[str],
52
+ default: float = ...,
53
+ *,
54
+ np: ModuleType | None = ...,
55
+ ) -> FloatArray | list[float]: ...
56
+
57
+
58
+ def collect_theta_attr(
59
+ G: "nx.Graph",
60
+ nodes: Iterable[NodeId],
61
+ default: float = ...,
62
+ *,
63
+ np: ModuleType | None = ...,
64
+ ) -> FloatArray | list[float]: ...
65
+
66
+
67
+ def set_attr_generic(
68
+ d: dict[str, Any],
69
+ aliases: Iterable[str],
70
+ value: Any,
71
+ *,
72
+ conv: Callable[[Any], T],
73
+ ) -> T: ...
74
+
75
+
76
+ def set_attr(
77
+ d: dict[str, Any], aliases: Iterable[str], value: Any, conv: Callable[[Any], T] = ...
78
+ ) -> T: ...
79
+
80
+
81
+ def get_attr_str(
82
+ d: dict[str, Any],
83
+ aliases: Iterable[str],
84
+ default: str | None = ...,
85
+ *,
86
+ strict: bool = ...,
87
+ log_level: int | None = ...,
88
+ conv: Callable[[Any], str] = ...,
89
+ ) -> str | None: ...
90
+
91
+
92
+ def set_attr_str(d: dict[str, Any], aliases: Iterable[str], value: Any) -> str: ...
93
+
94
+
95
+ def set_theta_attr(d: MutableMapping[str, Any], value: Any) -> float: ...
96
+
97
+
98
+ def multi_recompute_abs_max(
99
+ G: "nx.Graph", alias_map: Mapping[str, tuple[str, ...]]
100
+ ) -> dict[str, float]: ...
101
+
102
+
103
+ def set_attr_and_cache(
104
+ G: "nx.Graph",
105
+ n: Hashable,
106
+ aliases: tuple[str, ...],
107
+ value: float,
108
+ *,
109
+ cache: str | None = ...,
110
+ extra: Callable[["nx.Graph", Hashable, float], None] | None = ...,
111
+ ) -> AbsMaxResult | None: ...
112
+
113
+
114
+ def set_attr_with_max(
115
+ G: "nx.Graph", n: Hashable, aliases: tuple[str, ...], value: float, *, cache: str
116
+ ) -> AbsMaxResult: ...
117
+
118
+
119
+ def set_scalar(
120
+ G: "nx.Graph",
121
+ n: Hashable,
122
+ alias: tuple[str, ...],
123
+ value: float,
124
+ *,
125
+ cache: str | None = ...,
126
+ extra: Callable[["nx.Graph", Hashable, float], None] | None = ...,
127
+ ) -> AbsMaxResult | None: ...
128
+
129
+
130
+ def set_vf(
131
+ G: "nx.Graph", n: Hashable, value: float, *, update_max: bool = ...
132
+ ) -> AbsMaxResult | None: ...
133
+
134
+
135
+ def set_dnfr(G: "nx.Graph", n: Hashable, value: float) -> AbsMaxResult | None: ...
136
+
137
+
138
+ def set_theta(
139
+ G: "nx.Graph", n: Hashable, value: float
140
+ ) -> AbsMaxResult | None: ...