Smart local file search engine that understands your files
Project description
Find what you mean, not just what you say. File Brain runs locally on your machine to index and understand your files.
What is File Brain?
File Brain is a desktop application that helps you find files instantly using natural language. Instead of remembering exact filenames, you can ask questions like "flight ticket invoice", and File Brain uses semantic search to understand the meaning and show the relevant files.
Key Features
- 🧠 Find what you mean: Uses advanced Semantic Search -in addition to full text search- to understand the intent behind your query (e.g., search for "worker", find documents mentioning "employee").
- 📝 Typo Resistance: Robust against typos. Search for "iphone" even if you typed "ipnone".
- 📄 Supports Everything: Extracts the content of over 1000 file formats (PDF, Word, Excel, PowerPoint, images, archives, and more).
- 🌍 Cross-Language Search: Search in one language to find documents written in another (e.g., search for "Chair", find documents mentioning "Silla" -in Spanish-).
- 🚀 Fast Matching: Search results are shown within milliseconds, not minutes.
- 👁️ OCR Support: Automatically extracts text from screenshots, and scanned documents.
- ⚡ Auto-Indexing: Detects changes in real-time and updates the index instantly.
- 🛡️ Read-Only & Safe: File Brain only reads your files to index them. It never modifies, deletes, or alters your data in any way.
- 🔒 Privacy First: All indexing and processing happens 100% locally on your machine. Your data never leaves your computer.
Why File Brain?
Most search tools look for exact matches of filenames or content. File Brain goes further by understanding meaning, tolerating typos, and extracting text from images. See how it compares to other popular tools:
| App Name | Price | OS | Indexing | Search Speed | File Content Search | Fuzzy Search | Semantic Search | OCR |
|---|---|---|---|---|---|---|---|---|
| Everything | Free | Windows | No | Instant | No | Wildcards/Regexp | No | No |
| Listary | Free | Windows | No | Instant | No | Yes | No | No |
| Alfred | Free | MacOS | No | Very fast | No | Yes | No | Yes |
| Copernic | 25$/yr | Windows | Yes | Fast | 170+ formats | Partial | No | Yes |
| DocFetcher | Free | Cross-platform | Yes | Fast | 32 formats | No | No | No |
| Agent Ransack | Free | Windows | No | Slow | PDF and Office | Wildcards/Regexp | No | No |
| File Brain | Free | Cross-platform | Yes | Very fast | 1000+ formats | Yes | Yes | Yes |
Prerequisites
- Python 3.11 or higher
- Docker (Must be installed and running)
Installation
Install File Brain easily using pip:
pip install -U file-brain
Getting Started
-
Run the App:
file-brain
-
Initialization Wizard: On the first run, a simple wizard will guide you:
- System Check: Verifies Docker is running.
- Download Components: Downloads the necessary search services.
- Initialize Engine: Starts the background search components.
- Database Migration: checks and updates the database schema if needed.
- Download Embedding Model: Fetches the embedding model for intelligent search.
- Finalize Setup: Initializes the search engine database.
The easy-to-use setup wizard that guides you through downloading models and initializing the search database.
[!TIP] If the automatic wizard fails to start the services or download the models, see the Manual Setup section below.
-
Select Folders: Choose the folders you want to index via the dashboard settings.
-
Indexing:
- Manual Indexing: Performs a deep scan of all files. Great for initial setup.
- Auto-Indexing: Watches for new or changed files and processes them instantly.
[!NOTE] File Brain must be running for the background indexing to process your files.
Visualizing the Interaction
Dashboard
See all your indexed files, storage usage, and recently indexed files at a glance.
Semantic Search
Search naturally, like "Flight ticket" to find relevant documents even if the filename is different.
PRO Version
Want more power? The PRO version is on the way with advanced capabilities:
- Chat with Files: Ask questions and get answers from your documents.
- Search by File: Find semantically similar files.
- Video Search: Find scenes in your videos.
- Cloud & Network Drives: Connect Google Drive, Dropbox, Box, and network drives.
Check out the website to learn more.
Manual Setup
If the initialization wizard fails, you can manually set up the background services:
1. Prepare Embedding Model Directory
File Brain expects the embedding model to be in a specific system directory. Create it manually:
Linux / macOS:
mkdir -p ~/.local/share/file-brain/typesense-data/models/ts_paraphrase-multilingual-mpnet-base-v2
Windows (PowerShell):
New-Item -Path "$env:LOCALAPPDATA\file-brain\typesense-data\models\ts_paraphrase-multilingual-mpnet-base-v2" -ItemType Directory -Force
2. Download the Model Files
You can browse the files in the Hugging Face repository. Download these three files into the directory created above:
3. Pull Docker Images
Run the following commands to manually pull the required services. Choose the Typesense image based on your system capabilities:
For CPU (Default, works on all systems):
docker pull hamza5/tika:latest-full
docker pull typesense/typesense:29.0
For NVIDIA GPU (Faster indexing):
docker pull hamza5/tika:latest-full
docker pull hamza5/typesense-gpu:29.0-cuda11.8.0-cudnn8-runtime-ubuntu22.04
[!NOTE] File Brain automatically detects if you have an NVIDIA GPU and the necessary Docker runtime. You can override this behavior by setting the
FILEBRAIN_GPU_MODEenvironment variable toforce-gpu,force-cpu, orauto(default).
Note: Once the images are pulled and the model files are in place, File Brain will handle starting the services automatically on the next run.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file file_brain-0.1.27.tar.gz.
File metadata
- Download URL: file_brain-0.1.27.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21235425c9521e5ee3619377335afa8d7877a2008528e051ce051afded3ef1df
|
|
| MD5 |
d3dbd33c498ed60e4ed277c45e02cf79
|
|
| BLAKE2b-256 |
f0f15296b5bd03cec1ade021b989968036ea2edc728dfcd952161b02f0fb6230
|
Provenance
The following attestation bundles were made for file_brain-0.1.27.tar.gz:
Publisher:
release.yml on Hamza5/file-brain
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
file_brain-0.1.27.tar.gz -
Subject digest:
21235425c9521e5ee3619377335afa8d7877a2008528e051ce051afded3ef1df - Sigstore transparency entry: 1109730117
- Sigstore integration time:
-
Permalink:
Hamza5/file-brain@53b62509fa1683b7c98feab86a2fd4915b1f14ab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Hamza5
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@53b62509fa1683b7c98feab86a2fd4915b1f14ab -
Trigger Event:
push
-
Statement type:
File details
Details for the file file_brain-0.1.27-py3-none-any.whl.
File metadata
- Download URL: file_brain-0.1.27-py3-none-any.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e6c3998e73c046505d38bddcb635a68e7f120fa67f84dbf5a0bc51a7c001869
|
|
| MD5 |
2f247e7e0115bbc1e1d14023cd3df1a2
|
|
| BLAKE2b-256 |
ac750eefb932c541fb2e00943281a1513e14082a9b8a6766543063ae8611e644
|
Provenance
The following attestation bundles were made for file_brain-0.1.27-py3-none-any.whl:
Publisher:
release.yml on Hamza5/file-brain
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
file_brain-0.1.27-py3-none-any.whl -
Subject digest:
3e6c3998e73c046505d38bddcb635a68e7f120fa67f84dbf5a0bc51a7c001869 - Sigstore transparency entry: 1109730124
- Sigstore integration time:
-
Permalink:
Hamza5/file-brain@53b62509fa1683b7c98feab86a2fd4915b1f14ab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Hamza5
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@53b62509fa1683b7c98feab86a2fd4915b1f14ab -
Trigger Event:
push
-
Statement type: