Papyrus is a lightweight and secure PDF management tool that helps you seamlessly add or remove passwords from PDF files. Built with a blazing-fast frontend using React + Vite and a high-performance FastAPI backend, Papyrus ensures privacy and ease of use β right from your browser.
- π Add Password: Secure your PDF files with a password in just one click.
- π Remove Password: Strip password protection from encrypted PDF files.
- β‘ Fast & Lightweight: Optimized for speed with Vite + React and FastAPI.
- π‘οΈ No File Storage: All files are processed in memory β nothing is stored on disk.
- π― User-Friendly UI: Simple drag-and-drop interface for quick interaction.
Ensure you have the following installed:
- Node.js: v22 or later
- Python: v3.11 or later
- Poetry: for managing Python dependencies
- Docker (optional, for containerized setup)
# Navigate to backend folder
cd backend
# Install dependencies
poetry install
# Start FastAPI server
poetry run uvicorn app.main:app --reload --port 5000Server will be available at: http://localhost:5000/docs
# Navigate to frontend folder
cd frontend
# Install dependencies
npm install
# Start development server
npm run devFrontend runs at: http://localhost:3000
docker-compose up --buildThis starts both the FastAPI backend and React frontend.
papyrus/
βββ backend/ # FastAPI backend
β βββ app/
β β βββ api/ # API routes
β β βββ utils/ # Common utility functions
β β βββ models/ # Models
β β βββ config/ # Settings, config
β β βββ services/ # PDF encryption/decryption logic
β β βββ middleware/ # Middleware
β β βββ main.py # App entry point
β βββ tests/ # Backend unit tests
β βββ pyproject.toml # Poetry config
β βββ Dockerfile # Backend Docker setup
β
βββ frontend/ # React + Vite frontend
β βββ src/ # Main app code
β βββ public/ # Static assets
β βββ vite.config.ts # Vite configuration
β βββ Dockerfile # Frontend Docker setup
β
βββ compose.yml # Multi-service Docker config
βββ README.md # You're here!Swagger docs are auto-generated and available at:
http://localhost:5000/docsThis project is licensed under the MIT License.
- Powered by FastAPI and React
- PDF operations handled by PyPDF2
- UI inspired by minimal productivity apps like CleanShot and Arc Browser.
Built with π by Tejas.