PictoPy is an advanced desktop gallery application that combines the power of Tauri, React, and Rust for the frontend with a Python backend for sophisticated image analysis and management.
- First, join the Discord Server (Go to Projects->PictoPy) to chat with everyone.
- For detailed setup instructions, coding guidelines, and the contribution process, please check out our CONTRIBUTING.md file.
- Tauri: Enables building the desktop application
- React: Used for creating the user interface
- Rust: Powers the backend, which the frontend communicates with through Tauri's API
- FastAPI: Serves as the API framework
- SQLite: Database for storing metadata and embeddings
- YOLO: Used for object detection
- FaceNet: Generates face embeddings
- ONNX Runtime: Runs the models efficiently
- DBSCAN: Performs clustering for face embeddings
Handles file system operations and provides a secure bridge between the frontend and local system.
- Smart tagging of photos based on detected objects, faces, and their recognition
- Traditional gallery features of album management
- Advanced image analysis with object detection and facial recognition
- Privacy-focused design with offline functionality
- Efficient data handling and parallel processing
- Smart search and retrieval
- Cross-platform compatibility
| Component | Technology |
|---|---|
| Frontend | React |
| Desktop Framework | Tauri |
| Rust Backend | Rust |
| Python Backend | Python |
| Database | SQLite |
| Image Processing | OpenCV, ONNX Runtime |
| Object Detection | YOLOv11 |
| Face Recognition | FaceNet |
| API Framework | FastAPI |
| State Management | Redux Toolkit |
| Styling | Tailwind CSS |
| Routing | React Router |
| UI Components | ShadCN |
| Build Tool | Vite |
| Type Checking | TypeScript |
Our Code of Conduct: CODE_OF_CONDUCT.md