Research-Stack/4-Infrastructure/NoDupeLabs/wiki/Architecture/Overview.md

1.3 KiB

Architecture Overview

System Design

NoDupeLabs uses a plugin-based architecture with a modular core system.

Core Components

nodupe/core/

Module Purpose
loader.py File loading and processing
config.py Configuration management
database/ SQLite database operations
plugin_system/ Plugin lifecycle management
scan/ File scanning utilities

nodupe/plugins/

Plugin Type Purpose
database/ Data persistence
similarity/ Content comparison
time_sync/ Timestamp synchronization
commands/ CLI commands
ml/ Machine learning
gpu/ GPU acceleration

Data Flow

1. User runs CLI command
   ↓
2. Command validates input
   ↓
3. Core system scans files
   ↓
4. Plugins process results
   ↓
5. Database stores metadata
   ↓
6. Results displayed to user

Plugin System

Plugins extend functionality through a standardized interface:

class SimilarityCommandPlugin:
    name: str
    def execute(self, args) -> Result:
        ...

Testing

  • pytest-based test suite
  • 1023 tests collected
  • Coverage: 16.5%
  • Docstring coverage: 100%

See Also