Skip to content

About

Local, no-cloud file metadata viewer/editor with a browser UI - EXIF, audio tags, PDFs, checksums, timestamps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🔍 File Insights

A small tool you run on your own PC to view and edit file metadata through a friendly browser interface — no cloud, nothing leaves your machine.

Point it at a folder and it lets you:

  • Browse your files with sizes, types and icons
  • View full metadata for any file:
    • created / modified / accessed dates
    • size, MIME type, permissions, owner, symlink targets
    • MD5 / SHA-1 / SHA-256 checksums (computed on demand)
    • Photos — dimensions, camera make/model, GPS location, EXIF dates
    • Music — title, artist, album, duration, bitrate (MP3, FLAC, OGG, M4A…)
    • PDFs — title, author, subject, page count
    • Office docs — author, title, revision (docx / xlsx / pptx / odt…)
  • Edit the editable bits:
    • rename files
    • change modified and accessed timestamps (all platforms) and the created timestamp on Windows
    • change POSIX permissions (Linux / macOS)
    • edit EXIF fields (description, artist, copyright, date taken…)
    • remove GPS location from photos, or strip all EXIF in one click
    • edit audio tags and PDF document info

Quick start

You need Python 3.9+ installed.

git clone https://github.com/exotic209093/file-insights.git
cd file-insights
pip install -r requirements.txt   # flask + all optional format handlers
python -m file_insights

Your browser opens at http://127.0.0.1:8765 showing your home folder.

Options

python -m file_insights serve --root "D:\Photos"   # browse a specific folder
python -m file_insights serve --port 9000          # different port
python -m file_insights serve --no-browser         # don't auto-open a browser
python -m file_insights inspect path/to/file.jpg   # print metadata as JSON

Optional dependencies

Only Flask is required. Each format handler switches on when its library is installed — the UI tells you what to install if a section is unavailable:

Feature Install
Image EXIF view/edit pip install Pillow piexif
Audio tags pip install mutagen
PDF document info pip install pypdf
Office doc props built in (nothing needed)

Platform notes

  • Modified / accessed dates are editable everywhere.
  • Created date is editable on Windows only — Linux and macOS don't expose an API to change a file's birth time. On Linux the "created" value shown is actually the inode-change time (the filesystem doesn't always store a true creation time), and the UI labels it as such.
  • Permissions editing (octal chmod) is available on Linux / macOS.
  • EXIF editing works on JPEG and TIFF; other image formats are view-only.

Safety

  • The server binds to 127.0.0.1 only — nothing on your network can reach it.
  • Browsing is confined to the root folder you start it with (your home folder by default); requests outside it are rejected.
  • Metadata edits change your real files. There is no undo — if you're experimenting, work on copies.

Development

pip install -e ".[all,dev]"
pytest

The code layout:

file_insights/
├── __main__.py      # CLI entry point (serve / inspect)
├── server.py        # Flask app + JSON API
├── metadata.py      # core stat-based metadata (stdlib only)
├── editors.py       # rename, timestamps, permissions
├── handlers/        # per-format metadata (EXIF, audio, PDF, Office)
└── static/          # browser UI (vanilla HTML/CSS/JS)

About

Local, no-cloud file metadata viewer/editor with a browser UI - EXIF, audio tags, PDFs, checksums, timestamps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages