Skip to main content

Modular structural-based dynamics on networks.

Project description

TNFR Python Engine

Model reality as resonant patterns, not isolated objects

PyPI Python License Documentation

Quick StartKey ConceptsDocumentationExamplesContributing


🌟 What is TNFR?

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.

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.

🎯 Why TNFR?

Traditional Approach TNFR Paradigm
Objects exist independently Patterns exist through resonance
Causality: A causes B Coherence: A and B co-organize
Static snapshots Dynamic reorganization
Domain-specific models Trans-scale, trans-domain

Key Advantages:

  • 🔄 Operational Fractality: Patterns scale without losing structure
  • 📊 Complete Traceability: Every reorganization is observable
  • 🎯 Guaranteed Reproducibility: Same conditions → same outcomes
  • 🌐 Domain Neutral: Works from quantum to social systems

🚀 Use Cases

  • 🧬 Biology: Cellular networks, neuronal synchronization, protein dynamics
  • 🌐 Social Systems: Information spread, community formation, opinion dynamics
  • 🤖 AI: Resonant symbolic systems, emergent learning
  • 🔬 Network Science: Structural coherence, pattern detection
  • 🏗️ Distributed Systems: Decentralized coordination, self-organization

⚡ Quick Start

Installation

pip install tnfr

Requires Python ≥ 3.9

Your First TNFR Network (3 Lines!)

from tnfr.sdk import TNFRNetwork

# Create, activate, and measure a network
network = TNFRNetwork("hello_world")
results = network.add_nodes(10).connect_nodes(0.3, "random").apply_sequence("basic_activation", repeat=3).measure()
print(results.summary())

🎉 That's it! You just created a resonant network.

What happened?

  • add_nodes(10): Created 10 nodes that can synchronize
  • connect_nodes(0.3, "random"): Connected them (30% probability)
  • apply_sequence("basic_activation", repeat=3): Applied Emission → Coherence → Resonance (3x)
  • measure(): Calculated coherence C(t), sense index Si, and structural metrics

🎓 Interactive Learning (5 Minutes)

from tnfr.tutorials import hello_tnfr
hello_tnfr()  # Guided tour of TNFR concepts

Domain Examples:

from tnfr.tutorials import (
    biological_example,      # Cell communication
    social_network_example,  # Social dynamics
    technology_example,      # Distributed systems
    adaptive_ai_example,     # Learning through resonance
)

📘 Structured Learning Path: See our 60-Minute Interactive Tutorial


💡 Key Concepts

New to TNFR? 👉 TNFR Fundamental Concepts Guide - Understand the paradigm in 10 minutes!

The Nodal Equation

At the heart of TNFR is one elegant equation:

∂EPI/∂t = νf · ΔNFR(t)

What it means:

  • EPI: Primary Information Structure (the "shape" of a node)
  • νf: Structural frequency (reorganization rate in Hz_str)
  • ΔNFR: Internal reorganization operator (structural gradient)

Structure changes proportionally to frequency and gradient

Three Essential Elements

1. Resonant Fractal Node (NFR)

  • Minimum unit of structural coherence
  • Has EPI (form), νf (frequency), φ (phase)

2. Structural Operators (13 canonical)

  • Emission/Reception: Initiate & capture patterns
  • Coherence/Dissonance: Stabilize or destabilize
  • Resonance: Propagate without losing identity
  • Self-organization: Create emergent structures
  • See all 13 operators →

3. Coherence Metrics

  • C(t): Total network coherence [0,1]
  • Si: Sense index (reorganization stability)
  • ΔNFR: Evolution gradient

📚 Documentation

🎯 Single Source of Truth for Mathematics

Mathematical Foundations of TNFR

This is THE ONLY place where TNFR mathematics is formally defined:

  • Hilbert space H_NFR and Banach space B_EPI
  • Coherence operator Ĉ (spectral theory, proofs)
  • Frequency operator Ĵ and reorganization operator ΔNFR
  • Complete nodal equation derivation
  • §3.1.1: Implementation bridge (theory → code)

🎯 Classical Mechanics Emergence

TNFR reveals how observable classical physics emerges from structural coherence dynamics:

TNFR Nodal Equation (∂EPI/∂t = νf · ΔNFR)
           ↓ 
    Low-dissonance limit (ε → 0)
           ↓
Observable Classical Mechanics

Key Emergent Phenomena:

  • Mass: m = 1/νf (inverse structural frequency) — mass is structural inertia
  • Force: F = -∇U(q) (coherence potential gradient) — force is stability flow
  • Newton's Laws: Natural consequences of the nodal equation at low dissonance
  • Action Principle: Coherence optimization over time
  • Conservation Laws: Network symmetries preserve structural quantities

Documentation:

Practical Examples:

  • examples/domain_applications/nbody_gravitational.py — Two-body orbits, three-body systems
  • examples/nbody_quantitative_validation.py — Full validation suite (6 canonical experiments)
  • tests/validation/test_nbody_validation.py — Automated test suite

This demonstrates classical mechanics as a natural expression of coherent structural dynamics in the observable, deterministic regime.

