Skip to main content

Smart local file search engine that understands your files

Project description

File Brain Logo

File Brain

Your Intelligent Local File Finder

CI Release PyPI version PyPI - Python Version License: GPL v3

Find what you mean, not just what you say. File Brain runs locally on your machine to index and understand your files.

File Brain Demo

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

  1. Run the App:

    file-brain
    
  2. Initialization Wizard: On the first run, a simple wizard will guide you:

    1. System Check: Verifies Docker is running.
    2. Download Components: Downloads the necessary search services.
    3. Initialize Engine: Starts the background search components.
    4. Database Migration: checks and updates the database schema if needed.
    5. Download Embedding Model: Fetches the embedding model for intelligent search.
    6. Finalize Setup: Initializes the search engine database.

    Initialization Wizard 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.

  1. Select Folders: Choose the folders you want to index via the dashboard settings.

  2. 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.

Dashboard Overview

Semantic Search

Search naturally, like "Flight ticket" to find relevant documents even if the filename is different.

Semantic Search

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_MODE environment variable to force-gpu, force-cpu, or auto (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

file_brain-0.1.27.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

file_brain-0.1.27-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

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

Hashes for file_brain-0.1.27.tar.gz
Algorithm Hash digest
SHA256 21235425c9521e5ee3619377335afa8d7877a2008528e051ce051afded3ef1df
MD5 d3dbd33c498ed60e4ed277c45e02cf79
BLAKE2b-256 f0f15296b5bd03cec1ade021b989968036ea2edc728dfcd952161b02f0fb6230

See more details on using hashes here.

Provenance

The following attestation bundles were made for file_brain-0.1.27.tar.gz:

Publisher: release.yml on Hamza5/file-brain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for file_brain-0.1.27-py3-none-any.whl
Algorithm Hash digest
SHA256 3e6c3998e73c046505d38bddcb635a68e7f120fa67f84dbf5a0bc51a7c001869
MD5 2f247e7e0115bbc1e1d14023cd3df1a2
BLAKE2b-256 ac750eefb932c541fb2e00943281a1513e14082a9b8a6766543063ae8611e644

See more details on using hashes here.

Provenance

The following attestation bundles were made for file_brain-0.1.27-py3-none-any.whl:

Publisher: release.yml on Hamza5/file-brain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page