tnfr 4.3.0__tar.gz β†’ 8.5.0__tar.gz

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 (394) hide show
  1. {tnfr-4.3.0 β†’ tnfr-8.5.0}/LICENSE.md +1 -1
  2. tnfr-8.5.0/PKG-INFO +573 -0
  3. tnfr-8.5.0/README.md +431 -0
  4. tnfr-8.5.0/pyproject.toml +285 -0
  5. tnfr-8.5.0/src/tnfr/__init__.py +375 -0
  6. tnfr-8.5.0/src/tnfr/__init__.pyi +33 -0
  7. tnfr-8.5.0/src/tnfr/_compat.py +10 -0
  8. tnfr-8.5.0/src/tnfr/_generated_version.py +34 -0
  9. tnfr-8.5.0/src/tnfr/_version.py +49 -0
  10. tnfr-8.5.0/src/tnfr/_version.pyi +7 -0
  11. tnfr-8.5.0/src/tnfr/alias.py +723 -0
  12. tnfr-8.5.0/src/tnfr/alias.pyi +108 -0
  13. tnfr-8.5.0/src/tnfr/backends/__init__.py +354 -0
  14. tnfr-8.5.0/src/tnfr/backends/jax_backend.py +173 -0
  15. tnfr-8.5.0/src/tnfr/backends/numpy_backend.py +238 -0
  16. tnfr-8.5.0/src/tnfr/backends/optimized_numpy.py +420 -0
  17. tnfr-8.5.0/src/tnfr/backends/torch_backend.py +408 -0
  18. tnfr-8.5.0/src/tnfr/cache.py +171 -0
  19. tnfr-8.5.0/src/tnfr/cache.pyi +13 -0
  20. tnfr-8.5.0/src/tnfr/cli/__init__.py +110 -0
  21. tnfr-8.5.0/src/tnfr/cli/__init__.pyi +26 -0
  22. tnfr-8.5.0/src/tnfr/cli/arguments.py +489 -0
  23. tnfr-8.5.0/src/tnfr/cli/arguments.pyi +29 -0
  24. tnfr-8.5.0/src/tnfr/cli/execution.py +914 -0
  25. tnfr-8.5.0/src/tnfr/cli/execution.pyi +70 -0
  26. tnfr-8.5.0/src/tnfr/cli/interactive_validator.py +614 -0
  27. tnfr-8.5.0/src/tnfr/cli/utils.py +51 -0
  28. tnfr-8.5.0/src/tnfr/cli/utils.pyi +7 -0
  29. tnfr-8.5.0/src/tnfr/cli/validate.py +236 -0
  30. tnfr-8.5.0/src/tnfr/compat/__init__.py +85 -0
  31. tnfr-8.5.0/src/tnfr/compat/dataclass.py +136 -0
  32. tnfr-8.5.0/src/tnfr/compat/jsonschema_stub.py +61 -0
  33. tnfr-8.5.0/src/tnfr/compat/matplotlib_stub.py +73 -0
  34. tnfr-8.5.0/src/tnfr/compat/numpy_stub.py +155 -0
  35. tnfr-8.5.0/src/tnfr/config/__init__.py +224 -0
  36. tnfr-8.5.0/src/tnfr/config/__init__.pyi +10 -0
  37. tnfr-8.5.0/src/tnfr/config/constants.py +104 -0
  38. tnfr-8.5.0/src/tnfr/config/constants.pyi +12 -0
  39. tnfr-8.5.0/src/tnfr/config/defaults.py +54 -0
  40. tnfr-8.5.0/src/tnfr/config/defaults_core.py +212 -0
  41. tnfr-8.5.0/src/tnfr/config/defaults_init.py +33 -0
  42. tnfr-8.5.0/src/tnfr/config/defaults_metric.py +104 -0
  43. tnfr-8.5.0/src/tnfr/config/feature_flags.py +81 -0
  44. tnfr-8.5.0/src/tnfr/config/feature_flags.pyi +16 -0
  45. tnfr-8.5.0/src/tnfr/config/glyph_constants.py +31 -0
  46. tnfr-8.5.0/src/tnfr/config/init.py +77 -0
  47. tnfr-8.5.0/src/tnfr/config/init.pyi +8 -0
  48. tnfr-8.5.0/src/tnfr/config/operator_names.py +254 -0
  49. tnfr-8.5.0/src/tnfr/config/operator_names.pyi +36 -0
  50. tnfr-8.5.0/src/tnfr/config/physics_derivation.py +354 -0
  51. tnfr-8.5.0/src/tnfr/config/presets.py +83 -0
  52. tnfr-8.5.0/src/tnfr/config/presets.pyi +7 -0
  53. tnfr-8.5.0/src/tnfr/config/security.py +927 -0
  54. tnfr-8.5.0/src/tnfr/config/thresholds.py +114 -0
  55. tnfr-8.5.0/src/tnfr/config/tnfr_config.py +498 -0
  56. tnfr-8.5.0/src/tnfr/constants/__init__.py +92 -0
  57. tnfr-8.5.0/src/tnfr/constants/__init__.pyi +92 -0
  58. tnfr-8.5.0/src/tnfr/constants/aliases.py +33 -0
  59. tnfr-8.5.0/src/tnfr/constants/aliases.pyi +27 -0
  60. tnfr-8.5.0/src/tnfr/constants/init.py +33 -0
  61. tnfr-8.5.0/src/tnfr/constants/init.pyi +12 -0
  62. tnfr-8.5.0/src/tnfr/constants/metric.py +104 -0
  63. tnfr-8.5.0/src/tnfr/constants/metric.pyi +19 -0
  64. tnfr-8.5.0/src/tnfr/core/__init__.py +33 -0
  65. tnfr-8.5.0/src/tnfr/core/container.py +226 -0
  66. tnfr-8.5.0/src/tnfr/core/default_implementations.py +329 -0
  67. tnfr-8.5.0/src/tnfr/core/interfaces.py +279 -0
  68. tnfr-8.5.0/src/tnfr/dynamics/__init__.py +238 -0
  69. tnfr-8.5.0/src/tnfr/dynamics/__init__.pyi +83 -0
  70. tnfr-8.5.0/src/tnfr/dynamics/adaptation.py +267 -0
  71. tnfr-8.5.0/src/tnfr/dynamics/adaptation.pyi +7 -0
  72. tnfr-8.5.0/src/tnfr/dynamics/adaptive_sequences.py +189 -0
  73. tnfr-8.5.0/src/tnfr/dynamics/adaptive_sequences.pyi +14 -0
  74. tnfr-8.5.0/src/tnfr/dynamics/aliases.py +23 -0
  75. tnfr-8.5.0/src/tnfr/dynamics/aliases.pyi +19 -0
  76. tnfr-8.5.0/src/tnfr/dynamics/bifurcation.py +232 -0
  77. tnfr-8.5.0/src/tnfr/dynamics/canonical.py +229 -0
  78. tnfr-8.5.0/src/tnfr/dynamics/canonical.pyi +48 -0
  79. tnfr-8.5.0/src/tnfr/dynamics/coordination.py +385 -0
  80. tnfr-8.5.0/src/tnfr/dynamics/coordination.pyi +25 -0
  81. tnfr-8.5.0/src/tnfr/dynamics/dnfr.py +3034 -0
  82. tnfr-8.5.0/src/tnfr/dynamics/dnfr.pyi +26 -0
  83. tnfr-8.5.0/src/tnfr/dynamics/dynamic_limits.py +225 -0
  84. tnfr-8.5.0/src/tnfr/dynamics/feedback.py +252 -0
  85. tnfr-8.5.0/src/tnfr/dynamics/feedback.pyi +24 -0
  86. tnfr-8.5.0/src/tnfr/dynamics/fused_dnfr.py +454 -0
  87. tnfr-8.5.0/src/tnfr/dynamics/homeostasis.py +157 -0
  88. tnfr-8.5.0/src/tnfr/dynamics/homeostasis.pyi +14 -0
  89. tnfr-8.5.0/src/tnfr/dynamics/integrators.py +661 -0
  90. tnfr-8.5.0/src/tnfr/dynamics/integrators.pyi +36 -0
  91. tnfr-8.5.0/src/tnfr/dynamics/learning.py +310 -0
  92. tnfr-8.5.0/src/tnfr/dynamics/learning.pyi +33 -0
  93. tnfr-8.5.0/src/tnfr/dynamics/metabolism.py +254 -0
  94. tnfr-8.5.0/src/tnfr/dynamics/nbody.py +796 -0
  95. tnfr-8.5.0/src/tnfr/dynamics/nbody_tnfr.py +783 -0
  96. tnfr-8.5.0/src/tnfr/dynamics/propagation.py +326 -0
  97. tnfr-8.5.0/src/tnfr/dynamics/runtime.py +908 -0
  98. tnfr-8.5.0/src/tnfr/dynamics/runtime.pyi +77 -0
  99. tnfr-8.5.0/src/tnfr/dynamics/sampling.py +36 -0
  100. tnfr-8.5.0/src/tnfr/dynamics/sampling.pyi +7 -0
  101. tnfr-8.5.0/src/tnfr/dynamics/selectors.py +711 -0
  102. tnfr-8.5.0/src/tnfr/dynamics/selectors.pyi +85 -0
  103. tnfr-8.5.0/src/tnfr/dynamics/structural_clip.py +207 -0
  104. tnfr-8.5.0/src/tnfr/errors/__init__.py +37 -0
  105. tnfr-8.5.0/src/tnfr/errors/contextual.py +492 -0
  106. tnfr-8.5.0/src/tnfr/execution.py +223 -0
  107. tnfr-8.5.0/src/tnfr/execution.pyi +45 -0
  108. tnfr-8.5.0/src/tnfr/extensions/__init__.py +205 -0
  109. tnfr-8.5.0/src/tnfr/extensions/__init__.pyi +18 -0
  110. tnfr-8.5.0/src/tnfr/extensions/base.py +173 -0
  111. tnfr-8.5.0/src/tnfr/extensions/base.pyi +35 -0
  112. tnfr-8.5.0/src/tnfr/extensions/business/__init__.py +71 -0
  113. tnfr-8.5.0/src/tnfr/extensions/business/__init__.pyi +11 -0
  114. tnfr-8.5.0/src/tnfr/extensions/business/cookbook.py +88 -0
  115. tnfr-8.5.0/src/tnfr/extensions/business/cookbook.pyi +8 -0
  116. tnfr-8.5.0/src/tnfr/extensions/business/health_analyzers.py +202 -0
  117. tnfr-8.5.0/src/tnfr/extensions/business/health_analyzers.pyi +9 -0
  118. tnfr-8.5.0/src/tnfr/extensions/business/patterns.py +183 -0
  119. tnfr-8.5.0/src/tnfr/extensions/business/patterns.pyi +8 -0
  120. tnfr-8.5.0/src/tnfr/extensions/medical/__init__.py +73 -0
  121. tnfr-8.5.0/src/tnfr/extensions/medical/__init__.pyi +11 -0
  122. tnfr-8.5.0/src/tnfr/extensions/medical/cookbook.py +88 -0
  123. tnfr-8.5.0/src/tnfr/extensions/medical/cookbook.pyi +8 -0
  124. tnfr-8.5.0/src/tnfr/extensions/medical/health_analyzers.py +181 -0
  125. tnfr-8.5.0/src/tnfr/extensions/medical/health_analyzers.pyi +9 -0
  126. tnfr-8.5.0/src/tnfr/extensions/medical/patterns.py +163 -0
  127. tnfr-8.5.0/src/tnfr/extensions/medical/patterns.pyi +8 -0
  128. tnfr-8.5.0/src/tnfr/flatten.py +262 -0
  129. tnfr-8.5.0/src/tnfr/flatten.pyi +21 -0
  130. tnfr-8.5.0/src/tnfr/gamma.py +354 -0
  131. tnfr-8.5.0/src/tnfr/gamma.pyi +36 -0
  132. tnfr-8.5.0/src/tnfr/glyph_history.py +377 -0
  133. tnfr-8.5.0/src/tnfr/glyph_history.pyi +35 -0
  134. tnfr-8.5.0/src/tnfr/glyph_runtime.py +19 -0
  135. tnfr-8.5.0/src/tnfr/glyph_runtime.pyi +8 -0
  136. tnfr-8.5.0/src/tnfr/immutable.py +218 -0
  137. tnfr-8.5.0/src/tnfr/immutable.pyi +36 -0
  138. tnfr-8.5.0/src/tnfr/initialization.py +203 -0
  139. tnfr-8.5.0/src/tnfr/initialization.pyi +65 -0
  140. tnfr-8.5.0/src/tnfr/io.py +10 -0
  141. tnfr-8.5.0/src/tnfr/io.pyi +13 -0
  142. tnfr-8.5.0/src/tnfr/locking.py +37 -0
  143. tnfr-8.5.0/src/tnfr/locking.pyi +7 -0
  144. tnfr-8.5.0/src/tnfr/mathematics/__init__.py +79 -0
  145. tnfr-8.5.0/src/tnfr/mathematics/backend.py +453 -0
  146. tnfr-8.5.0/src/tnfr/mathematics/backend.pyi +99 -0
  147. tnfr-8.5.0/src/tnfr/mathematics/dynamics.py +408 -0
  148. tnfr-8.5.0/src/tnfr/mathematics/dynamics.pyi +90 -0
  149. tnfr-8.5.0/src/tnfr/mathematics/epi.py +391 -0
  150. tnfr-8.5.0/src/tnfr/mathematics/epi.pyi +65 -0
  151. tnfr-8.5.0/src/tnfr/mathematics/generators.py +242 -0
  152. tnfr-8.5.0/src/tnfr/mathematics/generators.pyi +29 -0
  153. tnfr-8.5.0/src/tnfr/mathematics/metrics.py +119 -0
  154. tnfr-8.5.0/src/tnfr/mathematics/metrics.pyi +16 -0
  155. tnfr-8.5.0/src/tnfr/mathematics/operators.py +239 -0
  156. tnfr-8.5.0/src/tnfr/mathematics/operators.pyi +59 -0
  157. tnfr-8.5.0/src/tnfr/mathematics/operators_factory.py +124 -0
  158. tnfr-8.5.0/src/tnfr/mathematics/operators_factory.pyi +11 -0
  159. tnfr-8.5.0/src/tnfr/mathematics/projection.py +87 -0
  160. tnfr-8.5.0/src/tnfr/mathematics/projection.pyi +33 -0
  161. tnfr-8.5.0/src/tnfr/mathematics/runtime.py +182 -0
  162. tnfr-8.5.0/src/tnfr/mathematics/runtime.pyi +64 -0
  163. tnfr-8.5.0/src/tnfr/mathematics/spaces.py +256 -0
  164. tnfr-8.5.0/src/tnfr/mathematics/spaces.pyi +83 -0
  165. tnfr-8.5.0/src/tnfr/mathematics/transforms.py +305 -0
  166. tnfr-8.5.0/src/tnfr/mathematics/transforms.pyi +62 -0
  167. tnfr-8.5.0/src/tnfr/metrics/__init__.py +79 -0
  168. tnfr-8.5.0/src/tnfr/metrics/__init__.pyi +20 -0
  169. tnfr-8.5.0/src/tnfr/metrics/buffer_cache.py +163 -0
  170. tnfr-8.5.0/src/tnfr/metrics/buffer_cache.pyi +24 -0
  171. tnfr-8.5.0/src/tnfr/metrics/cache_utils.py +214 -0
  172. tnfr-8.5.0/src/tnfr/metrics/coherence.py +2009 -0
  173. tnfr-8.5.0/src/tnfr/metrics/coherence.pyi +129 -0
  174. tnfr-8.5.0/src/tnfr/metrics/common.py +158 -0
  175. tnfr-8.5.0/src/tnfr/metrics/common.pyi +35 -0
  176. tnfr-8.5.0/src/tnfr/metrics/core.py +316 -0
  177. tnfr-8.5.0/src/tnfr/metrics/core.pyi +13 -0
  178. tnfr-8.5.0/src/tnfr/metrics/diagnosis.py +833 -0
  179. tnfr-8.5.0/src/tnfr/metrics/diagnosis.pyi +86 -0
  180. tnfr-8.5.0/src/tnfr/metrics/emergence.py +245 -0
  181. tnfr-8.5.0/src/tnfr/metrics/export.py +179 -0
  182. tnfr-8.5.0/src/tnfr/metrics/export.pyi +7 -0
  183. tnfr-8.5.0/src/tnfr/metrics/glyph_timing.py +379 -0
  184. tnfr-8.5.0/src/tnfr/metrics/glyph_timing.pyi +81 -0
  185. tnfr-8.5.0/src/tnfr/metrics/learning_metrics.py +280 -0
  186. tnfr-8.5.0/src/tnfr/metrics/learning_metrics.pyi +21 -0
  187. tnfr-8.5.0/src/tnfr/metrics/phase_coherence.py +351 -0
  188. tnfr-8.5.0/src/tnfr/metrics/phase_compatibility.py +349 -0
  189. tnfr-8.5.0/src/tnfr/metrics/reporting.py +183 -0
  190. tnfr-8.5.0/src/tnfr/metrics/reporting.pyi +25 -0
  191. tnfr-8.5.0/src/tnfr/metrics/sense_index.py +1203 -0
  192. tnfr-8.5.0/src/tnfr/metrics/sense_index.pyi +9 -0
  193. tnfr-8.5.0/src/tnfr/metrics/trig.py +373 -0
  194. tnfr-8.5.0/src/tnfr/metrics/trig.pyi +13 -0
  195. tnfr-8.5.0/src/tnfr/metrics/trig_cache.py +233 -0
  196. tnfr-8.5.0/src/tnfr/metrics/trig_cache.pyi +10 -0
  197. tnfr-8.5.0/src/tnfr/multiscale/__init__.py +32 -0
  198. tnfr-8.5.0/src/tnfr/multiscale/hierarchical.py +517 -0
  199. tnfr-8.5.0/src/tnfr/node.py +763 -0
  200. tnfr-8.5.0/src/tnfr/node.pyi +139 -0
  201. tnfr-8.5.0/src/tnfr/observers.py +274 -0
  202. tnfr-8.5.0/src/tnfr/observers.pyi +31 -0
  203. tnfr-8.5.0/src/tnfr/ontosim.py +144 -0
  204. tnfr-8.5.0/src/tnfr/ontosim.pyi +28 -0
  205. tnfr-8.5.0/src/tnfr/operators/__init__.py +1672 -0
  206. tnfr-8.5.0/src/tnfr/operators/__init__.pyi +31 -0
  207. tnfr-8.5.0/src/tnfr/operators/algebra.py +277 -0
  208. tnfr-8.5.0/src/tnfr/operators/canonical_patterns.py +420 -0
  209. tnfr-8.5.0/src/tnfr/operators/cascade.py +267 -0
  210. tnfr-8.5.0/src/tnfr/operators/cycle_detection.py +358 -0
  211. tnfr-8.5.0/src/tnfr/operators/definitions.py +4108 -0
  212. tnfr-8.5.0/src/tnfr/operators/definitions.pyi +78 -0
  213. tnfr-8.5.0/src/tnfr/operators/grammar.py +1164 -0
  214. tnfr-8.5.0/src/tnfr/operators/grammar.pyi +140 -0
  215. tnfr-8.5.0/src/tnfr/operators/hamiltonian.py +710 -0
  216. tnfr-8.5.0/src/tnfr/operators/health_analyzer.py +809 -0
  217. tnfr-8.5.0/src/tnfr/operators/jitter.py +272 -0
  218. tnfr-8.5.0/src/tnfr/operators/jitter.pyi +11 -0
  219. tnfr-8.5.0/src/tnfr/operators/lifecycle.py +314 -0
  220. tnfr-8.5.0/src/tnfr/operators/metabolism.py +618 -0
  221. tnfr-8.5.0/src/tnfr/operators/metrics.py +2138 -0
  222. tnfr-8.5.0/src/tnfr/operators/network_analysis/__init__.py +27 -0
  223. tnfr-8.5.0/src/tnfr/operators/network_analysis/source_detection.py +186 -0
  224. tnfr-8.5.0/src/tnfr/operators/nodal_equation.py +395 -0
  225. tnfr-8.5.0/src/tnfr/operators/pattern_detection.py +660 -0
  226. tnfr-8.5.0/src/tnfr/operators/patterns.py +669 -0
  227. tnfr-8.5.0/src/tnfr/operators/postconditions/__init__.py +38 -0
  228. tnfr-8.5.0/src/tnfr/operators/postconditions/mutation.py +236 -0
  229. tnfr-8.5.0/src/tnfr/operators/preconditions/__init__.py +1226 -0
  230. tnfr-8.5.0/src/tnfr/operators/preconditions/coherence.py +305 -0
  231. tnfr-8.5.0/src/tnfr/operators/preconditions/dissonance.py +236 -0
  232. tnfr-8.5.0/src/tnfr/operators/preconditions/emission.py +128 -0
  233. tnfr-8.5.0/src/tnfr/operators/preconditions/mutation.py +580 -0
  234. tnfr-8.5.0/src/tnfr/operators/preconditions/reception.py +125 -0
  235. tnfr-8.5.0/src/tnfr/operators/preconditions/resonance.py +364 -0
  236. tnfr-8.5.0/src/tnfr/operators/registry.py +74 -0
  237. tnfr-8.5.0/src/tnfr/operators/registry.pyi +9 -0
  238. tnfr-8.5.0/src/tnfr/operators/remesh.py +1809 -0
  239. tnfr-8.5.0/src/tnfr/operators/remesh.pyi +26 -0
  240. tnfr-8.5.0/src/tnfr/operators/structural_units.py +268 -0
  241. tnfr-8.5.0/src/tnfr/operators/unified_grammar.py +105 -0
  242. tnfr-8.5.0/src/tnfr/parallel/__init__.py +54 -0
  243. tnfr-8.5.0/src/tnfr/parallel/auto_scaler.py +234 -0
  244. tnfr-8.5.0/src/tnfr/parallel/distributed.py +384 -0
  245. tnfr-8.5.0/src/tnfr/parallel/engine.py +238 -0
  246. tnfr-8.5.0/src/tnfr/parallel/gpu_engine.py +420 -0
  247. tnfr-8.5.0/src/tnfr/parallel/monitoring.py +248 -0
  248. tnfr-8.5.0/src/tnfr/parallel/partitioner.py +459 -0
  249. tnfr-8.5.0/src/tnfr/py.typed +0 -0
  250. tnfr-8.5.0/src/tnfr/recipes/__init__.py +22 -0
  251. tnfr-8.5.0/src/tnfr/recipes/cookbook.py +743 -0
  252. tnfr-8.5.0/src/tnfr/rng.py +178 -0
  253. tnfr-8.5.0/src/tnfr/rng.pyi +26 -0
  254. tnfr-8.5.0/src/tnfr/schemas/__init__.py +8 -0
  255. tnfr-8.5.0/src/tnfr/schemas/grammar.json +94 -0
  256. tnfr-8.5.0/src/tnfr/sdk/__init__.py +107 -0
  257. tnfr-8.5.0/src/tnfr/sdk/__init__.pyi +19 -0
  258. tnfr-8.5.0/src/tnfr/sdk/adaptive_system.py +173 -0
  259. tnfr-8.5.0/src/tnfr/sdk/adaptive_system.pyi +21 -0
  260. tnfr-8.5.0/src/tnfr/sdk/builders.py +370 -0
  261. tnfr-8.5.0/src/tnfr/sdk/builders.pyi +51 -0
  262. tnfr-8.5.0/src/tnfr/sdk/fluent.py +1121 -0
  263. tnfr-8.5.0/src/tnfr/sdk/fluent.pyi +74 -0
  264. tnfr-8.5.0/src/tnfr/sdk/templates.py +342 -0
  265. tnfr-8.5.0/src/tnfr/sdk/templates.pyi +41 -0
  266. tnfr-8.5.0/src/tnfr/sdk/utils.py +341 -0
  267. tnfr-8.5.0/src/tnfr/secure_config.py +46 -0
  268. tnfr-8.5.0/src/tnfr/security/__init__.py +70 -0
  269. tnfr-8.5.0/src/tnfr/security/database.py +514 -0
  270. tnfr-8.5.0/src/tnfr/security/subprocess.py +503 -0
  271. tnfr-8.5.0/src/tnfr/security/validation.py +290 -0
  272. tnfr-8.5.0/src/tnfr/selector.py +247 -0
  273. tnfr-8.5.0/src/tnfr/selector.pyi +19 -0
  274. tnfr-8.5.0/src/tnfr/sense.py +378 -0
  275. tnfr-8.5.0/src/tnfr/sense.pyi +23 -0
  276. tnfr-8.5.0/src/tnfr/services/__init__.py +17 -0
  277. tnfr-8.5.0/src/tnfr/services/orchestrator.py +325 -0
  278. tnfr-8.5.0/src/tnfr/sparse/__init__.py +39 -0
  279. tnfr-8.5.0/src/tnfr/sparse/representations.py +492 -0
  280. tnfr-8.5.0/src/tnfr/structural.py +705 -0
  281. tnfr-8.5.0/src/tnfr/structural.pyi +83 -0
  282. tnfr-8.5.0/src/tnfr/telemetry/__init__.py +35 -0
  283. tnfr-8.5.0/src/tnfr/telemetry/cache_metrics.py +226 -0
  284. tnfr-8.5.0/src/tnfr/telemetry/cache_metrics.pyi +64 -0
  285. tnfr-8.5.0/src/tnfr/telemetry/nu_f.py +422 -0
  286. tnfr-8.5.0/src/tnfr/telemetry/nu_f.pyi +108 -0
  287. tnfr-8.5.0/src/tnfr/telemetry/verbosity.py +36 -0
  288. tnfr-8.5.0/src/tnfr/telemetry/verbosity.pyi +15 -0
  289. tnfr-8.5.0/src/tnfr/tokens.py +58 -0
  290. tnfr-8.5.0/src/tnfr/tokens.pyi +36 -0
  291. tnfr-8.5.0/src/tnfr/tools/__init__.py +20 -0
  292. tnfr-8.5.0/src/tnfr/tools/domain_templates.py +478 -0
  293. tnfr-8.5.0/src/tnfr/tools/sequence_generator.py +846 -0
  294. tnfr-8.5.0/src/tnfr/topology/__init__.py +13 -0
  295. tnfr-8.5.0/src/tnfr/topology/asymmetry.py +151 -0
  296. tnfr-8.5.0/src/tnfr/trace.py +543 -0
  297. tnfr-8.5.0/src/tnfr/trace.pyi +42 -0
  298. tnfr-8.5.0/src/tnfr/tutorials/__init__.py +38 -0
  299. tnfr-8.5.0/src/tnfr/tutorials/autonomous_evolution.py +285 -0
  300. tnfr-8.5.0/src/tnfr/tutorials/interactive.py +1576 -0
  301. tnfr-8.5.0/src/tnfr/tutorials/structural_metabolism.py +238 -0
  302. tnfr-8.5.0/src/tnfr/types.py +775 -0
  303. tnfr-8.5.0/src/tnfr/types.pyi +357 -0
  304. tnfr-8.5.0/src/tnfr/units.py +68 -0
  305. tnfr-8.5.0/src/tnfr/units.pyi +13 -0
  306. tnfr-8.5.0/src/tnfr/utils/__init__.py +282 -0
  307. tnfr-8.5.0/src/tnfr/utils/__init__.pyi +215 -0
  308. tnfr-8.5.0/src/tnfr/utils/cache.py +4223 -0
  309. tnfr-8.5.0/src/tnfr/utils/cache.pyi +470 -0
  310. tnfr-8.5.0/src/tnfr/utils/callbacks.py +375 -0
  311. tnfr-8.5.0/src/tnfr/utils/callbacks.pyi +49 -0
  312. tnfr-8.5.0/src/tnfr/utils/chunks.py +108 -0
  313. tnfr-8.5.0/src/tnfr/utils/chunks.pyi +22 -0
  314. tnfr-8.5.0/src/tnfr/utils/data.py +428 -0
  315. tnfr-8.5.0/src/tnfr/utils/data.pyi +74 -0
  316. tnfr-8.5.0/src/tnfr/utils/graph.py +85 -0
  317. tnfr-8.5.0/src/tnfr/utils/graph.pyi +10 -0
  318. tnfr-8.5.0/src/tnfr/utils/init.py +821 -0
  319. tnfr-8.5.0/src/tnfr/utils/init.pyi +80 -0
  320. tnfr-8.5.0/src/tnfr/utils/io.py +559 -0
  321. tnfr-8.5.0/src/tnfr/utils/io.pyi +66 -0
  322. tnfr-8.5.0/src/tnfr/utils/numeric.py +114 -0
  323. tnfr-8.5.0/src/tnfr/utils/numeric.pyi +21 -0
  324. tnfr-8.5.0/src/tnfr/validation/__init__.py +257 -0
  325. tnfr-8.5.0/src/tnfr/validation/__init__.pyi +85 -0
  326. tnfr-8.5.0/src/tnfr/validation/compatibility.py +460 -0
  327. tnfr-8.5.0/src/tnfr/validation/compatibility.pyi +6 -0
  328. tnfr-8.5.0/src/tnfr/validation/config.py +73 -0
  329. tnfr-8.5.0/src/tnfr/validation/graph.py +139 -0
  330. tnfr-8.5.0/src/tnfr/validation/graph.pyi +18 -0
  331. tnfr-8.5.0/src/tnfr/validation/input_validation.py +755 -0
  332. tnfr-8.5.0/src/tnfr/validation/invariants.py +712 -0
  333. tnfr-8.5.0/src/tnfr/validation/rules.py +253 -0
  334. tnfr-8.5.0/src/tnfr/validation/rules.pyi +44 -0
  335. tnfr-8.5.0/src/tnfr/validation/runtime.py +279 -0
  336. tnfr-8.5.0/src/tnfr/validation/runtime.pyi +28 -0
  337. tnfr-8.5.0/src/tnfr/validation/sequence_validator.py +162 -0
  338. tnfr-8.5.0/src/tnfr/validation/soft_filters.py +170 -0
  339. tnfr-8.5.0/src/tnfr/validation/soft_filters.pyi +32 -0
  340. tnfr-8.5.0/src/tnfr/validation/spectral.py +164 -0
  341. tnfr-8.5.0/src/tnfr/validation/spectral.pyi +42 -0
  342. tnfr-8.5.0/src/tnfr/validation/validator.py +1266 -0
  343. tnfr-8.5.0/src/tnfr/validation/window.py +39 -0
  344. tnfr-8.5.0/src/tnfr/validation/window.pyi +1 -0
  345. tnfr-8.5.0/src/tnfr/visualization/__init__.py +98 -0
  346. tnfr-8.5.0/src/tnfr/visualization/cascade_viz.py +256 -0
  347. tnfr-8.5.0/src/tnfr/visualization/hierarchy.py +284 -0
  348. tnfr-8.5.0/src/tnfr/visualization/sequence_plotter.py +784 -0
  349. tnfr-8.5.0/src/tnfr/viz/__init__.py +60 -0
  350. tnfr-8.5.0/src/tnfr/viz/matplotlib.py +278 -0
  351. tnfr-8.5.0/src/tnfr/viz/matplotlib.pyi +35 -0
  352. tnfr-8.5.0/src/tnfr.egg-info/PKG-INFO +573 -0
  353. tnfr-8.5.0/src/tnfr.egg-info/SOURCES.txt +358 -0
  354. {tnfr-4.3.0 β†’ tnfr-8.5.0}/src/tnfr.egg-info/entry_points.txt +1 -0
  355. tnfr-8.5.0/src/tnfr.egg-info/requires.txt +138 -0
  356. tnfr-8.5.0/tests/test_bandit_converter.py +303 -0
  357. tnfr-8.5.0/tests/test_cookbook.py +313 -0
  358. tnfr-4.3.0/PKG-INFO +0 -109
  359. tnfr-4.3.0/README.md +0 -82
  360. tnfr-4.3.0/pyproject.toml +0 -41
  361. tnfr-4.3.0/src/tnfr/__init__.py +0 -61
  362. tnfr-4.3.0/src/tnfr/cli.py +0 -270
  363. tnfr-4.3.0/src/tnfr/constants.py +0 -220
  364. tnfr-4.3.0/src/tnfr/dynamics.py +0 -665
  365. tnfr-4.3.0/src/tnfr/gamma.py +0 -110
  366. tnfr-4.3.0/src/tnfr/grammar.py +0 -155
  367. tnfr-4.3.0/src/tnfr/helpers.py +0 -252
  368. tnfr-4.3.0/src/tnfr/main.py +0 -47
  369. tnfr-4.3.0/src/tnfr/metrics.py +0 -234
  370. tnfr-4.3.0/src/tnfr/observers.py +0 -161
  371. tnfr-4.3.0/src/tnfr/ontosim.py +0 -140
  372. tnfr-4.3.0/src/tnfr/operators.py +0 -352
  373. tnfr-4.3.0/src/tnfr/presets.py +0 -28
  374. tnfr-4.3.0/src/tnfr/program.py +0 -176
  375. tnfr-4.3.0/src/tnfr/scenarios.py +0 -34
  376. tnfr-4.3.0/src/tnfr/sense.py +0 -200
  377. tnfr-4.3.0/src/tnfr/trace.py +0 -134
  378. tnfr-4.3.0/src/tnfr/types.py +0 -17
  379. tnfr-4.3.0/src/tnfr.egg-info/PKG-INFO +0 -109
  380. tnfr-4.3.0/src/tnfr.egg-info/SOURCES.txt +0 -37
  381. tnfr-4.3.0/src/tnfr.egg-info/requires.txt +0 -1
  382. tnfr-4.3.0/tests/test_canon.py +0 -30
  383. tnfr-4.3.0/tests/test_cli_sanity.py +0 -12
  384. tnfr-4.3.0/tests/test_edge_cases.py +0 -30
  385. tnfr-4.3.0/tests/test_gamma.py +0 -20
  386. tnfr-4.3.0/tests/test_grammar.py +0 -56
  387. tnfr-4.3.0/tests/test_history.py +0 -15
  388. tnfr-4.3.0/tests/test_history_series.py +0 -27
  389. tnfr-4.3.0/tests/test_invariants.py +0 -89
  390. tnfr-4.3.0/tests/test_program.py +0 -17
  391. tnfr-4.3.0/tests/test_remesh.py +0 -48
  392. {tnfr-4.3.0 β†’ tnfr-8.5.0}/setup.cfg +0 -0
  393. {tnfr-4.3.0 β†’ tnfr-8.5.0}/src/tnfr.egg-info/dependency_links.txt +0 -0
  394. {tnfr-4.3.0 β†’ tnfr-8.5.0}/src/tnfr.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright (c) 2025 TNFR - TeorΓ­a de la naturaleza fractral resonante
3
+ Copyright (c) 2025 TNFR – Resonant Fractal Nature Theory
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
tnfr-8.5.0/PKG-INFO ADDED
@@ -0,0 +1,573 @@
1
+ Metadata-Version: 2.4
2
+ Name: tnfr
3
+ Version: 8.5.0
4
+ Summary: Modular structural-based dynamics on networks.
5
+ Author: fmg
6
+ License: MIT
7
+ Project-URL: Homepage, https://pypi.org/project/tnfr/
8
+ Project-URL: Repository, https://github.com/fermga/TNFR-Python-Engine
9
+ Project-URL: GPT, https://chatgpt.com/g/g-67abc78885a88191b2d67f94fd60dc97-tnfr-resonant-fractal-nature-theory
10
+ Keywords: TNFR,complex systems,fractals,resonance,networks,structural dynamics,structural analysis
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Intended Audience :: Science/Research
21
+ Classifier: Topic :: Scientific/Engineering
22
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
23
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE.md
27
+ Requires-Dist: networkx<4.0,>=2.6
28
+ Requires-Dist: cachetools<7.0,>=5.0
29
+ Requires-Dist: numpy<3.0,>=1.24
30
+ Requires-Dist: scipy<2.0,>=1.9
31
+ Requires-Dist: typing-extensions>=4.4; python_version < "3.10"
32
+ Provides-Extra: compute-jax
33
+ Requires-Dist: jax<1.0,>=0.4; extra == "compute-jax"
34
+ Provides-Extra: compute-torch
35
+ Requires-Dist: torch<3.0,>=2.1; extra == "compute-torch"
36
+ Provides-Extra: serialization
37
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "serialization"
38
+ Requires-Dist: orjson<4,>=3; extra == "serialization"
39
+ Provides-Extra: viz-basic
40
+ Requires-Dist: matplotlib<4.0,>=3.7; extra == "viz-basic"
41
+ Provides-Extra: numpy
42
+ Provides-Extra: jax
43
+ Requires-Dist: jax<1.0,>=0.4; extra == "jax"
44
+ Provides-Extra: torch
45
+ Requires-Dist: torch<3.0,>=2.1; extra == "torch"
46
+ Provides-Extra: yaml
47
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "yaml"
48
+ Provides-Extra: orjson
49
+ Requires-Dist: orjson<4,>=3; extra == "orjson"
50
+ Provides-Extra: viz
51
+ Requires-Dist: matplotlib<4.0,>=3.7; extra == "viz"
52
+ Provides-Extra: docs
53
+ Requires-Dist: sphinx>=7.2; extra == "docs"
54
+ Requires-Dist: sphinx-autodoc-typehints>=1.25; extra == "docs"
55
+ Requires-Dist: myst-parser>=2.0; extra == "docs"
56
+ Requires-Dist: nbsphinx>=0.9; extra == "docs"
57
+ Requires-Dist: sphinx-rtd-theme>=1.3; extra == "docs"
58
+ Requires-Dist: sphinxcontrib-mermaid>=0.9; extra == "docs"
59
+ Requires-Dist: ipykernel>=6; extra == "docs"
60
+ Requires-Dist: nbconvert>=7.16; extra == "docs"
61
+ Requires-Dist: pypandoc-binary>=1.14; extra == "docs"
62
+ Requires-Dist: mkdocs>=1.5; extra == "docs"
63
+ Requires-Dist: mkdocs-material>=9.4; extra == "docs"
64
+ Requires-Dist: mkdocs-jupyter>=0.24; extra == "docs"
65
+ Provides-Extra: test-unit
66
+ Requires-Dist: pytest<9,>=7; extra == "test-unit"
67
+ Requires-Dist: pytest-cov<8,>=4; extra == "test-unit"
68
+ Requires-Dist: pytest-timeout<3,>=2; extra == "test-unit"
69
+ Provides-Extra: test-property
70
+ Requires-Dist: hypothesis<7,>=6; extra == "test-property"
71
+ Requires-Dist: hypothesis-networkx<1.0,>=0.3; extra == "test-property"
72
+ Provides-Extra: test-performance
73
+ Requires-Dist: pytest-benchmark<6,>=4; extra == "test-performance"
74
+ Provides-Extra: test-parallel
75
+ Requires-Dist: pytest-xdist<4,>=3; extra == "test-parallel"
76
+ Provides-Extra: test-quality
77
+ Requires-Dist: pydocstyle<7,>=6; extra == "test-quality"
78
+ Requires-Dist: flake8<8,>=5; extra == "test-quality"
79
+ Requires-Dist: flake8-pyproject<2.0,>=1.2; extra == "test-quality"
80
+ Requires-Dist: vulture<3,>=2; extra == "test-quality"
81
+ Provides-Extra: test-all
82
+ Requires-Dist: pytest<9,>=7; extra == "test-all"
83
+ Requires-Dist: pytest-cov<8,>=4; extra == "test-all"
84
+ Requires-Dist: pytest-timeout<3,>=2; extra == "test-all"
85
+ Requires-Dist: hypothesis<7,>=6; extra == "test-all"
86
+ Requires-Dist: hypothesis-networkx<1.0,>=0.3; extra == "test-all"
87
+ Requires-Dist: pytest-benchmark<6,>=4; extra == "test-all"
88
+ Requires-Dist: pytest-xdist<4,>=3; extra == "test-all"
89
+ Requires-Dist: pydocstyle<7,>=6; extra == "test-all"
90
+ Requires-Dist: flake8<8,>=5; extra == "test-all"
91
+ Requires-Dist: flake8-pyproject<2.0,>=1.2; extra == "test-all"
92
+ Requires-Dist: vulture<3,>=2; extra == "test-all"
93
+ Requires-Dist: matplotlib<4.0,>=3.7; extra == "test-all"
94
+ Provides-Extra: test
95
+ Requires-Dist: pytest<9,>=7; extra == "test"
96
+ Requires-Dist: pytest-cov<8,>=4; extra == "test"
97
+ Requires-Dist: pytest-timeout<3,>=2; extra == "test"
98
+ Requires-Dist: hypothesis<7,>=6; extra == "test"
99
+ Requires-Dist: hypothesis-networkx<1.0,>=0.3; extra == "test"
100
+ Requires-Dist: pytest-benchmark<6,>=4; extra == "test"
101
+ Requires-Dist: pytest-xdist<4,>=3; extra == "test"
102
+ Requires-Dist: pydocstyle<7,>=6; extra == "test"
103
+ Requires-Dist: flake8<8,>=5; extra == "test"
104
+ Requires-Dist: flake8-pyproject<2.0,>=1.2; extra == "test"
105
+ Requires-Dist: vulture<3,>=2; extra == "test"
106
+ Requires-Dist: matplotlib<4.0,>=3.7; extra == "test"
107
+ Provides-Extra: typecheck
108
+ Requires-Dist: mypy<2.0,>=1.8; extra == "typecheck"
109
+ Requires-Dist: pyright<1.2.0,>=1.1.350; extra == "typecheck"
110
+ Requires-Dist: networkx-stubs>=0.0.1; extra == "typecheck"
111
+ Requires-Dist: types-cachetools>=6.0.0.0; extra == "typecheck"
112
+ Provides-Extra: dev-minimal
113
+ Requires-Dist: mypy<2.0,>=1.8; extra == "dev-minimal"
114
+ Requires-Dist: black<26,>=23; extra == "dev-minimal"
115
+ Requires-Dist: pytest<9,>=7; extra == "dev-minimal"
116
+ Requires-Dist: pytest-cov<8,>=4; extra == "dev-minimal"
117
+ Requires-Dist: pytest-timeout<3,>=2; extra == "dev-minimal"
118
+ Provides-Extra: dev-full
119
+ Requires-Dist: pytest<9,>=7; extra == "dev-full"
120
+ Requires-Dist: pytest-cov<8,>=4; extra == "dev-full"
121
+ Requires-Dist: pytest-timeout<3,>=2; extra == "dev-full"
122
+ Requires-Dist: hypothesis<7,>=6; extra == "dev-full"
123
+ Requires-Dist: hypothesis-networkx<1.0,>=0.3; extra == "dev-full"
124
+ Requires-Dist: pytest-benchmark<6,>=4; extra == "dev-full"
125
+ Requires-Dist: pytest-xdist<4,>=3; extra == "dev-full"
126
+ Requires-Dist: pydocstyle<7,>=6; extra == "dev-full"
127
+ Requires-Dist: flake8<8,>=5; extra == "dev-full"
128
+ Requires-Dist: flake8-pyproject<2.0,>=1.2; extra == "dev-full"
129
+ Requires-Dist: vulture<3,>=2; extra == "dev-full"
130
+ Requires-Dist: matplotlib<4.0,>=3.7; extra == "dev-full"
131
+ Requires-Dist: jax<1.0,>=0.4; extra == "dev-full"
132
+ Requires-Dist: mypy<2.0,>=1.8; extra == "dev-full"
133
+ Requires-Dist: pyright<1.2.0,>=1.1.350; extra == "dev-full"
134
+ Requires-Dist: networkx-stubs>=0.0.1; extra == "dev-full"
135
+ Requires-Dist: types-cachetools>=6.0.0.0; extra == "dev-full"
136
+ Provides-Extra: release
137
+ Requires-Dist: python-semantic-release<11,>=10.4; extra == "release"
138
+ Requires-Dist: setuptools-scm<10,>=8; extra == "release"
139
+ Requires-Dist: build<2,>=1; extra == "release"
140
+ Requires-Dist: towncrier<26,>=23; extra == "release"
141
+ Dynamic: license-file
142
+
143
+ # TNFR Python Engine
144
+
145
+ <div align="center">
146
+
147
+ **Model reality as resonant patterns, not isolated objects**
148
+
149
+ [![PyPI](https://img.shields.io/pypi/v/tnfr)](https://pypi.org/project/tnfr/)
150
+ [![Python](https://img.shields.io/pypi/pyversions/tnfr)](https://pypi.org/project/tnfr/)
151
+ [![License](https://img.shields.io/github/license/fermga/TNFR-Python-Engine)](LICENSE.md)
152
+ [![Documentation](https://img.shields.io/badge/docs-latest-brightgreen)](https://tnfr.netlify.app)
153
+
154
+ [Quick Start](#-quick-start) β€’ [Key Concepts](#-key-concepts) β€’ [Documentation](#-documentation) β€’ [Examples](#-examples) β€’ [Contributing](#-contributing)
155
+
156
+ </div>
157
+
158
+ ---
159
+
160
+ ## 🌟 What is TNFR?
161
+
162
+ **TNFR** (**Resonant Fractal Nature Theory** / **TeorΓ­a de la Naturaleza Fractal Resonante**) is a paradigm shift in modeling complex systems. Instead of viewing reality as isolated "things" that interact through cause-and-effect, TNFR models it as **coherent patterns that persist through resonance**.
163
+
164
+ Think of a choir: each singer maintains their unique voice while synchronizing with others to create harmony. When voices resonate, they produce stable, beautiful structures. When they clash, patterns fragment. **TNFR captures this principle mathematically and makes it operational in code.**
165
+
166
+ ### 🎯 Why TNFR?
167
+
168
+ | Traditional Approach | TNFR Paradigm |
169
+ |---------------------|---------------|
170
+ | Objects exist independently | Patterns exist through resonance |
171
+ | Causality: A causes B | Coherence: A and B co-organize |
172
+ | Static snapshots | Dynamic reorganization |
173
+ | Domain-specific models | Trans-scale, trans-domain |
174
+
175
+ **Key Advantages:**
176
+ - πŸ”„ **Operational Fractality**: Patterns scale without losing structure
177
+ - πŸ“Š **Complete Traceability**: Every reorganization is observable
178
+ - 🎯 **Guaranteed Reproducibility**: Same conditions β†’ same outcomes
179
+ - 🌐 **Domain Neutral**: Works from quantum to social systems
180
+
181
+ ### πŸš€ Use Cases
182
+
183
+ - 🧬 **Biology**: Cellular networks, neuronal synchronization, protein dynamics
184
+ - 🌐 **Social Systems**: Information spread, community formation, opinion dynamics
185
+ - πŸ€– **AI**: Resonant symbolic systems, emergent learning
186
+ - πŸ”¬ **Network Science**: Structural coherence, pattern detection
187
+ - πŸ—οΈ **Distributed Systems**: Decentralized coordination, self-organization
188
+
189
+ ---
190
+
191
+ ## ⚑ Quick Start
192
+
193
+ ### Installation
194
+
195
+ ```bash
196
+ pip install tnfr
197
+ ```
198
+
199
+ Requires Python β‰₯ 3.9
200
+
201
+ ### Your First TNFR Network (3 Lines!)
202
+
203
+ ```python
204
+ from tnfr.sdk import TNFRNetwork
205
+
206
+ # Create, activate, and measure a network
207
+ network = TNFRNetwork("hello_world")
208
+ results = network.add_nodes(10).connect_nodes(0.3, "random").apply_sequence("basic_activation", repeat=3).measure()
209
+ print(results.summary())
210
+ ```
211
+
212
+ πŸŽ‰ **That's it!** You just created a resonant network.
213
+
214
+ **What happened?**
215
+ - `add_nodes(10)`: Created 10 nodes that can synchronize
216
+ - `connect_nodes(0.3, "random")`: Connected them (30% probability)
217
+ - `apply_sequence("basic_activation", repeat=3)`: Applied Emission β†’ Coherence β†’ Resonance (3x)
218
+ - `measure()`: Calculated coherence C(t), sense index Si, and structural metrics
219
+
220
+ ### πŸŽ“ Interactive Learning (5 Minutes)
221
+
222
+ ```python
223
+ from tnfr.tutorials import hello_tnfr
224
+ hello_tnfr() # Guided tour of TNFR concepts
225
+ ```
226
+
227
+ **Domain Examples:**
228
+ ```python
229
+ from tnfr.tutorials import (
230
+ biological_example, # Cell communication
231
+ social_network_example, # Social dynamics
232
+ technology_example, # Distributed systems
233
+ adaptive_ai_example, # Learning through resonance
234
+ )
235
+ ```
236
+
237
+ πŸ“˜ **Structured Learning Path**: See our [**60-Minute Interactive Tutorial**](docs/source/getting-started/INTERACTIVE_TUTORIAL.md)
238
+
239
+ ---
240
+
241
+ ## πŸ’‘ Key Concepts
242
+
243
+ > **New to TNFR?** πŸ‘‰ [**TNFR Fundamental Concepts Guide**](docs/source/getting-started/TNFR_CONCEPTS.md) - Understand the paradigm in 10 minutes!
244
+
245
+ ### The Nodal Equation
246
+
247
+ At the heart of TNFR is one elegant equation:
248
+
249
+ ```
250
+ βˆ‚EPI/βˆ‚t = Ξ½f Β· Ξ”NFR(t)
251
+ ```
252
+
253
+ **What it means:**
254
+ - **EPI**: Primary Information Structure (the "shape" of a node)
255
+ - **Ξ½f**: Structural frequency (reorganization rate in Hz_str)
256
+ - **Ξ”NFR**: Internal reorganization operator (structural gradient)
257
+
258
+ *Structure changes proportionally to frequency and gradient*
259
+
260
+ ### Three Essential Elements
261
+
262
+ **1. Resonant Fractal Node (NFR)**
263
+ - Minimum unit of structural coherence
264
+ - Has EPI (form), Ξ½f (frequency), Ο† (phase)
265
+
266
+ **2. Structural Operators** (13 canonical)
267
+ - **Emission/Reception**: Initiate & capture patterns
268
+ - **Coherence/Dissonance**: Stabilize or destabilize
269
+ - **Resonance**: Propagate without losing identity
270
+ - **Self-organization**: Create emergent structures
271
+ - [See all 13 operators β†’](GLOSSARY.md#structural-operators)
272
+
273
+ **3. Coherence Metrics**
274
+ - **C(t)**: Total network coherence [0,1]
275
+ - **Si**: Sense index (reorganization stability)
276
+ - **Ξ”NFR**: Evolution gradient
277
+
278
+ ---
279
+
280
+ ## πŸ“š Documentation
281
+
282
+ ### 🎯 Single Source of Truth for Mathematics
283
+
284
+ **[Mathematical Foundations of TNFR](docs/source/theory/mathematical_foundations.md)** ⭐
285
+
286
+ This is THE ONLY place where TNFR mathematics is formally defined:
287
+ - Hilbert space H_NFR and Banach space B_EPI
288
+ - Coherence operator Ĉ (spectral theory, proofs)
289
+ - Frequency operator Δ΄ and reorganization operator Ξ”NFR
290
+ - Complete nodal equation derivation
291
+ - **Β§3.1.1**: Implementation bridge (theory β†’ code)
292
+
293
+ ### 🎯 Classical Mechanics Emergence
294
+
295
+ **TNFR reveals how observable classical physics emerges from structural coherence dynamics**:
296
+
297
+ ```
298
+ TNFR Nodal Equation (βˆ‚EPI/βˆ‚t = Ξ½f Β· Ξ”NFR)
299
+ ↓
300
+ Low-dissonance limit (Ξ΅ β†’ 0)
301
+ ↓
302
+ Observable Classical Mechanics
303
+ ```
304
+
305
+ **Key Emergent Phenomena**:
306
+ - **Mass**: `m = 1/Ξ½f` (inverse structural frequency) β€” mass is structural inertia
307
+ - **Force**: `F = -βˆ‡U(q)` (coherence potential gradient) β€” force is stability flow
308
+ - **Newton's Laws**: Natural consequences of the nodal equation at low dissonance
309
+ - **Action Principle**: Coherence optimization over time
310
+ - **Conservation Laws**: Network symmetries preserve structural quantities
311
+
312
+ **Documentation**:
313
+ - **[πŸ“˜ N-Body Classical Mechanics Guide](docs/TNFR_CLASSICAL_NBODY.md)** β€” **Complete formal reference** (variable mappings, conservation laws, validation protocols, code examples)
314
+ - [Classical Mechanics from TNFR](docs/source/theory/07_emergence_classical_mechanics.md) β€” Complete derivation from nodal equation
315
+ - [Euler-Lagrange Correspondence](docs/source/theory/08_classical_mechanics_euler_lagrange.md) β€” Variational formulation
316
+ - [Numerical Validation](docs/source/theory/09_classical_mechanics_numerical_validation.md) β€” Computational verification
317
+
318
+ **Practical Examples**:
319
+ - `examples/domain_applications/nbody_gravitational.py` β€” Two-body orbits, three-body systems
320
+ - `examples/nbody_quantitative_validation.py` β€” Full validation suite (6 canonical experiments)
321
+ - `tests/validation/test_nbody_validation.py` β€” Automated test suite
322
+
323
+ This demonstrates **classical mechanics as a natural expression of coherent structural dynamics** in the observable, deterministic regime.
324
+
325
+ ### πŸ“– Quick References
326
+
327
+ - **[GLOSSARY](GLOSSARY.md)** - Operational definitions for code use
328
+ - **[TNFR Concepts](docs/source/getting-started/TNFR_CONCEPTS.md)** - Paradigm introduction
329
+ - **[API Overview](docs/source/api/overview.md)** - Package architecture
330
+ - **[Operator Guide](docs/source/api/operators.md)** - Complete operator reference
331
+ - **[NAV Guide](docs/source/operators/NAV_GUIDE.md)** - NAV (Transition) canonical sequences, anti-patterns, and troubleshooting
332
+ - **[THOL Configuration Reference](docs/THOL_CONFIGURATION_REFERENCE.md)** - Comprehensive THOL parameter guide
333
+
334
+ ### 🎨 Grammar System
335
+
336
+ TNFR uses a unified physics-based grammar to validate operator sequences.
337
+ All constraints emerge inevitably from the nodal equation and TNFR invariants.
338
+
339
+ #### Four Canonical Constraints (U1-U4)
340
+
341
+ 1. **U1: STRUCTURAL INITIATION & CLOSURE**
342
+ - U1a: Start with generators when EPI=0
343
+ - U1b: End with closure operators
344
+ - Basis: βˆ‚EPI/βˆ‚t undefined at EPI=0
345
+
346
+ 2. **U2: CONVERGENCE & BOUNDEDNESS**
347
+ - If destabilizers, then include stabilizers
348
+ - Basis: ∫νfΒ·Ξ”NFR dt must converge
349
+
350
+ 3. **U3: RESONANT COUPLING**
351
+ - If coupling/resonance, then verify phase
352
+ - Basis: AGENTS.md Invariant #5
353
+
354
+ 4. **U4: BIFURCATION DYNAMICS**
355
+ - U4a: If triggers, then include handlers
356
+ - U4b: If transformers, then recent destabilizer
357
+ - Basis: Contract OZ + bifurcation theory
358
+
359
+ **For complete derivations:** See [UNIFIED_GRAMMAR_RULES.md](UNIFIED_GRAMMAR_RULES.md)
360
+
361
+ **For implementation:** See `src/tnfr/operators/grammar.py`
362
+
363
+ #### Quick Start
364
+
365
+ ```python
366
+ from tnfr.operators.grammar import validate_grammar
367
+ from tnfr.operators.definitions import Emission, Coherence, Silence
368
+
369
+ sequence = [Emission(), Coherence(), Silence()]
370
+ is_valid = validate_grammar(sequence, epi_initial=0.0)
371
+ ```
372
+
373
+ #### Migration from Old Grammar Systems
374
+
375
+ If you're using the old C1-C3 or RC1-RC4 systems:
376
+
377
+ - **Old:** `from tnfr.operators.grammar import validate_sequence`
378
+ - **New:** `from tnfr.operators.grammar import validate_grammar`
379
+
380
+ See migration guide in [GRAMMAR_MIGRATION_GUIDE.md](GRAMMAR_MIGRATION_GUIDE.md)
381
+
382
+ ### πŸ§ͺ Advanced Topics
383
+
384
+ - [ARCHITECTURE.md](ARCHITECTURE.md) - System design & invariants
385
+ - [Backend System](docs/backends.md) - NumPy/JAX/Torch backends
386
+ - [TESTING.md](TESTING.md) - Test strategy & validation
387
+ - [SECURITY.md](SECURITY.md) - Security practices
388
+ - [CONTRIBUTING.md](CONTRIBUTING.md) - Development workflow
389
+
390
+ ---
391
+
392
+ ## πŸ”¬ Examples
393
+
394
+ ### Hello World
395
+
396
+ ```python
397
+ # examples/hello_world.py
398
+ from tnfr.sdk import TNFRNetwork
399
+
400
+ network = TNFRNetwork("simple_demo")
401
+ results = (network
402
+ .add_nodes(5)
403
+ .connect_nodes(0.5, "random")
404
+ .apply_sequence("basic_activation")
405
+ .measure())
406
+
407
+ print(f"Coherence: {results.coherence:.3f}")
408
+ print(f"Sense Index: {results.sense_index:.3f}")
409
+ ```
410
+
411
+ ### Biological Network
412
+
413
+ ```python
414
+ # examples/biological_network.py
415
+ from tnfr.sdk import TNFRNetwork
416
+
417
+ # Model cellular communication
418
+ cells = TNFRNetwork("cell_network")
419
+ results = (cells
420
+ .add_nodes(20, epi_range=(0.8, 1.2)) # Biological variation
421
+ .connect_nodes(0.3, "scale_free") # Power-law connectivity
422
+ .apply_sequence("therapeutic", repeat=5) # Healing pattern
423
+ .measure())
424
+
425
+ print(f"Network health: {results.coherence:.2%}")
426
+ ```
427
+
428
+ ### More Examples
429
+
430
+ - [Dynamic Limits](examples/dynamic_limits_demo.py) - Adaptive thresholds
431
+ - [Multiscale Networks](examples/multiscale_network_demo.py) - Hierarchical structures
432
+ - [Regenerative Cycles](examples/regenerative_cycles.py) - Self-sustaining patterns
433
+ - [Performance Comparison](examples/backend_performance_comparison.py) - Backend benchmarks
434
+
435
+ πŸ“‚ **Full Collection**: [examples/](examples/) directory
436
+
437
+ ---
438
+
439
+ ## πŸ› οΈ Development
440
+
441
+ ### Local Setup
442
+
443
+ ```bash
444
+ # Clone repository
445
+ git clone https://github.com/fermga/TNFR-Python-Engine.git
446
+ cd TNFR-Python-Engine
447
+
448
+ # Install with development dependencies
449
+ pip install -e ".[dev,docs]"
450
+
451
+ # Run tests
452
+ ./scripts/run_tests.sh
453
+
454
+ # Format code
455
+ ./scripts/format.sh
456
+ ```
457
+
458
+ ### Documentation Build
459
+
460
+ ```bash
461
+ # Install docs dependencies
462
+ pip install -r docs/requirements.txt
463
+
464
+ # Build documentation
465
+ make docs
466
+
467
+ # View locally
468
+ open docs/_build/html/index.html
469
+ ```
470
+
471
+ ### Configuration & Secrets
472
+
473
+ ```bash
474
+ # Copy environment template
475
+ cp .env.example .env
476
+
477
+ # Edit .env with your credentials (never commit this file!)
478
+ # Load with:
479
+ ```
480
+
481
+ ```python
482
+ from tnfr.secure_config import load_redis_config, get_cache_secret
483
+ redis_config = load_redis_config()
484
+ ```
485
+
486
+ See [SECURITY.md](SECURITY.md) for best practices.
487
+
488
+ ---
489
+
490
+ ## 🀝 Contributing
491
+
492
+ We welcome contributions! Here's how to get started:
493
+
494
+ 1. **Understand TNFR**: Read [Mathematical Foundations](docs/source/theory/mathematical_foundations.md)
495
+ 2. **Check Invariants**: Follow [AGENTS.md](AGENTS.md) rules
496
+ 3. **Write Tests**: Cover all invariants (see [TESTING.md](TESTING.md))
497
+ 4. **Run QA**: Execute `./scripts/run_tests.sh`
498
+ 5. **Submit PR**: See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines
499
+
500
+ **Key Principles:**
501
+ - βœ… Preserve canonical invariants
502
+ - βœ… Use structural operators only
503
+ - βœ… Document with references to Mathematical Foundations
504
+ - βœ… Test spectral properties
505
+
506
+ ---
507
+
508
+ ## πŸ“Š CLI Tools
509
+
510
+ ### Profiling Pipeline
511
+
512
+ ```bash
513
+ tnfr profile-pipeline \
514
+ --nodes 120 --edge-probability 0.28 --loops 3 \
515
+ --si-chunk-sizes auto 48 --dnfr-chunk-sizes auto \
516
+ --output-dir profiles/pipeline
517
+ ```
518
+
519
+ Generates `.pstats` and JSON summaries for performance analysis.
520
+
521
+ ---
522
+
523
+ ## πŸ“– Learning Path
524
+
525
+ **Recommended Progression:**
526
+
527
+ 1. **Newcomers** (10 min)
528
+ - Read [TNFR Concepts](docs/source/getting-started/TNFR_CONCEPTS.md)
529
+ - Run `hello_tnfr()` tutorial
530
+
531
+ 2. **Beginners** (30 min)
532
+ - Try [examples/hello_world.py](examples/hello_world.py)
533
+ - Explore domain examples (biological, social, AI)
534
+
535
+ 3. **Intermediate** (2 hours)
536
+ - Study [Mathematical Foundations Β§1-3](docs/source/theory/mathematical_foundations.md)
537
+ - Read [GLOSSARY](GLOSSARY.md)
538
+ - Practice with [Interactive Tutorial](docs/source/getting-started/INTERACTIVE_TUTORIAL.md)
539
+
540
+ 4. **Advanced** (ongoing)
541
+ - Deep dive: [Mathematical Foundations (complete)](docs/source/theory/mathematical_foundations.md)
542
+ - Architecture: [ARCHITECTURE.md](ARCHITECTURE.md)
543
+ - Contribute: [CONTRIBUTING.md](CONTRIBUTING.md)
544
+
545
+ ---
546
+
547
+ ## πŸ“œ License
548
+
549
+ Released under the [MIT License](LICENSE.md).
550
+
551
+ **Citation**: When publishing research or applications based on TNFR, please cite:
552
+ - This repository: `fermga/TNFR-Python-Engine`
553
+ - Theoretical foundations: [TNFR.pdf](TNFR.pdf)
554
+ - Mathematical formalization: [Mathematical Foundations](docs/source/theory/mathematical_foundations.md)
555
+
556
+ ---
557
+
558
+ ## πŸ”— Links
559
+
560
+ - **Documentation**: https://tnfr.netlify.app
561
+ - **PyPI Package**: https://pypi.org/project/tnfr/
562
+ - **GitHub**: https://github.com/fermga/TNFR-Python-Engine
563
+ - **Issues**: https://github.com/fermga/TNFR-Python-Engine/issues
564
+
565
+ ---
566
+
567
+ <div align="center">
568
+
569
+ **Made with ❀️ for researchers, developers, and explorers of complex systems**
570
+
571
+ *Reality is not made of thingsβ€”it's made of resonance*
572
+
573
+ </div>