📖 Quick References

🎨 Grammar 2.0 (Operator Sequences)

Enhanced validation system for operator sequences:

from tnfr.operators.grammar import validate_sequence_with_health

result = validate_sequence_with_health(["emission", "reception", "coherence"])
print(f"Health: {result.health_metrics.overall_health:.2f}")
print(f"Pattern: {result.metadata['detected_pattern']}")

Features:

  • 📊 Health metrics (7 dimensions, 0.0-1.0 scale)
  • 🎨 18 structural patterns (Linear, Fractal, Regenerative, etc.)
  • 🔄 Regenerative cycle detection
  • ⚡ Structural frequencies (Hz_str units)

Learn More: Operator Sequences GuideMigration Guide 2.0

🧪 Advanced Topics


🔬 Examples

Hello World

# examples/hello_world.py
from tnfr.sdk import TNFRNetwork

network = TNFRNetwork("simple_demo")
results = (network
    .add_nodes(5)
    .connect_nodes(0.5, "random")
    .apply_sequence("basic_activation")
    .measure())

print(f"Coherence: {results.coherence:.3f}")
print(f"Sense Index: {results.sense_index:.3f}")

Biological Network

# examples/biological_network.py
from tnfr.sdk import TNFRNetwork

# Model cellular communication
cells = TNFRNetwork("cell_network")
results = (cells
    .add_nodes(20, epi_range=(0.8, 1.2))  # Biological variation
    .connect_nodes(0.3, "scale_free")      # Power-law connectivity
    .apply_sequence("therapeutic", repeat=5)  # Healing pattern
    .measure())

print(f"Network health: {results.coherence:.2%}")

More Examples

📂 Full Collection: examples/ directory


🛠️ Development

Local Setup

# Clone repository
git clone https://github.com/fermga/TNFR-Python-Engine.git
cd TNFR-Python-Engine

# Install with development dependencies
pip install -e ".[dev,docs]"

# Run tests
./scripts/run_tests.sh

# Format code
./scripts/format.sh

Documentation Build

# Install docs dependencies
pip install -r docs/requirements.txt

# Build documentation
make docs

# View locally
open docs/_build/html/index.html

Configuration & Secrets

# Copy environment template
cp .env.example .env

# Edit .env with your credentials (never commit this file!)
# Load with:
from tnfr.secure_config import load_redis_config, get_cache_secret
redis_config = load_redis_config()

See SECURITY.md for best practices.


🤝 Contributing

We welcome contributions! Here's how to get started:

  1. Understand TNFR: Read Mathematical Foundations
  2. Check Invariants: Follow AGENTS.md rules
  3. Write Tests: Cover all invariants (see TESTING.md)
  4. Run QA: Execute ./scripts/run_tests.sh
  5. Submit PR: See CONTRIBUTING.md for guidelines

Key Principles:

  • ✅ Preserve canonical invariants
  • ✅ Use structural operators only
  • ✅ Document with references to Mathematical Foundations
  • ✅ Test spectral properties

📊 CLI Tools

Profiling Pipeline

tnfr profile-pipeline \
  --nodes 120 --edge-probability 0.28 --loops 3 \
  --si-chunk-sizes auto 48 --dnfr-chunk-sizes auto \
  --output-dir profiles/pipeline

Generates .pstats and JSON summaries for performance analysis.


📖 Learning Path

Recommended Progression:

  1. Newcomers (10 min)

  2. Beginners (30 min)

  3. Intermediate (2 hours)

  4. Advanced (ongoing)


📜 License

Released under the MIT License.

Citation: When publishing research or applications based on TNFR, please cite:


🔗 Links


Made with ❤️ for researchers, developers, and explorers of complex systems

Reality is not made of things—it's made of resonance

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tnfr-8.0.0.tar.gz (603.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tnfr-8.0.0-py3-none-any.whl (729.7 kB view details)

Uploaded Python 3

File details

Details for the file tnfr-8.0.0.tar.gz.

File metadata

  • Download URL: tnfr-8.0.0.tar.gz
  • Upload date:
  • Size: 603.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for tnfr-8.0.0.tar.gz
Algorithm Hash digest
SHA256 92d0537439ddc8645108dee6a77d618ae7852b8bc9a83e307182962bf79bfa2b
MD5 ba43ad68f7233cea18baa3bad92e9675
BLAKE2b-256 d1325116a41418108277cbafab2db79ec700eee03aded6c1e5ee5d61ca02d56b

See more details on using hashes here.

File details

Details for the file tnfr-8.0.0-py3-none-any.whl.

File metadata

  • Download URL: tnfr-8.0.0-py3-none-any.whl
  • Upload date:
  • Size: 729.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for tnfr-8.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9fec52c69fce71f3fa78905443db6e101401256a8fbd64cc4dcf0d699ea20f5d
MD5 4f6d419c06c5ee3d0b3d894361c89d71
BLAKE2b-256 8e2ab244c48dc6bef1348261b4bffcc72f3aaf7ea90cb2b218f662a293229784

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page