tnfr 4.3.0__tar.gz β†’ 8.6.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 (392) hide show
  1. {tnfr-4.3.0 β†’ tnfr-8.6.0}/LICENSE.md +1 -1
  2. tnfr-8.6.0/PKG-INFO +490 -0
  3. tnfr-8.6.0/README.md +348 -0
  4. tnfr-8.6.0/pyproject.toml +285 -0
  5. tnfr-8.6.0/src/tnfr/__init__.py +375 -0
  6. tnfr-8.6.0/src/tnfr/__init__.pyi +33 -0
  7. tnfr-8.6.0/src/tnfr/_compat.py +10 -0
  8. tnfr-8.6.0/src/tnfr/_generated_version.py +34 -0
  9. tnfr-8.6.0/src/tnfr/_version.py +49 -0
  10. tnfr-8.6.0/src/tnfr/_version.pyi +7 -0
  11. tnfr-8.6.0/src/tnfr/alias.py +723 -0
  12. tnfr-8.6.0/src/tnfr/alias.pyi +108 -0
  13. tnfr-8.6.0/src/tnfr/backends/__init__.py +354 -0
  14. tnfr-8.6.0/src/tnfr/backends/jax_backend.py +173 -0
  15. tnfr-8.6.0/src/tnfr/backends/numpy_backend.py +238 -0
  16. tnfr-8.6.0/src/tnfr/backends/optimized_numpy.py +420 -0
  17. tnfr-8.6.0/src/tnfr/backends/torch_backend.py +408 -0
  18. tnfr-8.6.0/src/tnfr/cache.py +171 -0
  19. tnfr-8.6.0/src/tnfr/cache.pyi +13 -0
  20. tnfr-8.6.0/src/tnfr/cli/__init__.py +110 -0
  21. tnfr-8.6.0/src/tnfr/cli/__init__.pyi +26 -0
  22. tnfr-8.6.0/src/tnfr/cli/arguments.py +489 -0
  23. tnfr-8.6.0/src/tnfr/cli/arguments.pyi +29 -0
  24. tnfr-8.6.0/src/tnfr/cli/execution.py +914 -0
  25. tnfr-8.6.0/src/tnfr/cli/execution.pyi +70 -0
  26. tnfr-8.6.0/src/tnfr/cli/interactive_validator.py +614 -0
  27. tnfr-8.6.0/src/tnfr/cli/utils.py +51 -0
  28. tnfr-8.6.0/src/tnfr/cli/utils.pyi +7 -0
  29. tnfr-8.6.0/src/tnfr/cli/validate.py +236 -0
  30. tnfr-8.6.0/src/tnfr/compat/__init__.py +85 -0
  31. tnfr-8.6.0/src/tnfr/compat/dataclass.py +136 -0
  32. tnfr-8.6.0/src/tnfr/compat/jsonschema_stub.py +61 -0
  33. tnfr-8.6.0/src/tnfr/compat/matplotlib_stub.py +73 -0
  34. tnfr-8.6.0/src/tnfr/compat/numpy_stub.py +155 -0
  35. tnfr-8.6.0/src/tnfr/config/__init__.py +224 -0
  36. tnfr-8.6.0/src/tnfr/config/__init__.pyi +10 -0
  37. tnfr-8.6.0/src/tnfr/config/constants.py +104 -0
  38. tnfr-8.6.0/src/tnfr/config/constants.pyi +12 -0
  39. tnfr-8.6.0/src/tnfr/config/defaults.py +54 -0
  40. tnfr-8.6.0/src/tnfr/config/defaults_core.py +212 -0
  41. tnfr-8.6.0/src/tnfr/config/defaults_init.py +33 -0
  42. tnfr-8.6.0/src/tnfr/config/defaults_metric.py +104 -0
  43. tnfr-8.6.0/src/tnfr/config/feature_flags.py +81 -0
  44. tnfr-8.6.0/src/tnfr/config/feature_flags.pyi +16 -0
  45. tnfr-8.6.0/src/tnfr/config/glyph_constants.py +31 -0
  46. tnfr-8.6.0/src/tnfr/config/init.py +77 -0
  47. tnfr-8.6.0/src/tnfr/config/init.pyi +8 -0
  48. tnfr-8.6.0/src/tnfr/config/operator_names.py +254 -0
  49. tnfr-8.6.0/src/tnfr/config/operator_names.pyi +36 -0
  50. tnfr-8.6.0/src/tnfr/config/physics_derivation.py +354 -0
  51. tnfr-8.6.0/src/tnfr/config/presets.py +83 -0
  52. tnfr-8.6.0/src/tnfr/config/presets.pyi +7 -0
  53. tnfr-8.6.0/src/tnfr/config/security.py +927 -0
  54. tnfr-8.6.0/src/tnfr/config/thresholds.py +114 -0
  55. tnfr-8.6.0/src/tnfr/config/tnfr_config.py +498 -0
  56. tnfr-8.6.0/src/tnfr/constants/__init__.py +92 -0
  57. tnfr-8.6.0/src/tnfr/constants/__init__.pyi +92 -0
  58. tnfr-8.6.0/src/tnfr/constants/aliases.py +33 -0
  59. tnfr-8.6.0/src/tnfr/constants/aliases.pyi +27 -0
  60. tnfr-8.6.0/src/tnfr/constants/init.py +33 -0
  61. tnfr-8.6.0/src/tnfr/constants/init.pyi +12 -0
  62. tnfr-8.6.0/src/tnfr/constants/metric.py +104 -0
  63. tnfr-8.6.0/src/tnfr/constants/metric.pyi +19 -0
  64. tnfr-8.6.0/src/tnfr/core/__init__.py +33 -0
  65. tnfr-8.6.0/src/tnfr/core/container.py +226 -0
  66. tnfr-8.6.0/src/tnfr/core/default_implementations.py +329 -0
  67. tnfr-8.6.0/src/tnfr/core/interfaces.py +279 -0
  68. tnfr-8.6.0/src/tnfr/dynamics/__init__.py +238 -0
  69. tnfr-8.6.0/src/tnfr/dynamics/__init__.pyi +83 -0
  70. tnfr-8.6.0/src/tnfr/dynamics/adaptation.py +267 -0
  71. tnfr-8.6.0/src/tnfr/dynamics/adaptation.pyi +7 -0
  72. tnfr-8.6.0/src/tnfr/dynamics/adaptive_sequences.py +189 -0
  73. tnfr-8.6.0/src/tnfr/dynamics/adaptive_sequences.pyi +14 -0
  74. tnfr-8.6.0/src/tnfr/dynamics/aliases.py +23 -0
  75. tnfr-8.6.0/src/tnfr/dynamics/aliases.pyi +19 -0
  76. tnfr-8.6.0/src/tnfr/dynamics/bifurcation.py +232 -0
  77. tnfr-8.6.0/src/tnfr/dynamics/canonical.py +229 -0
  78. tnfr-8.6.0/src/tnfr/dynamics/canonical.pyi +48 -0
  79. tnfr-8.6.0/src/tnfr/dynamics/coordination.py +385 -0
  80. tnfr-8.6.0/src/tnfr/dynamics/coordination.pyi +25 -0
  81. tnfr-8.6.0/src/tnfr/dynamics/dnfr.py +3034 -0
  82. tnfr-8.6.0/src/tnfr/dynamics/dnfr.pyi +26 -0
  83. tnfr-8.6.0/src/tnfr/dynamics/dynamic_limits.py +225 -0
  84. tnfr-8.6.0/src/tnfr/dynamics/feedback.py +252 -0
  85. tnfr-8.6.0/src/tnfr/dynamics/feedback.pyi +24 -0
  86. tnfr-8.6.0/src/tnfr/dynamics/fused_dnfr.py +454 -0
  87. tnfr-8.6.0/src/tnfr/dynamics/homeostasis.py +157 -0
  88. tnfr-8.6.0/src/tnfr/dynamics/homeostasis.pyi +14 -0
  89. tnfr-8.6.0/src/tnfr/dynamics/integrators.py +661 -0
  90. tnfr-8.6.0/src/tnfr/dynamics/integrators.pyi +36 -0
  91. tnfr-8.6.0/src/tnfr/dynamics/learning.py +310 -0
  92. tnfr-8.6.0/src/tnfr/dynamics/learning.pyi +33 -0
  93. tnfr-8.6.0/src/tnfr/dynamics/metabolism.py +254 -0
  94. tnfr-8.6.0/src/tnfr/dynamics/nbody.py +796 -0
  95. tnfr-8.6.0/src/tnfr/dynamics/nbody_tnfr.py +783 -0
  96. tnfr-8.6.0/src/tnfr/dynamics/propagation.py +326 -0
  97. tnfr-8.6.0/src/tnfr/dynamics/runtime.py +908 -0
  98. tnfr-8.6.0/src/tnfr/dynamics/runtime.pyi +77 -0
  99. tnfr-8.6.0/src/tnfr/dynamics/sampling.py +36 -0
  100. tnfr-8.6.0/src/tnfr/dynamics/sampling.pyi +7 -0
  101. tnfr-8.6.0/src/tnfr/dynamics/selectors.py +711 -0
  102. tnfr-8.6.0/src/tnfr/dynamics/selectors.pyi +85 -0
  103. tnfr-8.6.0/src/tnfr/dynamics/structural_clip.py +207 -0
  104. tnfr-8.6.0/src/tnfr/errors/__init__.py +37 -0
  105. tnfr-8.6.0/src/tnfr/errors/contextual.py +492 -0
  106. tnfr-8.6.0/src/tnfr/execution.py +223 -0
  107. tnfr-8.6.0/src/tnfr/execution.pyi +45 -0
  108. tnfr-8.6.0/src/tnfr/extensions/__init__.py +205 -0
  109. tnfr-8.6.0/src/tnfr/extensions/__init__.pyi +18 -0
  110. tnfr-8.6.0/src/tnfr/extensions/base.py +173 -0
  111. tnfr-8.6.0/src/tnfr/extensions/base.pyi +35 -0
  112. tnfr-8.6.0/src/tnfr/extensions/business/__init__.py +71 -0
  113. tnfr-8.6.0/src/tnfr/extensions/business/__init__.pyi +11 -0
  114. tnfr-8.6.0/src/tnfr/extensions/business/cookbook.py +88 -0
  115. tnfr-8.6.0/src/tnfr/extensions/business/cookbook.pyi +8 -0
  116. tnfr-8.6.0/src/tnfr/extensions/business/health_analyzers.py +202 -0
  117. tnfr-8.6.0/src/tnfr/extensions/business/health_analyzers.pyi +9 -0
  118. tnfr-8.6.0/src/tnfr/extensions/business/patterns.py +183 -0
  119. tnfr-8.6.0/src/tnfr/extensions/business/patterns.pyi +8 -0
  120. tnfr-8.6.0/src/tnfr/extensions/medical/__init__.py +73 -0
  121. tnfr-8.6.0/src/tnfr/extensions/medical/__init__.pyi +11 -0
  122. tnfr-8.6.0/src/tnfr/extensions/medical/cookbook.py +88 -0
  123. tnfr-8.6.0/src/tnfr/extensions/medical/cookbook.pyi +8 -0
  124. tnfr-8.6.0/src/tnfr/extensions/medical/health_analyzers.py +181 -0
  125. tnfr-8.6.0/src/tnfr/extensions/medical/health_analyzers.pyi +9 -0
  126. tnfr-8.6.0/src/tnfr/extensions/medical/patterns.py +163 -0
  127. tnfr-8.6.0/src/tnfr/extensions/medical/patterns.pyi +8 -0
  128. tnfr-8.6.0/src/tnfr/flatten.py +262 -0
  129. tnfr-8.6.0/src/tnfr/flatten.pyi +21 -0
  130. tnfr-8.6.0/src/tnfr/gamma.py +354 -0
  131. tnfr-8.6.0/src/tnfr/gamma.pyi +36 -0
  132. tnfr-8.6.0/src/tnfr/glyph_history.py +377 -0
  133. tnfr-8.6.0/src/tnfr/glyph_history.pyi +35 -0
  134. tnfr-8.6.0/src/tnfr/glyph_runtime.py +19 -0
  135. tnfr-8.6.0/src/tnfr/glyph_runtime.pyi +8 -0
  136. tnfr-8.6.0/src/tnfr/immutable.py +218 -0
  137. tnfr-8.6.0/src/tnfr/immutable.pyi +36 -0
  138. tnfr-8.6.0/src/tnfr/initialization.py +203 -0
  139. tnfr-8.6.0/src/tnfr/initialization.pyi +65 -0
  140. tnfr-8.6.0/src/tnfr/io.py +10 -0
  141. tnfr-8.6.0/src/tnfr/io.pyi +13 -0
  142. tnfr-8.6.0/src/tnfr/locking.py +37 -0
  143. tnfr-8.6.0/src/tnfr/locking.pyi +7 -0
  144. tnfr-8.6.0/src/tnfr/mathematics/__init__.py +79 -0
  145. tnfr-8.6.0/src/tnfr/mathematics/backend.py +453 -0
  146. tnfr-8.6.0/src/tnfr/mathematics/backend.pyi +99 -0
  147. tnfr-8.6.0/src/tnfr/mathematics/dynamics.py +408 -0
  148. tnfr-8.6.0/src/tnfr/mathematics/dynamics.pyi +90 -0
  149. tnfr-8.6.0/src/tnfr/mathematics/epi.py +391 -0
  150. tnfr-8.6.0/src/tnfr/mathematics/epi.pyi +65 -0
  151. tnfr-8.6.0/src/tnfr/mathematics/generators.py +242 -0
  152. tnfr-8.6.0/src/tnfr/mathematics/generators.pyi +29 -0
  153. tnfr-8.6.0/src/tnfr/mathematics/metrics.py +119 -0
  154. tnfr-8.6.0/src/tnfr/mathematics/metrics.pyi +16 -0
  155. tnfr-8.6.0/src/tnfr/mathematics/operators.py +239 -0
  156. tnfr-8.6.0/src/tnfr/mathematics/operators.pyi +59 -0
  157. tnfr-8.6.0/src/tnfr/mathematics/operators_factory.py +124 -0
  158. tnfr-8.6.0/src/tnfr/mathematics/operators_factory.pyi +11 -0
  159. tnfr-8.6.0/src/tnfr/mathematics/projection.py +87 -0
  160. tnfr-8.6.0/src/tnfr/mathematics/projection.pyi +33 -0
  161. tnfr-8.6.0/src/tnfr/mathematics/runtime.py +182 -0
  162. tnfr-8.6.0/src/tnfr/mathematics/runtime.pyi +64 -0
  163. tnfr-8.6.0/src/tnfr/mathematics/spaces.py +256 -0
  164. tnfr-8.6.0/src/tnfr/mathematics/spaces.pyi +83 -0
  165. tnfr-8.6.0/src/tnfr/mathematics/transforms.py +305 -0
  166. tnfr-8.6.0/src/tnfr/mathematics/transforms.pyi +62 -0
  167. tnfr-8.6.0/src/tnfr/metrics/__init__.py +79 -0
  168. tnfr-8.6.0/src/tnfr/metrics/__init__.pyi +20 -0
  169. tnfr-8.6.0/src/tnfr/metrics/buffer_cache.py +163 -0
  170. tnfr-8.6.0/src/tnfr/metrics/buffer_cache.pyi +24 -0
  171. tnfr-8.6.0/src/tnfr/metrics/cache_utils.py +214 -0
  172. tnfr-8.6.0/src/tnfr/metrics/coherence.py +2009 -0
  173. tnfr-8.6.0/src/tnfr/metrics/coherence.pyi +129 -0
  174. tnfr-8.6.0/src/tnfr/metrics/common.py +158 -0
  175. tnfr-8.6.0/src/tnfr/metrics/common.pyi +35 -0
  176. tnfr-8.6.0/src/tnfr/metrics/core.py +316 -0
  177. tnfr-8.6.0/src/tnfr/metrics/core.pyi +13 -0
  178. tnfr-8.6.0/src/tnfr/metrics/diagnosis.py +833 -0
  179. tnfr-8.6.0/src/tnfr/metrics/diagnosis.pyi +86 -0
  180. tnfr-8.6.0/src/tnfr/metrics/emergence.py +245 -0
  181. tnfr-8.6.0/src/tnfr/metrics/export.py +179 -0
  182. tnfr-8.6.0/src/tnfr/metrics/export.pyi +7 -0
  183. tnfr-8.6.0/src/tnfr/metrics/glyph_timing.py +379 -0
  184. tnfr-8.6.0/src/tnfr/metrics/glyph_timing.pyi +81 -0
  185. tnfr-8.6.0/src/tnfr/metrics/learning_metrics.py +280 -0
  186. tnfr-8.6.0/src/tnfr/metrics/learning_metrics.pyi +21 -0
  187. tnfr-8.6.0/src/tnfr/metrics/phase_coherence.py +351 -0
  188. tnfr-8.6.0/src/tnfr/metrics/phase_compatibility.py +349 -0
  189. tnfr-8.6.0/src/tnfr/metrics/reporting.py +183 -0
  190. tnfr-8.6.0/src/tnfr/metrics/reporting.pyi +25 -0
  191. tnfr-8.6.0/src/tnfr/metrics/sense_index.py +1203 -0
  192. tnfr-8.6.0/src/tnfr/metrics/sense_index.pyi +9 -0
  193. tnfr-8.6.0/src/tnfr/metrics/trig.py +373 -0
  194. tnfr-8.6.0/src/tnfr/metrics/trig.pyi +13 -0
  195. tnfr-8.6.0/src/tnfr/metrics/trig_cache.py +233 -0
  196. tnfr-8.6.0/src/tnfr/metrics/trig_cache.pyi +10 -0
  197. tnfr-8.6.0/src/tnfr/multiscale/__init__.py +32 -0
  198. tnfr-8.6.0/src/tnfr/multiscale/hierarchical.py +517 -0
  199. tnfr-8.6.0/src/tnfr/node.py +763 -0
  200. tnfr-8.6.0/src/tnfr/node.pyi +139 -0
  201. tnfr-8.6.0/src/tnfr/observers.py +274 -0
  202. tnfr-8.6.0/src/tnfr/observers.pyi +31 -0
  203. tnfr-8.6.0/src/tnfr/ontosim.py +144 -0
  204. tnfr-8.6.0/src/tnfr/ontosim.pyi +28 -0
  205. tnfr-8.6.0/src/tnfr/operators/__init__.py +1672 -0
  206. tnfr-8.6.0/src/tnfr/operators/__init__.pyi +31 -0
  207. tnfr-8.6.0/src/tnfr/operators/algebra.py +279 -0
  208. tnfr-8.6.0/src/tnfr/operators/cascade.py +267 -0
  209. tnfr-8.6.0/src/tnfr/operators/cycle_detection.py +358 -0
  210. tnfr-8.6.0/src/tnfr/operators/definitions.py +4140 -0
  211. tnfr-8.6.0/src/tnfr/operators/definitions.pyi +78 -0
  212. tnfr-8.6.0/src/tnfr/operators/grammar.py +1322 -0
  213. tnfr-8.6.0/src/tnfr/operators/grammar.pyi +140 -0
  214. tnfr-8.6.0/src/tnfr/operators/hamiltonian.py +710 -0
  215. tnfr-8.6.0/src/tnfr/operators/health_analyzer.py +809 -0
  216. tnfr-8.6.0/src/tnfr/operators/jitter.py +272 -0
  217. tnfr-8.6.0/src/tnfr/operators/jitter.pyi +11 -0
  218. tnfr-8.6.0/src/tnfr/operators/lifecycle.py +314 -0
  219. tnfr-8.6.0/src/tnfr/operators/metabolism.py +618 -0
  220. tnfr-8.6.0/src/tnfr/operators/metrics.py +2138 -0
  221. tnfr-8.6.0/src/tnfr/operators/network_analysis/__init__.py +27 -0
  222. tnfr-8.6.0/src/tnfr/operators/network_analysis/source_detection.py +186 -0
  223. tnfr-8.6.0/src/tnfr/operators/nodal_equation.py +395 -0
  224. tnfr-8.6.0/src/tnfr/operators/pattern_detection.py +660 -0
  225. tnfr-8.6.0/src/tnfr/operators/postconditions/__init__.py +38 -0
  226. tnfr-8.6.0/src/tnfr/operators/postconditions/mutation.py +236 -0
  227. tnfr-8.6.0/src/tnfr/operators/preconditions/__init__.py +1230 -0
  228. tnfr-8.6.0/src/tnfr/operators/preconditions/coherence.py +305 -0
  229. tnfr-8.6.0/src/tnfr/operators/preconditions/dissonance.py +236 -0
  230. tnfr-8.6.0/src/tnfr/operators/preconditions/emission.py +128 -0
  231. tnfr-8.6.0/src/tnfr/operators/preconditions/mutation.py +580 -0
  232. tnfr-8.6.0/src/tnfr/operators/preconditions/reception.py +125 -0
  233. tnfr-8.6.0/src/tnfr/operators/preconditions/resonance.py +364 -0
  234. tnfr-8.6.0/src/tnfr/operators/registry.py +74 -0
  235. tnfr-8.6.0/src/tnfr/operators/registry.pyi +9 -0
  236. tnfr-8.6.0/src/tnfr/operators/remesh.py +1809 -0
  237. tnfr-8.6.0/src/tnfr/operators/remesh.pyi +26 -0
  238. tnfr-8.6.0/src/tnfr/operators/structural_units.py +268 -0
  239. tnfr-8.6.0/src/tnfr/operators/unified_grammar.py +110 -0
  240. tnfr-8.6.0/src/tnfr/parallel/__init__.py +54 -0
  241. tnfr-8.6.0/src/tnfr/parallel/auto_scaler.py +234 -0
  242. tnfr-8.6.0/src/tnfr/parallel/distributed.py +384 -0
  243. tnfr-8.6.0/src/tnfr/parallel/engine.py +238 -0
  244. tnfr-8.6.0/src/tnfr/parallel/gpu_engine.py +420 -0
  245. tnfr-8.6.0/src/tnfr/parallel/monitoring.py +248 -0
  246. tnfr-8.6.0/src/tnfr/parallel/partitioner.py +459 -0
  247. tnfr-8.6.0/src/tnfr/py.typed +0 -0
  248. tnfr-8.6.0/src/tnfr/recipes/__init__.py +22 -0
  249. tnfr-8.6.0/src/tnfr/recipes/cookbook.py +743 -0
  250. tnfr-8.6.0/src/tnfr/rng.py +178 -0
  251. tnfr-8.6.0/src/tnfr/rng.pyi +26 -0
  252. tnfr-8.6.0/src/tnfr/schemas/__init__.py +8 -0
  253. tnfr-8.6.0/src/tnfr/schemas/grammar.json +94 -0
  254. tnfr-8.6.0/src/tnfr/sdk/__init__.py +107 -0
  255. tnfr-8.6.0/src/tnfr/sdk/__init__.pyi +19 -0
  256. tnfr-8.6.0/src/tnfr/sdk/adaptive_system.py +173 -0
  257. tnfr-8.6.0/src/tnfr/sdk/adaptive_system.pyi +21 -0
  258. tnfr-8.6.0/src/tnfr/sdk/builders.py +370 -0
  259. tnfr-8.6.0/src/tnfr/sdk/builders.pyi +51 -0
  260. tnfr-8.6.0/src/tnfr/sdk/fluent.py +1121 -0
  261. tnfr-8.6.0/src/tnfr/sdk/fluent.pyi +74 -0
  262. tnfr-8.6.0/src/tnfr/sdk/templates.py +342 -0
  263. tnfr-8.6.0/src/tnfr/sdk/templates.pyi +41 -0
  264. tnfr-8.6.0/src/tnfr/sdk/utils.py +341 -0
  265. tnfr-8.6.0/src/tnfr/secure_config.py +46 -0
  266. tnfr-8.6.0/src/tnfr/security/__init__.py +70 -0
  267. tnfr-8.6.0/src/tnfr/security/database.py +514 -0
  268. tnfr-8.6.0/src/tnfr/security/subprocess.py +503 -0
  269. tnfr-8.6.0/src/tnfr/security/validation.py +290 -0
  270. tnfr-8.6.0/src/tnfr/selector.py +247 -0
  271. tnfr-8.6.0/src/tnfr/selector.pyi +19 -0
  272. tnfr-8.6.0/src/tnfr/sense.py +378 -0
  273. tnfr-8.6.0/src/tnfr/sense.pyi +23 -0
  274. tnfr-8.6.0/src/tnfr/services/__init__.py +17 -0
  275. tnfr-8.6.0/src/tnfr/services/orchestrator.py +325 -0
  276. tnfr-8.6.0/src/tnfr/sparse/__init__.py +39 -0
  277. tnfr-8.6.0/src/tnfr/sparse/representations.py +492 -0
  278. tnfr-8.6.0/src/tnfr/structural.py +705 -0
  279. tnfr-8.6.0/src/tnfr/structural.pyi +83 -0
  280. tnfr-8.6.0/src/tnfr/telemetry/__init__.py +35 -0
  281. tnfr-8.6.0/src/tnfr/telemetry/cache_metrics.py +226 -0
  282. tnfr-8.6.0/src/tnfr/telemetry/cache_metrics.pyi +64 -0
  283. tnfr-8.6.0/src/tnfr/telemetry/nu_f.py +422 -0
  284. tnfr-8.6.0/src/tnfr/telemetry/nu_f.pyi +108 -0
  285. tnfr-8.6.0/src/tnfr/telemetry/verbosity.py +36 -0
  286. tnfr-8.6.0/src/tnfr/telemetry/verbosity.pyi +15 -0
  287. tnfr-8.6.0/src/tnfr/tokens.py +58 -0
  288. tnfr-8.6.0/src/tnfr/tokens.pyi +36 -0
  289. tnfr-8.6.0/src/tnfr/tools/__init__.py +20 -0
  290. tnfr-8.6.0/src/tnfr/tools/domain_templates.py +478 -0
  291. tnfr-8.6.0/src/tnfr/tools/sequence_generator.py +846 -0
  292. tnfr-8.6.0/src/tnfr/topology/__init__.py +13 -0
  293. tnfr-8.6.0/src/tnfr/topology/asymmetry.py +151 -0
  294. tnfr-8.6.0/src/tnfr/trace.py +543 -0
  295. tnfr-8.6.0/src/tnfr/trace.pyi +42 -0
  296. tnfr-8.6.0/src/tnfr/tutorials/__init__.py +38 -0
  297. tnfr-8.6.0/src/tnfr/tutorials/autonomous_evolution.py +285 -0
  298. tnfr-8.6.0/src/tnfr/tutorials/interactive.py +1576 -0
  299. tnfr-8.6.0/src/tnfr/tutorials/structural_metabolism.py +238 -0
  300. tnfr-8.6.0/src/tnfr/types.py +775 -0
  301. tnfr-8.6.0/src/tnfr/types.pyi +357 -0
  302. tnfr-8.6.0/src/tnfr/units.py +68 -0
  303. tnfr-8.6.0/src/tnfr/units.pyi +13 -0
  304. tnfr-8.6.0/src/tnfr/utils/__init__.py +282 -0
  305. tnfr-8.6.0/src/tnfr/utils/__init__.pyi +215 -0
  306. tnfr-8.6.0/src/tnfr/utils/cache.py +4223 -0
  307. tnfr-8.6.0/src/tnfr/utils/cache.pyi +470 -0
  308. tnfr-8.6.0/src/tnfr/utils/callbacks.py +375 -0
  309. tnfr-8.6.0/src/tnfr/utils/callbacks.pyi +49 -0
  310. tnfr-8.6.0/src/tnfr/utils/chunks.py +108 -0
  311. tnfr-8.6.0/src/tnfr/utils/chunks.pyi +22 -0
  312. tnfr-8.6.0/src/tnfr/utils/data.py +428 -0
  313. tnfr-8.6.0/src/tnfr/utils/data.pyi +74 -0
  314. tnfr-8.6.0/src/tnfr/utils/graph.py +85 -0
  315. tnfr-8.6.0/src/tnfr/utils/graph.pyi +10 -0
  316. tnfr-8.6.0/src/tnfr/utils/init.py +821 -0
  317. tnfr-8.6.0/src/tnfr/utils/init.pyi +80 -0
  318. tnfr-8.6.0/src/tnfr/utils/io.py +559 -0
  319. tnfr-8.6.0/src/tnfr/utils/io.pyi +66 -0
  320. tnfr-8.6.0/src/tnfr/utils/numeric.py +114 -0
  321. tnfr-8.6.0/src/tnfr/utils/numeric.pyi +21 -0
  322. tnfr-8.6.0/src/tnfr/validation/__init__.py +257 -0
  323. tnfr-8.6.0/src/tnfr/validation/__init__.pyi +85 -0
  324. tnfr-8.6.0/src/tnfr/validation/compatibility.py +460 -0
  325. tnfr-8.6.0/src/tnfr/validation/compatibility.pyi +6 -0
  326. tnfr-8.6.0/src/tnfr/validation/config.py +73 -0
  327. tnfr-8.6.0/src/tnfr/validation/graph.py +139 -0
  328. tnfr-8.6.0/src/tnfr/validation/graph.pyi +18 -0
  329. tnfr-8.6.0/src/tnfr/validation/input_validation.py +755 -0
  330. tnfr-8.6.0/src/tnfr/validation/invariants.py +712 -0
  331. tnfr-8.6.0/src/tnfr/validation/rules.py +256 -0
  332. tnfr-8.6.0/src/tnfr/validation/rules.pyi +44 -0
  333. tnfr-8.6.0/src/tnfr/validation/runtime.py +279 -0
  334. tnfr-8.6.0/src/tnfr/validation/runtime.pyi +28 -0
  335. tnfr-8.6.0/src/tnfr/validation/sequence_validator.py +162 -0
  336. tnfr-8.6.0/src/tnfr/validation/soft_filters.py +170 -0
  337. tnfr-8.6.0/src/tnfr/validation/soft_filters.pyi +32 -0
  338. tnfr-8.6.0/src/tnfr/validation/spectral.py +164 -0
  339. tnfr-8.6.0/src/tnfr/validation/spectral.pyi +42 -0
  340. tnfr-8.6.0/src/tnfr/validation/validator.py +1266 -0
  341. tnfr-8.6.0/src/tnfr/validation/window.py +39 -0
  342. tnfr-8.6.0/src/tnfr/validation/window.pyi +1 -0
  343. tnfr-8.6.0/src/tnfr/visualization/__init__.py +98 -0
  344. tnfr-8.6.0/src/tnfr/visualization/cascade_viz.py +256 -0
  345. tnfr-8.6.0/src/tnfr/visualization/hierarchy.py +284 -0
  346. tnfr-8.6.0/src/tnfr/visualization/sequence_plotter.py +784 -0
  347. tnfr-8.6.0/src/tnfr/viz/__init__.py +60 -0
  348. tnfr-8.6.0/src/tnfr/viz/matplotlib.py +278 -0
  349. tnfr-8.6.0/src/tnfr/viz/matplotlib.pyi +35 -0
  350. tnfr-8.6.0/src/tnfr.egg-info/PKG-INFO +490 -0
  351. tnfr-8.6.0/src/tnfr.egg-info/SOURCES.txt +356 -0
  352. {tnfr-4.3.0 β†’ tnfr-8.6.0}/src/tnfr.egg-info/entry_points.txt +1 -0
  353. tnfr-8.6.0/src/tnfr.egg-info/requires.txt +138 -0
  354. tnfr-8.6.0/tests/test_bandit_converter.py +303 -0
  355. tnfr-8.6.0/tests/test_cookbook.py +313 -0
  356. tnfr-4.3.0/PKG-INFO +0 -109
  357. tnfr-4.3.0/README.md +0 -82
  358. tnfr-4.3.0/pyproject.toml +0 -41
  359. tnfr-4.3.0/src/tnfr/__init__.py +0 -61
  360. tnfr-4.3.0/src/tnfr/cli.py +0 -270
  361. tnfr-4.3.0/src/tnfr/constants.py +0 -220
  362. tnfr-4.3.0/src/tnfr/dynamics.py +0 -665
  363. tnfr-4.3.0/src/tnfr/gamma.py +0 -110
  364. tnfr-4.3.0/src/tnfr/grammar.py +0 -155
  365. tnfr-4.3.0/src/tnfr/helpers.py +0 -252
  366. tnfr-4.3.0/src/tnfr/main.py +0 -47
  367. tnfr-4.3.0/src/tnfr/metrics.py +0 -234
  368. tnfr-4.3.0/src/tnfr/observers.py +0 -161
  369. tnfr-4.3.0/src/tnfr/ontosim.py +0 -140
  370. tnfr-4.3.0/src/tnfr/operators.py +0 -352
  371. tnfr-4.3.0/src/tnfr/presets.py +0 -28
  372. tnfr-4.3.0/src/tnfr/program.py +0 -176
  373. tnfr-4.3.0/src/tnfr/scenarios.py +0 -34
  374. tnfr-4.3.0/src/tnfr/sense.py +0 -200
  375. tnfr-4.3.0/src/tnfr/trace.py +0 -134
  376. tnfr-4.3.0/src/tnfr/types.py +0 -17
  377. tnfr-4.3.0/src/tnfr.egg-info/PKG-INFO +0 -109
  378. tnfr-4.3.0/src/tnfr.egg-info/SOURCES.txt +0 -37
  379. tnfr-4.3.0/src/tnfr.egg-info/requires.txt +0 -1
  380. tnfr-4.3.0/tests/test_canon.py +0 -30
  381. tnfr-4.3.0/tests/test_cli_sanity.py +0 -12
  382. tnfr-4.3.0/tests/test_edge_cases.py +0 -30
  383. tnfr-4.3.0/tests/test_gamma.py +0 -20
  384. tnfr-4.3.0/tests/test_grammar.py +0 -56
  385. tnfr-4.3.0/tests/test_history.py +0 -15
  386. tnfr-4.3.0/tests/test_history_series.py +0 -27
  387. tnfr-4.3.0/tests/test_invariants.py +0 -89
  388. tnfr-4.3.0/tests/test_program.py +0 -17
  389. tnfr-4.3.0/tests/test_remesh.py +0 -48
  390. {tnfr-4.3.0 β†’ tnfr-8.6.0}/setup.cfg +0 -0
  391. {tnfr-4.3.0 β†’ tnfr-8.6.0}/src/tnfr.egg-info/dependency_links.txt +0 -0
  392. {tnfr-4.3.0 β†’ tnfr-8.6.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.6.0/PKG-INFO ADDED
@@ -0,0 +1,490 @@
1
+ Metadata-Version: 2.4
2
+ Name: tnfr
3
+ Version: 8.6.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://fermga.github.io/TNFR-Python-Engine/)
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
+ ### Core Documentation
283
+
284
+ **Theory & Foundations**
285
+ - πŸ“˜ **[Mathematical Foundations](docs/source/theory/mathematical_foundations.md)** - Formal TNFR mathematics
286
+ - πŸ“– **[TNFR Concepts](docs/source/getting-started/TNFR_CONCEPTS.md)** - Paradigm introduction
287
+ - πŸ“‹ **[GLOSSARY](GLOSSARY.md)** - Operational definitions
288
+ - πŸ”¬ **[Classical Mechanics Emergence](docs/TNFR_CLASSICAL_NBODY.md)** - How classical physics emerges from TNFR
289
+
290
+ **Grammar System**
291
+ - 🎯 **[Grammar Documentation Hub](docs/grammar/README.md)** - Complete navigation guide
292
+ - πŸ“ **[Unified Grammar Rules](UNIFIED_GRAMMAR_RULES.md)** - U1-U4 constraint derivations
293
+ - πŸš€ **[Grammar Quick Reference](docs/grammar/08-QUICK-REFERENCE.md)** - One-page cheat sheet
294
+ - πŸ“Š **[Executive Summary](docs/grammar/EXECUTIVE-SUMMARY.md)** - For managers and stakeholders
295
+
296
+ **Implementation & API**
297
+ - βš™οΈ **[API Overview](docs/source/api/overview.md)** - Package architecture
298
+ - πŸ”§ **[Operator Guide](docs/source/api/operators.md)** - Complete operator reference
299
+ - πŸ› οΈ **[ARCHITECTURE](ARCHITECTURE.md)** - System design
300
+
301
+ **Development**
302
+ - 🀝 **[CONTRIBUTING](CONTRIBUTING.md)** - Development workflow
303
+ - πŸ§ͺ **[TESTING](TESTING.md)** - Test strategy
304
+ - πŸ”’ **[SECURITY](SECURITY.md)** - Security practices
305
+ - πŸŽ“ **[AGENTS](AGENTS.md)** - Canonical invariants and guidance
306
+
307
+ ---
308
+
309
+ ## πŸ”¬ Examples
310
+
311
+ ### Hello World
312
+
313
+ ```python
314
+ # examples/hello_world.py
315
+ from tnfr.sdk import TNFRNetwork
316
+
317
+ network = TNFRNetwork("simple_demo")
318
+ results = (network
319
+ .add_nodes(5)
320
+ .connect_nodes(0.5, "random")
321
+ .apply_sequence("basic_activation")
322
+ .measure())
323
+
324
+ print(f"Coherence: {results.coherence:.3f}")
325
+ print(f"Sense Index: {results.sense_index:.3f}")
326
+ ```
327
+
328
+ ### Biological Network
329
+
330
+ ```python
331
+ # examples/biological_network.py
332
+ from tnfr.sdk import TNFRNetwork
333
+
334
+ # Model cellular communication
335
+ cells = TNFRNetwork("cell_network")
336
+ results = (cells
337
+ .add_nodes(20, epi_range=(0.8, 1.2)) # Biological variation
338
+ .connect_nodes(0.3, "scale_free") # Power-law connectivity
339
+ .apply_sequence("therapeutic", repeat=5) # Healing pattern
340
+ .measure())
341
+
342
+ print(f"Network health: {results.coherence:.2%}")
343
+ ```
344
+
345
+ ### More Examples
346
+
347
+ - [Dynamic Limits](examples/dynamic_limits_demo.py) - Adaptive thresholds
348
+ - [Multiscale Networks](examples/multiscale_network_demo.py) - Hierarchical structures
349
+ - [Regenerative Cycles](examples/regenerative_cycles.py) - Self-sustaining patterns
350
+ - [Performance Comparison](examples/backend_performance_comparison.py) - Backend benchmarks
351
+
352
+ πŸ“‚ **Full Collection**: [examples/](examples/) directory
353
+
354
+ ---
355
+
356
+ ## πŸ› οΈ Development
357
+
358
+ ### Local Setup
359
+
360
+ ```bash
361
+ # Clone repository
362
+ git clone https://github.com/fermga/TNFR-Python-Engine.git
363
+ cd TNFR-Python-Engine
364
+
365
+ # Install with development dependencies
366
+ pip install -e ".[dev,docs]"
367
+
368
+ # Run tests
369
+ ./scripts/run_tests.sh
370
+
371
+ # Format code
372
+ ./scripts/format.sh
373
+ ```
374
+
375
+ ### Documentation Build
376
+
377
+ ```bash
378
+ # Install docs dependencies
379
+ pip install -r docs/requirements.txt
380
+
381
+ # Build documentation
382
+ make docs
383
+
384
+ # View locally
385
+ open docs/_build/html/index.html
386
+ ```
387
+
388
+ ### Configuration & Secrets
389
+
390
+ ```bash
391
+ # Copy environment template
392
+ cp .env.example .env
393
+
394
+ # Edit .env with your credentials (never commit this file!)
395
+ # Load with:
396
+ ```
397
+
398
+ ```python
399
+ from tnfr.secure_config import load_redis_config, get_cache_secret
400
+ redis_config = load_redis_config()
401
+ ```
402
+
403
+ See [SECURITY.md](SECURITY.md) for best practices.
404
+
405
+ ---
406
+
407
+ ## 🀝 Contributing
408
+
409
+ We welcome contributions! Here's how to get started:
410
+
411
+ 1. **Understand TNFR**: Read [Mathematical Foundations](docs/source/theory/mathematical_foundations.md)
412
+ 2. **Check Invariants**: Follow [AGENTS.md](AGENTS.md) rules
413
+ 3. **Write Tests**: Cover all invariants (see [TESTING.md](TESTING.md))
414
+ 4. **Run QA**: Execute `./scripts/run_tests.sh`
415
+ 5. **Submit PR**: See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines
416
+
417
+ **Key Principles:**
418
+ - βœ… Preserve canonical invariants
419
+ - βœ… Use structural operators only
420
+ - βœ… Document with references to Mathematical Foundations
421
+ - βœ… Test spectral properties
422
+
423
+ ---
424
+
425
+ ## πŸ“Š CLI Tools
426
+
427
+ ### Profiling Pipeline
428
+
429
+ ```bash
430
+ tnfr profile-pipeline \
431
+ --nodes 120 --edge-probability 0.28 --loops 3 \
432
+ --si-chunk-sizes auto 48 --dnfr-chunk-sizes auto \
433
+ --output-dir profiles/pipeline
434
+ ```
435
+
436
+ Generates `.pstats` and JSON summaries for performance analysis.
437
+
438
+ ---
439
+
440
+ ## πŸ“– Learning Path
441
+
442
+ **Recommended Progression:**
443
+
444
+ 1. **Newcomers** (10 min)
445
+ - Read [TNFR Concepts](docs/source/getting-started/TNFR_CONCEPTS.md)
446
+ - Run `hello_tnfr()` tutorial
447
+
448
+ 2. **Beginners** (30 min)
449
+ - Try [examples/hello_world.py](examples/hello_world.py)
450
+ - Explore domain examples (biological, social, AI)
451
+
452
+ 3. **Intermediate** (2 hours)
453
+ - Study [Mathematical Foundations Β§1-3](docs/source/theory/mathematical_foundations.md)
454
+ - Read [GLOSSARY](GLOSSARY.md)
455
+ - Practice with [Interactive Tutorial](docs/source/getting-started/INTERACTIVE_TUTORIAL.md)
456
+
457
+ 4. **Advanced** (ongoing)
458
+ - Deep dive: [Mathematical Foundations (complete)](docs/source/theory/mathematical_foundations.md)
459
+ - Architecture: [ARCHITECTURE.md](ARCHITECTURE.md)
460
+ - Contribute: [CONTRIBUTING.md](CONTRIBUTING.md)
461
+
462
+ ---
463
+
464
+ ## πŸ“œ License
465
+
466
+ Released under the [MIT License](LICENSE.md).
467
+
468
+ **Citation**: When publishing research or applications based on TNFR, please cite:
469
+ - This repository: `fermga/TNFR-Python-Engine`
470
+ - Theoretical foundations: [TNFR.pdf](TNFR.pdf)
471
+ - Mathematical formalization: [Mathematical Foundations](docs/source/theory/mathematical_foundations.md)
472
+
473
+ ---
474
+
475
+ ## πŸ”— Links
476
+
477
+ - **Documentation**: https://fermga.github.io/TNFR-Python-Engine/
478
+ - **PyPI Package**: https://pypi.org/project/tnfr/
479
+ - **GitHub**: https://github.com/fermga/TNFR-Python-Engine
480
+ - **Issues**: https://github.com/fermga/TNFR-Python-Engine/issues
481
+
482
+ ---
483
+
484
+ <div align="center">
485
+
486
+ **Made with ❀️ for researchers, developers, and explorers of complex systems**
487
+
488
+ *Reality is not made of thingsβ€”it's made of resonance*
489
+
490
+ </div>