grow food, not lawn.

Skip to content
  • Russell Ballestrini's avatar
    Add filevault system with async wrapper and convert sync ops to async · bc11c516
    Russell Ballestrini authored
    New files:
    - filevault.py: Hash-based file storage with use_pairs option (v1.1.0)
    - async_filevault.py: Async wrapper using asyncio.to_thread()
    - domain_vault.py: Triple vault system for web archival (HTML, Media, Linkpeek)
    - screenshot.py: Async screenshot capture using uri2png
    - tests/unit/: Comprehensive test suite (85 tests)
    
    Sync-to-async conversions:
    - storage.py: Wrap Path operations in asyncio.to_thread()
    - domain_vault.py: Wrap exists(), mkdir(), rglob(), os.walk() in asyncio.to_thread()
    - screenshot.py: Wrap read_bytes(), write_bytes(), unlink() in asyncio.to_thread()
    
    All sync filesystem operations now run in thread pool to avoid blocking async loop.
    bc11c516