Skip to main content

Death Defying Data Protection - When data death comes knocking, Grim ensures resurrection is just a command away

Project description

Grim Reaper ๐Ÿ—ก๏ธ Python Package

PyPI Downloads License: MIT

When data death comes knocking, Grim ensures resurrection is just a command away.

๐Ÿ”ฅ Latest Release v1.0.36 - VELOCITY PRODUCTION BREAKTHROUGH

๐Ÿš€ CRITICAL UPDATE: 7000+ downloads milestone surpassed! Complete installation and monitoring infrastructure overhaul.

โšก VELOCITY FIXES - Production-Ready Installation

โœ… FIXED: Proper latest.tar.gz download from get.grim.so with correct graveyard/reaper/ extraction
โœ… FIXED: Environment variable setup - GRIM_ROOT, GRIM_LICENSE="FREE", GRIM_REAPER="FALSE"
โœ… FIXED: Smart installation location detection with permission fallbacks (/root โ†’ $HOME โ†’ local โ†’ /tmp)
โœ… FIXED: Persistent environment variables automatically added to .bashrc/.zshrc/.profile
โœ… FIXED: Update mode handling when GRIM_REAPER="TRUE" preserves sensitive data/keys/licenses

๐Ÿ”ง Advanced Installation Logic

โœ… Multiple Structure Support: Detects direct, reaper/, and main source installations
โœ… Permission Intelligence: Automatically determines best install location based on write access
โœ… Download Resilience: 60-second timeouts, proper error handling, fallback extraction modes
โœ… Executable Management: Auto-chmod for scripts, throne files, and core executables
โœ… Version Detection: Reads manifest.tsk and sets GRIM_VERSION environment variable

๐Ÿ“Š Enterprise Monitoring Infrastructure (07-26)

โœ… Automated Cron Monitoring: Every 15 minutes, 96 daily cycles, 672 weekly comprehensive checks
โœ… 262+ Route Coverage: 7 domains, 50+ endpoints, SSL certificate monitoring with 30-day warnings
โœ… Email Alert System: Zeptomail integration with professional HTML alerts for failures/warnings
โœ… Performance Metrics: Load time analysis with smart failure detection and severity classification
โœ… 24/7 Infrastructure Protection: Complete audit trail with historical tracking and trend analysis

๐Ÿ† Professional Tier System Creation (07-27)

โœ… 6-Tier Branding: "The Apprentice" to "The Digital God" with Grim Reaper dark humor
โœ… Strategic Pricing: $0 โ†’ $19 โ†’ $49 โ†’ $99 โ†’ $499 โ†’ Enterprise Custom
โœ… Power Progression: 1GB โ†’ 25GB โ†’ 100GB โ†’ 1TB โ†’ Unlimited โ†’ Global Infrastructure
โœ… Command Scaling: 15 โ†’ 35 โ†’ 60 โ†’ 200+ โ†’ All โ†’ Unlimited capabilities
โœ… Business Psychology: Clear upgrade triggers with conversion-optimized value propositions

๐ŸŽฏ MIT License & Package Distribution (07-27)

โœ… Open Source Compliance: MIT license headers throughout all PHP/Python packages
โœ… Packagist Deployment: Automated registry updates with proper versioning
โœ… Developer Friendly: Clear copyright, liability protection, maximum adoption potential
โœ… Registry Integration: GitHub tag automation with rollback capabilities

๐Ÿ”’ Production Security & Reliability

โœ… Sensitive Data Protection: Update mode preserves DB files, keys, licenses, SSL certificates
โœ… Intelligent Detection: Multiple Grim installation structure recognition
โœ… Error Recovery: Comprehensive exception handling with user-friendly error messages
โœ… Background Compatibility: Works in cron, automation, and non-interactive environments

๐Ÿ“ˆ Performance Metrics & Business Impact

  • 7000+ Downloads: Major milestone across all language packages
  • 96 Daily Checks: Automated infrastructure monitoring every 15 minutes
  • 6 Professional Tiers: Complete business model from free to enterprise
  • 262+ Routes: Comprehensive service coverage across 7 domains
  • 15-40% Expected Conversion: Through improved tier engagement and value communication

๐Ÿš€ Installation Intelligence

