Core Modules¶
Complete reference for Q-Memetic AI core modules and their interfaces.
Module Overview¶
Q-Memetic AI is organized into several core modules, each handling specific aspects of the memetic computing system:
Module | Purpose | Key Classes |
---|---|---|
core.engine |
Main orchestration engine | MemeticEngine |
core.meme |
Meme representation and operations | Meme , MemeVector , MemeMetadata |
core.entanglement |
Quantum-inspired correlation networks | QuantumEntangler |
core.evolution |
Genetic algorithms and evolution | GeneticEvolver , EvolutionParameters |
cognitive.models |
User cognitive modeling | CognitiveFingerprint |
federation.client |
Federated learning client | FederatedClient |
licensing.manager |
License validation and management | LicenseManager |
utils.persistence |
Data storage and retrieval | DataPersistence |
utils.security |
Security and encryption | SecurityManager |
visualization.noosphere |
Interactive visualizations | NoosphereVisualizer |
Quick Import Guide¶
# Core engine
from qmemetic_ai import MemeticEngine
# Individual components
from qmemetic_ai.core.meme import Meme, MemeVector, MemeMetadata
from qmemetic_ai.core.entanglement import QuantumEntangler
from qmemetic_ai.core.evolution import GeneticEvolver, EvolutionParameters
from qmemetic_ai.cognitive.models import CognitiveFingerprint
from qmemetic_ai.federation.client import FederatedClient
from qmemetic_ai.licensing.manager import LicenseManager
from qmemetic_ai.utils.persistence import DataPersistence
from qmemetic_ai.utils.security import SecurityManager
from qmemetic_ai.visualization.noosphere import NoosphereVisualizer
# Exception classes
from qmemetic_ai.licensing.manager import QMemeticLicenseError
Cognitive Models¶
CognitiveFingerprint¶
Models individual user preferences and cognitive patterns.
class CognitiveFingerprint:
"""
Represents a user's cognitive patterns and preferences.
Attributes:
user_id: Unique user identifier
preferences: Dictionary of user preferences
interaction_history: Historical interaction data
adaptation_rate: How quickly preferences change
"""
def __init__(self, user_id: str, preferences: Optional[Dict] = None):
"""Initialize cognitive fingerprint for a user."""
def update_preferences(self, interaction_data: Dict) -> None:
"""Update preferences based on user interactions."""
def calculate_fit_score(self, meme: Meme) -> float:
"""Calculate how well a meme fits this user's cognitive profile."""
def adapt_meme(self, meme: Meme) -> Meme:
"""Adapt a meme to better fit this user's preferences."""
def to_dict(self) -> Dict[str, Any]:
"""Serialize cognitive fingerprint to dictionary."""
@classmethod
def from_dict(cls, data: Dict[str, Any]) -> 'CognitiveFingerprint':
"""Deserialize cognitive fingerprint from dictionary."""
Usage Example¶
# Create cognitive fingerprint
profile = CognitiveFingerprint(
user_id="researcher_123",
preferences={
"technical_level": 0.8,
"domain_interests": ["AI", "quantum", "biology"],
"communication_style": "formal",
"complexity_preference": 0.7
}
)
# Calculate meme fit
meme = engine.create_meme("Quantum computing applications in drug discovery")
fit_score = profile.calculate_fit_score(meme)
print(f"Meme fit score: {fit_score:.3f}")
# Adapt meme for user
adapted_meme = profile.adapt_meme(meme)
print(f"Adapted content: {adapted_meme.content}")
Federation Client¶
FederatedClient¶
Handles distributed memetic computing across multiple nodes.
class FederatedClient:
"""
Client for federated memetic computing.
Enables distributed evolution and sharing of memes
across multiple computational nodes.
"""
def __init__(self, node_id: str, config: Optional[Dict] = None):
"""Initialize federated client."""
async def register_with_network(self) -> bool:
"""Register this node with the federated network."""
async def discover_peers(self) -> List[str]:
"""Discover other nodes in the network."""
async def sync_memes(self, mode: str = "bidirectional") -> Dict[str, Any]:
"""Synchronize memes with peer nodes."""
async def federated_evolve(
self,
memes: List[Meme],
generations: int = 5
) -> List[Meme]:
"""Perform distributed evolution across the network."""
async def broadcast_meme(self, meme: Meme) -> List[str]:
"""Broadcast a meme to all connected peers."""
def get_network_status(self) -> Dict[str, Any]:
"""Get status of federated network connections."""
Usage Example¶
# Initialize federated client
fed_client = FederatedClient(
node_id="research_lab_1",
config={
"discovery_port": 8080,
"max_peers": 10,
"trust_threshold": 0.7
}
)
# Register with network
await fed_client.register_with_network()
# Discover peers
peers = await fed_client.discover_peers()
print(f"Found {len(peers)} peer nodes")
# Synchronize memes
sync_result = await fed_client.sync_memes(mode="pull")
print(f"Received {sync_result['memes_received']} memes")
# Federated evolution
local_memes = [engine.create_meme("Local research insight")]
evolved = await fed_client.federated_evolve(local_memes, generations=5)
Licensing Manager¶
LicenseManager¶
Handles QuantumMeta license validation and feature access control.
class LicenseManager:
"""
Manages QuantumMeta licensing and feature access.
Provides strict enforcement of license terms with
24-hour grace period for new users.
"""
def __init__(self, license_key: Optional[str] = None):
"""Initialize license manager."""
def validate_license(self) -> bool:
"""Validate the current license key."""
def get_license_status(self) -> Dict[str, Any]:
"""Get detailed license status information."""
def get_available_features(self) -> List[str]:
"""Get list of features available with current license."""
def require_feature(self, feature_name: str) -> None:
"""Require a specific feature, raise exception if not available."""
def show_license_info(self) -> None:
"""Display license information to console."""
@staticmethod
def licensed_class(tier_required: str = "core"):
"""Decorator to protect entire classes with license requirements."""
@staticmethod
def requires_license(features: List[str] = None):
"""Decorator to protect individual methods with license requirements."""
Usage Example¶
# Initialize license manager
license_manager = LicenseManager(license_key="your-key")
# Validate license
is_valid = license_manager.validate_license()
print(f"License valid: {is_valid}")
# Check available features
features = license_manager.get_available_features()
print(f"Available features: {features}")
# Require specific feature
try:
license_manager.require_feature("federation_basic")
print("Federation feature available")
except QMemeticLicenseError as e:
print(f"License error: {e}")
# Use decorators
@LicenseManager.requires_license(features=["advanced_analytics"])
def advanced_analysis(data):
"""This function requires advanced analytics license."""
return analyze_complex_data(data)
Utils: Persistence¶
DataPersistence¶
Handles data storage, backup, and retrieval operations.
class DataPersistence:
"""
Manages persistent storage of memetic data.
Supports multiple storage backends and automatic
backup with compression.
"""
def __init__(self, data_dir: str, config: Optional[Dict] = None):
"""Initialize data persistence manager."""
def save_meme(self, meme: Meme) -> str:
"""Save a meme to persistent storage."""
def load_meme(self, meme_id: str) -> Meme:
"""Load a meme from persistent storage."""
def save_memes_batch(self, memes: List[Meme]) -> List[str]:
"""Save multiple memes efficiently."""
def load_memes_batch(self, meme_ids: List[str]) -> List[Meme]:
"""Load multiple memes efficiently."""
def export_data(self, data: Dict, file_path: str) -> None:
"""Export data to external file."""
def import_data(self, file_path: str) -> Dict:
"""Import data from external file."""
def create_backup(self) -> str:
"""Create a backup of all data."""
def restore_backup(self, backup_path: str) -> None:
"""Restore data from backup."""
def cleanup_old_data(self, retention_days: int = 30) -> int:
"""Clean up old data files."""
Usage Example¶
# Initialize persistence manager
persistence = DataPersistence(
data_dir="./qmemetic_data",
config={
"compression": True,
"backup_interval": 3600,
"max_backup_files": 10
}
)
# Save individual meme
meme = engine.create_meme("Important research finding")
meme_path = persistence.save_meme(meme)
print(f"Meme saved to: {meme_path}")
# Load meme
loaded_meme = persistence.load_meme(meme.meme_id)
print(f"Loaded: {loaded_meme.content}")
# Batch operations
memes = [engine.create_meme(f"Idea #{i}") for i in range(100)]
paths = persistence.save_memes_batch(memes)
print(f"Saved {len(paths)} memes")
# Create backup
backup_path = persistence.create_backup()
print(f"Backup created: {backup_path}")
Utils: Security¶
SecurityManager¶
Provides encryption, authentication, and security features.
class SecurityManager:
"""
Manages security features including encryption,
authentication, and access control.
"""
def __init__(self, config: Optional[Dict] = None):
"""Initialize security manager."""
def generate_session_id(self) -> str:
"""Generate a secure session identifier."""
def encrypt_data(self, data: bytes, key: Optional[bytes] = None) -> bytes:
"""Encrypt data using AES-256-GCM."""
def decrypt_data(self, encrypted_data: bytes, key: Optional[bytes] = None) -> bytes:
"""Decrypt data using AES-256-GCM."""
def hash_password(self, password: str) -> str:
"""Hash password using bcrypt."""
def verify_password(self, password: str, hashed: str) -> bool:
"""Verify password against bcrypt hash."""
def generate_api_key(self) -> str:
"""Generate a secure API key."""
def validate_api_key(self, api_key: str) -> bool:
"""Validate an API key."""
def create_digital_signature(self, data: bytes) -> bytes:
"""Create digital signature for data integrity."""
def verify_digital_signature(self, data: bytes, signature: bytes) -> bool:
"""Verify digital signature."""
Usage Example¶
# Initialize security manager
security = SecurityManager(config={
"encryption_key": "your-encryption-key",
"require_authentication": True
})
# Generate session
session_id = security.generate_session_id()
print(f"Session ID: {session_id}")
# Encrypt sensitive data
sensitive_data = b"confidential research data"
encrypted = security.encrypt_data(sensitive_data)
print(f"Encrypted {len(encrypted)} bytes")
# Decrypt data
decrypted = security.decrypt_data(encrypted)
print(f"Decrypted: {decrypted.decode()}")
# Password management
password_hash = security.hash_password("user_password")
is_valid = security.verify_password("user_password", password_hash)
print(f"Password valid: {is_valid}")
# API key generation
api_key = security.generate_api_key()
print(f"Generated API key: {api_key[:16]}...")
Error Handling¶
Exception Classes¶
# License-related exceptions
class QMemeticLicenseError(Exception):
"""Raised when license validation fails."""
pass
# Evolution-related exceptions
class MemeticEvolutionError(Exception):
"""Raised when evolution process fails."""
pass
# Network-related exceptions
class NetworkEntanglementError(Exception):
"""Raised when network operations fail."""
pass
# Federation-related exceptions
class FederationError(Exception):
"""Raised when federated operations fail."""
pass
# Data persistence exceptions
class DataPersistenceError(Exception):
"""Raised when data operations fail."""
pass
Error Handling Patterns¶
from qmemetic_ai.exceptions import (
QMemeticLicenseError,
MemeticEvolutionError,
NetworkEntanglementError
)
try:
# Initialize engine
engine = MemeticEngine(license_key="your-key")
# Perform operations
memes = engine.create_memes(content_list)
evolved = engine.evolve(memes, generations=10)
network = engine.entangle()
except QMemeticLicenseError as e:
print(f"License error: {e}")
print("Please check your license key or contact support")
except MemeticEvolutionError as e:
print(f"Evolution error: {e}")
print("Trying with reduced parameters...")
evolved = engine.evolve(memes, generations=5, population_size=10)
except NetworkEntanglementError as e:
print(f"Network error: {e}")
print("Continuing without entanglement network")
except Exception as e:
print(f"Unexpected error: {e}")
engine.save_state("emergency_backup.json")
Type Hints and Validation¶
Q-Memetic AI uses comprehensive type hints for better development experience:
from typing import List, Dict, Optional, Union, Any, Tuple
from pydantic import BaseModel, Field, validator
# Type aliases
MemeID = str
UserID = str
Fitness = float
Vector = List[float]
# Pydantic models for validation
class MemeMetadata(BaseModel):
author: Optional[str] = None
domain: Optional[str] = None
tags: List[str] = Field(default_factory=list)
generation: int = 0
created_at: float = Field(default_factory=time.time)
@validator('tags')
def validate_tags(cls, v):
return [tag.strip().lower() for tag in v if tag.strip()]
class EvolutionParameters(BaseModel):
population_size: int = Field(default=20, ge=2, le=1000)
generations: int = Field(default=5, ge=1, le=100)
mutation_rate: float = Field(default=0.25, ge=0.0, le=1.0)
crossover_rate: float = Field(default=0.75, ge=0.0, le=1.0)
@validator('mutation_rate', 'crossover_rate')
def validate_probability(cls, v):
if not 0.0 <= v <= 1.0:
raise ValueError("Probability must be between 0 and 1")
return v
Performance Monitoring¶
Built-in performance monitoring and profiling:
# Performance decorators
from qmemetic_ai.utils.performance import profile_function, monitor_memory
@profile_function
@monitor_memory
def expensive_operation(data):
"""Function with automatic performance monitoring."""
return process_large_dataset(data)
# Context managers for profiling
with engine.profile_evolution() as profiler:
evolved_memes = engine.evolve(memes, generations=10)
performance_report = profiler.get_report()
print(f"Evolution took {performance_report['total_time']:.2f} seconds")
print(f"Memory peak: {performance_report['memory_peak']:.1f} MB")
Configuration Integration¶
All modules support configuration through the unified config system:
# Module-specific configuration
config = {
"cognitive": {
"adaptation_rate": 0.1,
"memory_decay": 0.95,
"preference_weights": {
"novelty": 0.3,
"relevance": 0.4,
"clarity": 0.3
}
},
"federation": {
"node_id": "research_node",
"discovery_port": 8080,
"trust_threshold": 0.7
},
"persistence": {
"compression": True,
"backup_interval": 3600,
"retention_days": 30
},
"security": {
"encryption_enabled": True,
"audit_logging": True,
"session_timeout": 7200
}
}
# Apply configuration to engine
engine = MemeticEngine(license_key="your-key", config=config)
Testing and Development¶
Unit Testing¶
import unittest
from qmemetic_ai.core.meme import Meme, MemeMetadata
class TestMeme(unittest.TestCase):
def setUp(self):
self.metadata = MemeMetadata(
author="test_user",
domain="test",
tags=["test", "example"]
)
def test_meme_creation(self):
meme = Meme(
content="Test meme content",
metadata=self.metadata
)
self.assertEqual(meme.content, "Test meme content")
self.assertEqual(meme.metadata.author, "test_user")
def test_meme_serialization(self):
meme = Meme("Test content", self.metadata)
meme_dict = meme.to_dict()
reconstructed = Meme.from_dict(meme_dict)
self.assertEqual(meme.content, reconstructed.content)
Mock Testing¶
from unittest.mock import Mock, patch
from qmemetic_ai.core.engine import MemeticEngine
class TestMemeticEngine(unittest.TestCase):
@patch('qmemetic_ai.licensing.manager.validate_qmemetic_license')
def test_engine_initialization(self, mock_validate):
mock_validate.return_value = True
engine = MemeticEngine(license_key="test-key")
self.assertIsNotNone(engine)
mock_validate.assert_called_once()
For detailed API documentation of specific modules, see: