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

Core Documentation

Theory & Foundations

Grammar System

Implementation & API

Development


🔬 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.6.0.tar.gz (725.3 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.6.0-py3-none-any.whl (871.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tnfr-8.6.0.tar.gz
Algorithm Hash digest
SHA256 70e8d379e53aca1f63927e2e123518dbd546122ae6f560e1189abd5333c9af6f
MD5 2fbf094bf51e236ad324eb91505f1ae8
BLAKE2b-256 b3d13343ff124eae72bdb9df3cd1ae39852a96e4268da3324fb0173fb9dd66d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tnfr-8.6.0-py3-none-any.whl
  • Upload date:
  • Size: 871.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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92ba7892908adbe8c37e12c749ac08f82f3aa3338be3dc337f6d3eae5f584a4a
MD5 9fb3f1444f26a018922fa3a55c3ade53
BLAKE2b-256 7b44e4fc537b96f804693525796fa3185d4e13105cf552c2e92dc21cfc4c79b5

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