# Automatic environment setup
export GRIM_ROOT="/your/optimal/location"     # Auto-detected
export GRIM_LICENSE="FREE"                    # Default tier
export GRIM_REAPER="FALSE"                    # Normal install mode

# Smart permission handling
/root โ†’ $HOME โ†’ local โ†’ /tmp fallback

# Update mode (preserves sensitive data)
export GRIM_REAPER="TRUE"                     # Overwrites except DB/keys/licenses

๐ŸŽ‰ Status: PRODUCTION VELOCITY ACHIEVED - 7000+ downloads milestone with bulletproof infrastructure!

Critical Update: pip install --upgrade grim-reaper==1.0.36


Enterprise-grade data protection platform with AI-powered backup decisions, military-grade encryption, multi-algorithm compression, content-based deduplication, real-time monitoring, and automated threat response.

๐Ÿš€ Quick Install

pip install grim-reaper

๐ŸŽฏ Quick Start

from grim_reaper import GrimReaper
import asyncio

# Initialize Grim Reaper (auto-sets environment variables)
grim = GrimReaper()

# Quick backup
await grim.backup('/important/data')

# Start monitoring
await grim.monitor('/var/log')

# Health check
health = await grim.health_check()
print(f"System Status: {health.status}")

๐Ÿ“‹ Complete Command Reference

All commands use the unified Grim Reaper command structure:

๐Ÿค– AI & Machine Learning

# AI Decision Engine
grim ai-decision init                    # Initialize AI decision engine
grim ai-decision analyze                 # Analyze files for intelligent backup decisions
grim ai-decision backup-priority         # Determine backup priorities using AI
grim ai-decision storage-optimize        # Optimize storage allocation with AI
grim ai-decision resource-manage         # Manage system resources intelligently
grim ai-decision validate                # Validate AI models and decisions
grim ai-decision report                  # Generate AI analysis report
grim ai-decision config                  # Configure AI parameters
grim ai-decision status                  # Check AI engine status

# AI Integration
grim ai init                             # Initialize AI integration framework
grim ai install                          # Install AI dependencies (TensorFlow/PyTorch)
grim ai train                            # Train AI models on your data
grim ai predict                          # Generate predictions from models
grim ai analyze                          # Analyze data patterns
grim ai optimize                         # Optimize AI performance
grim ai monitor                          # Monitor AI operations
grim ai validate                         # Validate model accuracy
grim ai report                           # Generate integration report
grim ai config                           # Configure AI integration
grim ai status                           # Check integration status

# AI Production Deployment
grim ai-deploy deploy                    # Deploy AI models to production
grim ai-deploy test                      # Run automated deployment tests
grim ai-deploy rollback                  # Rollback to previous version
grim ai-deploy monitor                   # Monitor deployed models
grim ai-deploy health                    # Check deployment health
grim ai-deploy backup                    # Backup current deployment
grim ai-deploy restore                   # Restore from backup
grim ai-deploy status                    # Check deployment status

# AI Training
grim ai-train analyze                    # Analyze training data
grim ai-train train                      # Train base models
grim ai-train predict                    # Generate predictions
grim ai-train cluster                    # Perform clustering analysis
grim ai-train extract                    # Extract features from data
grim ai-train validate                   # Validate model performance
grim ai-train report                     # Generate training report
grim ai-train neural                     # Train neural networks
grim ai-train ensemble                   # Train ensemble models
grim ai-train timeseries                 # Time series analysis
grim ai-train regression                 # Train regression models
grim ai-train classify                   # Train classification models
grim ai-train config                     # Configure training parameters
grim ai-train init                       # Initialize training environment

# AI Velocity Enhancement
grim ai-turbo turbo                      # Activate turbo mode for AI
grim ai-turbo optimize                   # Optimize AI performance
grim ai-turbo benchmark                  # Run performance benchmarks
grim ai-turbo validate                   # Validate optimizations
grim ai-turbo deploy                     # Deploy optimized models
grim ai-turbo monitor                    # Monitor performance gains
grim ai-turbo report                     # Generate performance report

๐Ÿ’พ Backup & Recovery

# Core Backup Operations
grim backup create                       # Create intelligent backup
grim backup verify                       # Verify backup integrity
grim backup list                         # List all backups

# Core Backup Engine
grim backup-core create                  # Create core backup with progress
grim backup-core verify                  # Verify backup checksums
grim backup-core restore                 # Restore from backup
grim backup-core status                  # Check backup system status
grim backup-core init                    # Initialize backup system

# Automatic Backup Daemon
grim auto-backup start                   # Start automatic backup daemon
grim auto-backup stop                    # Stop backup daemon
grim auto-backup restart                 # Restart backup daemon
grim auto-backup status                  # Check daemon status
grim auto-backup health                  # Health check with diagnostics

# Restore Operations
grim restore recover                     # Restore from backup
grim restore list                        # List available restore points
grim restore verify                      # Verify restore integrity

# Deduplication
grim dedup dedup                         # Deduplicate files
grim dedup restore                       # Restore deduplicated files
grim dedup cleanup                       # Clean orphaned chunks
grim dedup stats                         # Show deduplication statistics
grim dedup verify                        # Verify dedup integrity
grim dedup benchmark                     # Run deduplication benchmarks

๐Ÿ“Š System Monitoring & Health

# System Monitoring
grim monitor start                       # Start system monitoring
grim monitor stop                        # Stop monitoring
grim monitor status                      # Check monitor status
grim monitor show                        # Show current metrics
grim monitor report                      # Generate monitoring report

# Health Checking
grim health check                        # Complete health check
grim health fix                          # Auto-fix detected issues
grim health report                       # Generate health report
grim health monitor                      # Continuous health monitoring

# Enhanced Health Monitoring
grim health-check check                  # Enhanced health check
grim health-check services               # Check all services
grim health-check disk                   # Check disk health
grim health-check memory                 # Check memory status
grim health-check network                # Check network health
grim health-check fix                    # Auto-fix all issues
grim health-check report                 # Detailed health report

๐Ÿ”’ Security & Compliance

# Security Auditing
grim audit full                          # Complete security audit
grim audit permissions                   # Audit file permissions
grim audit compliance                    # Check compliance (CIS/STIG/NIST)
grim audit backups                       # Audit backup integrity
grim audit logs                          # Audit access logs
grim audit config                        # Audit configuration security
grim audit report                        # Generate audit report

# Security Operations
grim security scan                       # Run security scan
grim security audit                      # Deep security audit
grim security fix                        # Auto-fix vulnerabilities
grim security report                     # Generate security report
grim security monitor                    # Start security monitoring

# Security Testing
grim security-testing vulnerability      # Run vulnerability tests
grim security-testing penetration        # Run penetration tests
grim security-testing compliance         # Test compliance standards
grim security-testing report             # Generate test report

# File Encryption
grim encrypt encrypt                     # Encrypt files
grim encrypt decrypt                     # Decrypt files
grim encrypt key-gen                     # Generate encryption keys
grim encrypt verify                      # Verify encryption

# File Verification
grim verify integrity                    # Verify file integrity
grim verify checksum                     # Verify checksums
grim verify signature                    # Verify digital signatures
grim verify backup                       # Verify backup integrity

# Multi-Language Scanner
grim scanner scan                        # Multi-threaded file system scan
grim scanner info                        # Get file information and summary
grim scanner hash                        # Calculate file hashes (MD5/SHA256)
grim scanner py-scan                     # Python-based security scanning
grim scanner security                    # Security vulnerability scan
grim scanner malware                     # Malware detection scan
grim scanner vulnerability               # Deep vulnerability scan
grim scanner compliance                  # Compliance verification scan
grim scanner report                      # Generate scan report

๐Ÿš€ Performance & Optimization

# High-Performance Compression
grim compression compress                # Compress with Go binary (8 algorithms)
grim compression decompress              # Decompress files
grim compression benchmark               # Run compression benchmarks
grim compression optimize                # Optimize compression
grim compression analyze                 # Analyze compression potential
grim compression list                    # List compressed files
grim compression cleanup                 # Clean temporary files

# System Optimization
grim blacksmith optimize                 # System-wide optimization
grim blacksmith maintain                 # Run maintenance tasks
grim blacksmith forge                    # Create new tools
grim blacksmith list-tools               # List available tools
grim blacksmith run-tool                 # Run specific tool
grim blacksmith schedule                 # Schedule maintenance
grim blacksmith list-scheduled           # List scheduled tasks
grim blacksmith backup-tools             # Backup custom tools
grim blacksmith restore-tools            # Restore tools
grim blacksmith update-tools             # Update all tools
grim blacksmith stats                    # Show forge statistics
grim blacksmith config                   # Configure forge

# Performance Testing
grim performance-test cpu                # Test CPU performance
grim performance-test memory             # Test memory performance
grim performance-test disk               # Test disk I/O
grim performance-test network            # Test network throughput
grim performance-test full               # Run all performance tests
grim performance-test report             # Generate performance report

# System Cleanup
grim cleanup all                         # Clean everything safely
grim cleanup backups                     # Clean old backups
grim cleanup temp                        # Clean temporary files
grim cleanup logs                        # Clean old logs
grim cleanup database                    # Clean database
grim cleanup duplicates                  # Remove duplicate files
grim cleanup report                      # Preview cleanup actions

๐ŸŒ Web Services & APIs

# Web Services
grim web start                           # Start FastAPI web server
grim web stop                            # Stop all web services
grim web restart                         # Restart web server
grim web gateway                         # Start API gateway with load balancing
grim web api                             # Start API application
grim web status                          # Show web services status

# Monitoring Dashboard
grim dashboard start                     # Start web dashboard
grim dashboard stop                      # Stop dashboard
grim dashboard restart                   # Restart dashboard
grim dashboard status                    # Check dashboard status
grim dashboard config                    # Configure dashboard
grim dashboard init                      # Initialize dashboard
grim dashboard setup                     # Run setup wizard
grim dashboard logs                      # View dashboard logs

# API Gateway
grim gateway start                       # Start API gateway
grim gateway stop                        # Stop gateway
grim gateway status                      # Gateway status
grim gateway config                      # Configure gateway

โ˜๏ธ Cloud & Distributed Systems

# Cloud Platform Integration
grim cloud init                          # Initialize cloud platform
grim cloud aws                           # Deploy to AWS
grim cloud azure                         # Deploy to Azure
grim cloud gcp                           # Deploy to Google Cloud
grim cloud serverless                    # Deploy serverless functions
grim cloud comprehensive                 # Full cloud deployment

# Distributed Architecture
grim distributed init                    # Initialize distributed system
grim distributed deploy                  # Deploy microservices
grim distributed scale                   # Scale services
grim distributed balance                 # Configure load balancing
grim distributed monitor                 # Monitor distributed system

# Load Balancing
grim load-balancer start                 # Start load balancer
grim load-balancer stop                  # Stop load balancer
grim load-balancer status                # Check balancer status
grim load-balancer add-server            # Add backend server
grim load-balancer remove-server         # Remove backend server

# File Transfer (Multi-Protocol)
grim transfer upload                     # Upload files to destination
grim transfer download                   # Download files from source
grim transfer resume                     # Resume interrupted transfer
grim transfer verify                     # Verify transfer integrity

๐Ÿงช Testing & Quality Assurance

# Testing Framework
grim testing run                         # Run all tests
grim testing benchmark                   # Run benchmarks
grim testing ci                          # CI/CD test suite
grim testing report                      # Generate test report

# Quality Assurance
grim qa code-review                      # Automated code review
grim qa static-analysis                  # Static code analysis
grim qa security-scan                    # Security scanning
grim qa performance-test                 # Performance testing
grim qa integration-test                 # Integration testing
grim qa report                           # Generate QA report

# User Acceptance Testing
grim user-acceptance run                 # Run acceptance tests
grim user-acceptance generate            # Generate test scenarios
grim user-acceptance validate            # Validate user workflows
grim user-acceptance report              # Generate UAT report

๐Ÿ”ง System Maintenance & Operations

# Central Orchestrator (Scythe)
grim scythe harvest                      # Orchestrate all operations
grim scythe analyze                      # Analyze system state
grim scythe report                       # Generate master report
grim scythe monitor                      # Monitor all operations
grim scythe status                       # Show orchestrator status
grim scythe backup                       # Orchestrated backup operations

