All 124 Dependencies
Every package Papra depends on, ranked by repo health score.
Papra is a self-hosted document management and archiving platform built for individuals and small teams who need a reliable, privacy-respecting place to store important documents for the long term. Think receipts, warranties, scanned contracts, tax documents — anything you need to store now and retrieve years later. Its minimalist philosophy means it stays out of your way while giving you powerful tools to stay organised.
Documents reach Papra in multiple ways: drag-and-drop uploads through the web interface, forwarding email attachments to a unique generated address, or dropping files into a monitored folder on your server. Once ingested, Papra's built-in OCR engine (powered by the project's own `@papra/lecture` package) extracts readable text from PDFs, images, and scanned documents, making every page searchable through a custom query language that supports filters, boolean operators, and tag-based qualifiers.
The backend is built on HonoJS and Drizzle ORM with SQLite (or LibSQL/Turso for production), with CadenceMQ — a job queue built by the Papra team specifically for self-hosted scenarios — handling background ingestion tasks without requiring Redis or RabbitMQ. Storage is pluggable across local filesystem, S3-compatible object stores, and Azure Blob Storage, with optional per-document AES encryption using key-encryption-key (KEK) rotation built directly into the storage layer.
Team and household use is covered through organisations: create a shared workspace, invite members with role-based access, and apply automated tagging rules that categorise documents based on their content, filename, or source. The project ships REST API endpoints, an official CLI, a JavaScript SDK, and webhook support, making it straightforward to integrate Papra into existing automation workflows.