WeftKitFile
File & Object Storage
Content-addressable file storage with deduplication, streaming I/O, metadata indexes, MIME detection, thumbnail generation, and S3-compatible API.
64-byte download latency
Key Features
What makes WeftKitFile stand out.
Content-Addressable Storage
Files identified by SHA-256 content hash. Automatic deduplication — identical files stored exactly once.
Streaming I/O
Zero-copy streaming with async I/O. Multi-part uploads with parallel chunk transfer. Range requests for partial downloads.
Metadata Indexes
Rich metadata indexing: filename, MIME type, size, timestamps, tags, custom attributes. Query files like a database.
MIME Detection
Content-based MIME type detection (not just filename). Automatic categorization of images, videos, documents, archives.
Thumbnail Generation
On-demand thumbnail generation for images and video frames. Configurable size presets. WebP output for web delivery.
S3-Compatible API
Full S3 REST API compatibility. Existing S3 clients work without modification. Presigned URLs for secure temporary access.
Performance Targets
Real numbers from Criterion benchmarks on reference hardware.
Wire Protocol
WeftKitFile supports the S3 REST API protocol. Your existing tools just work.
Get Started in Seconds
Add WeftKitFile to your Rust project and start querying.
use weftkitfile::prelude::*;
// Open or create a database
let db = Database::open("my_app.db")?;
// Use the module API
let result = db.query("SELECT * FROM users WHERE active = true")?;
for row in result.rows() {
println!("{:?}", row);
}Where to Use It
Embedded media storage for mobile apps
Document management systems
Edge CDN origin storage