# Logging System
grim log init                            # Initialize logging system
grim log setup                           # Setup logger configuration
grim log event                           # Log structured event
grim log metric                          # Log performance metric
grim log rotate                          # Rotate log files
grim log cleanup                         # Clean up old log files
grim log status                          # Show logging system status
grim log tail                            # Tail log file

# Configuration Management
grim config load                         # Load configuration
grim config save                         # Save configuration
grim config get                          # Get configuration value
grim config set                          # Set configuration value
grim config validate                     # Validate configuration

๐Ÿ Python-Specific Integration

FastAPI Integration

from fastapi import FastAPI, BackgroundTasks
from grim_reaper import GrimReaper
import asyncio

app = FastAPI()
grim = GrimReaper()

@app.post("/backup")
async def create_backup(path: str, background_tasks: BackgroundTasks):
    """Create backup asynchronously"""
    background_tasks.add_task(grim.backup, path)
    return {"status": "backup_started", "path": path}

@app.get("/health")
async def health_check():
    """System health endpoint"""
    health = await grim.health_check()
    return {
        "status": health.status,
        "details": health.details,
        "timestamp": health.timestamp
    }

@app.get("/monitor/{path:path}")
async def start_monitoring(path: str):
    """Start monitoring a path"""
    await grim.monitor(path)
    return {"status": "monitoring_started", "path": path}

Django Integration

# settings.py
INSTALLED_APPS = [
    'grim_reaper.django',
    # ... other apps
]

GRIM_REAPER = {
    'BACKUP_PATH': '/opt/backups',
    'COMPRESSION': 'zstd',
    'ENCRYPTION': True,
    'AI_ENABLED': True,
}

# In your Django views
from django.http import JsonResponse
from grim_reaper import GrimReaper
from django.conf import settings
import asyncio

async def backup_view(request):
    grim = GrimReaper(config=settings.GRIM_REAPER)
    
    # Backup Django project with specific exclusions
    await grim.backup(settings.BASE_DIR, exclude=[
        'media/cache',
        '*.pyc',
        '__pycache__',
        'node_modules',
        '.git'
    ])
    
    return JsonResponse({'status': 'backup_completed'})

# Management command
# management/commands/grim_backup.py
from django.core.management.base import BaseCommand
from grim_reaper import GrimReaper
import asyncio

class Command(BaseCommand):
    help = 'Run Grim Reaper backup'
    
    def handle(self, *args, **options):
        async def backup():
            grim = GrimReaper()
            await grim.backup('/opt/django_project')
        
        asyncio.run(backup())

Flask Integration

from flask import Flask, jsonify, request
from grim_reaper import GrimReaper
import asyncio
from concurrent.futures import ThreadPoolExecutor

app = Flask(__name__)
grim = GrimReaper()
executor = ThreadPoolExecutor()

def run_async(coro):
    """Helper to run async functions in Flask"""
    loop = asyncio.new_event_loop()
    try:
        return loop.run_until_complete(coro)
    finally:
        loop.close()

@app.route('/backup', methods=['POST'])
def backup():
    data = request.get_json()
    path = data.get('path')
    
    # Run backup in thread pool
    future = executor.submit(run_async, grim.backup(path))
    
    return jsonify({'status': 'backup_started', 'path': path})

@app.route('/monitor/<path:path>')
def monitor(path):
    executor.submit(run_async, grim.monitor(path))
    return jsonify({'status': 'monitoring_started', 'path': path})

@app.route('/health')
def health():
    health_status = run_async(grim.health_check())
    return jsonify(health_status.to_dict())

Celery Integration

from celery import Celery
from grim_reaper import GrimReaper
import asyncio

app = Celery('grim_tasks')
grim = GrimReaper()

@app.task
def backup_task(path, options=None):
    """Celery task for backups"""
    async def backup():
        return await grim.backup(path, **(options or {}))
    
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    try:
        return loop.run_until_complete(backup())
    finally:
        loop.close()

@app.task
def monitor_task(path):
    """Celery task for monitoring"""
    async def monitor():
        return await grim.monitor(path)
    
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    try:
        return loop.run_until_complete(monitor())
    finally:
        loop.close()

@app.task
def health_check_task():
    """Periodic health check task"""
    async def health():
        return await grim.health_check()
    
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    try:
        result = loop.run_until_complete(health())
        return result.to_dict()
    finally:
        loop.close()

# Schedule periodic tasks
from celery.schedules import crontab

app.conf.beat_schedule = {
    'health-check': {
        'task': 'grim_tasks.health_check_task',
        'schedule': crontab(minute='*/15'),  # Every 15 minutes
    },
    'daily-backup': {
        'task': 'grim_tasks.backup_task',
        'schedule': crontab(hour=2, minute=0),  # Daily at 2 AM
        'args': ('/important/data',)
    },
}

Pandas/Data Science Integration

import pandas as pd
from grim_reaper import GrimReaper
import asyncio

grim = GrimReaper()

# Backup data science projects with intelligent compression
async def backup_data_project(project_path: str):
    """Backup data science project with optimizations"""
    
    # Configure for data science files
    config = {
        'compression': 'zstd',  # Best for mixed data
        'exclude_patterns': [
            '*.pyc', '__pycache__', '.ipynb_checkpoints',
            'wandb/', 'mlruns/', '.git/'
        ],
        'include_large_files': True,  # Include datasets
        'ai_analysis': True,  # Use AI to determine importance
    }
    
    result = await grim.backup(project_path, **config)
    
    # Create backup metadata DataFrame
    backup_info = pd.DataFrame([{
        'backup_id': result.backup_id,
        'timestamp': result.timestamp,
        'size_original': result.size_original,
        'size_compressed': result.size_compressed,
        'compression_ratio': result.compression_ratio,
        'files_backed_up': result.files_count,
        'ai_score': result.ai_importance_score
    }])
    
    return backup_info

# Monitor model training runs
async def monitor_training(experiment_path: str):
    """Monitor ML training with specialized metrics"""
    
    monitor_config = {
        'track_gpu_usage': True,
        'track_memory': True,
        'track_file_changes': True,
        'alert_on_errors': True,
        'save_metrics': True
    }
    
    await grim.monitor(experiment_path, **monitor_config)

# Example usage
async def main():
    # Backup Jupyter notebooks and datasets
    project_backup = await backup_data_project('/opt/ml_project')
    print(f"Backup completed: {project_backup['compression_ratio'].iloc[0]:.2f}x compression")
    
    # Start monitoring training
    await monitor_training('/opt/ml_project/experiments')

if __name__ == "__main__":
    asyncio.run(main())

Jupyter Notebook Integration

# In Jupyter Notebook cells

from IPython.display import display, HTML
from grim_reaper import GrimReaper
import asyncio

# Initialize in notebook
grim = GrimReaper()

# Backup current notebook automatically
async def auto_backup_notebook():
    import os
    notebook_path = os.getcwd()
    
    result = await grim.backup(notebook_path, 
                              include=['*.ipynb', '*.py', '*.csv', '*.pkl'],
                              compression='lz4')  # Fast compression for frequent saves
    
    display(HTML(f"""
    <div style="background-color: #d4edda; padding: 10px; border-radius: 5px;">
        <strong>โœ… Notebook Backed Up</strong><br>
        ID: {result.backup_id}<br>
        Size: {result.size_compressed} (compressed)<br>
        Ratio: {result.compression_ratio:.2f}x
    </div>
    """))

# Create magic command for easy backup
from IPython.core.magic import register_line_magic

@register_line_magic
def grim_backup(line):
    """Magic command: %grim_backup [path]"""
    path = line.strip() or '.'
    asyncio.create_task(grim.backup(path))
    print(f"๐Ÿ—ก๏ธ Backup started for: {path}")

# Monitor notebook execution
async def monitor_notebook():
    """Monitor notebook for changes and errors"""
    import os
    notebook_dir = os.getcwd()
    
    await grim.monitor(notebook_dir, 
                      watch_patterns=['*.ipynb'],
                      auto_backup=True,
                      backup_interval=300)  # Backup every 5 minutes

# Health check widget
from ipywidgets import Button, Output
import asyncio

health_output = Output()

async def check_health(button):
    with health_output:
        health_output.clear_output()
        health = await grim.health_check()
        
        status_color = "green" if health.status == "healthy" else "red"
        print(f"๐Ÿ—ก๏ธ System Status: \033[{status_color}m{health.status.upper()}\033[0m")
        print(f"๐Ÿ“Š Memory Usage: {health.memory_usage}%")
        print(f"๐Ÿ’พ Disk Usage: {health.disk_usage}%")
        print(f"๐Ÿ”„ Last Backup: {health.last_backup}")

health_button = Button(description="Check Health")
health_button.on_click(check_health)

display(health_button, health_output)

Python Code Examples

import asyncio
from grim_reaper import GrimReaper, Config
from pathlib import Path

# Initialize with custom configuration
config = Config(
    backup_path='/opt/backups',
    compression_algorithm='zstd',
    encryption_enabled=True,
    ai_analysis=True,
    max_concurrent_operations=4
)

grim = GrimReaper(config=config)

# Advanced backup with Python-specific options
async def backup_python_project(project_path: str):
    """Backup Python project with intelligent exclusions"""
    
    result = await grim.backup(
        project_path,
        exclude_patterns=[
            '__pycache__/', '*.pyc', '*.pyo', '*.pyd',
            '.pytest_cache/', '.coverage', '.tox/',
            'venv/', 'env/', '.env/', 'node_modules/',
            '.git/', '.svn/', '.hg/',
            '*.log', 'logs/', 'tmp/', 'temp/'
        ],
        include_requirements=True,      # Include requirements.txt analysis
        analyze_dependencies=True,      # Analyze Python dependencies
        create_environment_snapshot=True, # Snapshot virtual environment
        compression='zstd'              # High compression for source code
    )
    
    print(f"โœ… Backup completed:")
    print(f"   ID: {result.backup_id}")
    print(f"   Original size: {result.original_size_mb:.1f} MB")
    print(f"   Compressed size: {result.compressed_size_mb:.1f} MB")
    print(f"   Compression ratio: {result.compression_ratio:.2f}x")
    print(f"   Files backed up: {result.files_count}")
    
    return result

# Monitor Python application with specialized tracking
async def monitor_python_app(app_path: str):
    """Monitor Python application with specialized metrics"""
    
    monitor_config = {
        'track_python_processes': True,
        'track_memory_leaks': True,
        'track_import_errors': True,
        'track_exception_patterns': True,
        'alert_on_crashes': True,
        'log_performance_metrics': True
    }
    
    await grim.monitor(app_path, **monitor_config)
    print(f"๐Ÿ” Monitoring started for Python app: {app_path}")

# Compress with Python syntax validation
async def compress_with_validation(source_path: str, target_path: str):
    """Compress Python files with syntax validation"""
    
    result = await grim.compress(
        source_path,
        target_path,
        algorithm='zstd',
        validate_python_syntax=True,    # Check syntax before compression
        preserve_line_numbers=True,     # Maintain debugging info
        strip_comments=False,           # Keep documentation
        optimize_bytecode=True          # Optimize .pyc files
    )
    
    if result.syntax_errors:
        print(f"โš ๏ธ  Syntax errors found in {len(result.syntax_errors)} files:")
        for error in result.syntax_errors:
            print(f"   {error.file}: {error.message}")
    else:
        print(f"โœ… All Python files validated and compressed successfully")
    
    return result

# Health check with Python-specific diagnostics
async def python_health_check():
    """Comprehensive health check for Python environment"""
    
    health = await grim.health_check(
        check_python_version=True,
        check_pip_packages=True,
        check_virtual_env=True,
        check_import_paths=True,
        check_memory_usage=True,
        check_disk_space=True,
        validate_requirements=True
    )
    
    print(f"๐Ÿ Python Environment Health Check:")
    print(f"   Overall Status: {health.overall_status}")
    print(f"   Python Version: {health.python_version}")
    print(f"   Virtual Environment: {health.venv_status}")
    print(f"   Package Issues: {len(health.package_issues)}")
    print(f"   Memory Usage: {health.memory_usage}%")
    print(f"   Disk Space: {health.disk_free_gb:.1f} GB free")
    
    if health.recommendations:
        print(f"\n๐Ÿ’ก Recommendations:")
        for rec in health.recommendations:
            print(f"   โ€ข {rec}")
    
    return health

# Example usage
async def main():
    """Main example demonstrating Python-specific features"""
    
    # Backup a Python project
    project_path = "/opt/my_python_project"
    backup_result = await backup_python_project(project_path)
    
    # Start monitoring
    await monitor_python_app(project_path)
    
    # Compress source code
    await compress_with_validation(
        f"{project_path}/src",
        f"/opt/backups/{backup_result.backup_id}_src.zst"
    )
    
    # Check system health
    health = await python_health_check()
    
    # AI-powered analysis
    if health.overall_status == "healthy":
        analysis = await grim.ai_analyze(project_path)
        print(f"\n๐Ÿค– AI Analysis:")
        print(f"   Code Quality Score: {analysis.quality_score}/100")
        print(f"   Backup Priority: {analysis.backup_priority}")
        print(f"   Optimization Suggestions: {len(analysis.suggestions)}")

if __name__ == "__main__":
    asyncio.run(main())

Testing Integration

import pytest
from grim_reaper import GrimReaper
import tempfile
import asyncio

@pytest.fixture
async def grim():
    """Pytest fixture for Grim Reaper"""
    with tempfile.TemporaryDirectory() as temp_dir:
        config = Config(backup_path=temp_dir, encryption_enabled=False)
        yield GrimReaper(config=config)

@pytest.mark.asyncio
async def test_backup_functionality(grim):
    """Test backup functionality"""
    with tempfile.TemporaryDirectory() as source_dir:
        # Create test files
        test_file = Path(source_dir) / "test.py"
        test_file.write_text("print('Hello, World!')")
        
        # Perform backup
        result = await grim.backup(source_dir)
        
        assert result.success
        assert result.files_count == 1
        assert result.compression_ratio > 1.0

@pytest.mark.asyncio
async def test_health_check(grim):
    """Test health check functionality"""
    health = await grim.health_check()
    
    assert health.status in ['healthy', 'warning', 'critical']
    assert health.timestamp is not None
    assert isinstance(health.details, dict)

# Performance testing
@pytest.mark.asyncio
@pytest.mark.performance
async def test_backup_performance(grim):
    """Test backup performance"""
    import time
    
    with tempfile.TemporaryDirectory() as source_dir:
        # Create multiple test files
        for i in range(100):
            test_file = Path(source_dir) / f"test_{i}.py"
            test_file.write_text(f"# Test file {i}\nprint('File {i}')" * 100)
        
        start_time = time.time()
        result = await grim.backup(source_dir)
        end_time = time.time()
        
        backup_time = end_time - start_time
        
        assert result.success
        assert backup_time < 10.0  # Should complete within 10 seconds
        assert result.compression_ratio > 2.0  # Should achieve good compression

๐Ÿ”— Links & Resources

๐Ÿ“„ License

By using this software you agree to the official license available at https://grim.so/license


๐Ÿ—ก๏ธ GRIM REAPER
"When data death comes knocking, resurrection is just a command away"

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

grim-reaper-1.0.36.tar.gz (80.5 kB view details)

Uploaded Source

Built Distribution

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

grim_reaper-1.0.36-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file grim-reaper-1.0.36.tar.gz.

File metadata

  • Download URL: grim-reaper-1.0.36.tar.gz
  • Upload date:
  • Size: 80.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for grim-reaper-1.0.36.tar.gz
Algorithm Hash digest
SHA256 ddec11e21de553984dc30db69603a3f96cf9fdd2c0fe126f74df96cef1bcd30a
MD5 c026a959f41a8ab85a9f8cf035af9edb
BLAKE2b-256 05db0067be311cc9346fcd6d3f85fdf0c89c875f04920787759c627b22f28786

See more details on using hashes here.

File details

Details for the file grim_reaper-1.0.36-py3-none-any.whl.

File metadata

  • Download URL: grim_reaper-1.0.36-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for grim_reaper-1.0.36-py3-none-any.whl
Algorithm Hash digest
SHA256 0e2761edd79617d00bb6f735bfdecdf8f064eee9549321ff78d59c7b399f14b0
MD5 dc468d345fca440d1ebcbfe2048e5061
BLAKE2b-256 540b138721a3778545f28e787860e96c95381207d82df43b2df04a1cedbd1c40

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