Skip to content

Latest commit

 

History

History
139 lines (102 loc) · 3.89 KB

File metadata and controls

139 lines (102 loc) · 3.89 KB

MetaLens

Version License Platform

MetaLens — Universal File Metadata Manager

Universal File Metadata Manager — read, edit, delete and compare metadata across all major file formats.


Features

  • File-manager UI: folder tree + file list + metadata detail panel
  • All major formats: images (JPEG/PNG/TIFF/WebP/RAW), audio (MP3/FLAC/OGG/M4A/WAV), video (MP4/MKV/MOV), documents (PDF/DOCX/XLSX/PPTX/DOC/XLS), any file (filesystem metadata)
  • Full operations: read, edit, delete individual fields, compare/diff two files
  • Atomic writes: temp-file + rename — no file corruption on failure
  • Undo stack: 50 operations per session
  • File integrity hashes: on-demand MD5 / SHA-1 / SHA-256 / SHA-512 / BLAKE2b with one-click copy
  • Cyber dark theme: professional dark UI with cyan/blue accents
  • Compiled binaries: no Python or Node.js required to run

Download

See Releases for pre-built binaries:

Platform Download
Windows 11 MetaLens-vX.Y.Z-Setup-Windows.exe
Linux (deb) MetaLens-vX.Y.Z-Linux.deb
Linux (rpm) MetaLens-vX.Y.Z-Linux.rpm
Linux (tar) MetaLens-vX.Y.Z-Linux.tar.gz

Build from Source

Prerequisites

  • Python 3.11–3.13
  • Node.js 20+
  • npm 10+

Steps

# 1. Clone the repository
git clone https://github.com/YOUR_USERNAME/MetaLens.git
cd MetaLens

# 2. Install Python dependencies
cd python
python -m venv .venv
source .venv/bin/activate        # Linux
# .venv\Scripts\activate         # Windows
pip install -r requirements.txt

# 3. Install Node dependencies
cd ../electron && npm install
cd ../frontend && npm install

# 4. Run in development mode
cd ../electron && npm start

# 5. Build for production
cd python && pyinstaller main.py --onefile --name metalens-sidecar
cd ../frontend && npm run build
cd ../electron && npm run make

Supported Formats

Category Formats Read Write
Images JPEG, PNG, TIFF, BMP, GIF, WebP
Images (RAW) CR2, NEF, ARW, DNG
Audio MP3, FLAC, OGG, M4A, WAV, AIFF, WMA, APE, Opus
Video MP4, MOV
Video MKV, AVI
Documents PDF
Office DOCX, XLSX, PPTX
Office (legacy) DOC, XLS, PPT
Any file Filesystem timestamps, permissions, xattr
Other Hundreds of formats via hachoir

File Integrity

Compute cryptographic hashes on demand from the Metadata tab — no impact on browsing performance:

Algorithm Notes
MD5 Legacy, widely used for checksums
SHA-1 Legacy, used by Git and many tools
SHA-256 Modern standard, recommended
SHA-512 High-security workloads
BLAKE2b Fast modern algorithm, built into Python

Architecture

Electron Main (Node.js)
    ├── Spawns Python sidecar (FastAPI, localhost only)
    ├── Manages window, native menus, file dialogs
    └── IPC bridge (contextBridge) ↔ React renderer

Python Sidecar (FastAPI)
    ├── /list   — directory listing with handler detection
    ├── /read   — full metadata extraction
    ├── /write  — atomic metadata write-back
    ├── /delete — field removal
    └── /diff   — metadata comparison

React Frontend (Vite + TailwindCSS)
    ├── FolderPanel  — folder tree navigation
    ├── FilePanel    — file list with metadata summary
    └── DetailPanel  — View / Edit / Diff tabs

License

MIT License — © 2026 Graziano Mariella

See LICENSE for full text.


Credits

Developed by Graziano Mariella.