A production-ready, S3-compatible object store with four independent implementations in Python, Go, Rust, and Zig.
BleepStore is a clean-room implementation of the AWS S3 API, designed to run in two modes:
- Embedded mode: Single-node, minimal resources, SQLite-backed metadata
- Cluster mode: Multi-node, Raft-based consensus (planned)
All four implementations share the same API contract and pass the same E2E test suite.
- Full S3 API compatibility (buckets, objects, multipart uploads, presigned URLs, ACLs)
- AWS Signature V4 authentication
- Multiple storage backends (local filesystem, AWS S3, GCP Cloud Storage, Azure Blob)
- Prometheus metrics and health endpoints
- OpenAPI/Swagger UI documentation
- Crash-only design for reliability
Choose your preferred implementation:
| Implementation | Port | Language | README | Deployment Guide |
|---|---|---|---|---|
| Python | 9010 | Python 3.11+ | python/README.md | python/docs/DEPLOYMENT.md |
| Go | 9011 | Go 1.21+ | golang/README.md | golang/docs/DEPLOYMENT.md |
| Rust | 9012 | Rust 1.75+ | rust/README.md | rust/docs/DEPLOYMENT.md |
| Zig | 9013 | Zig 0.15+ | zig/README.md | zig/docs/DEPLOYMENT.md |
cd python
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[dev]"
bleepstore --config ../bleepstore.example.yaml --port 9010cd golang
go build -o bleepstore ./cmd/bleepstore
./bleepstore --config ../bleepstore.example.yaml --port 9011cd rust
cargo build --release
./target/release/bleepstore --config ../bleepstore.example.yaml --bind 0.0.0.0:9012cd zig
zig build -Doptimize=ReleaseFast
./zig-out/bin/bleepstore --config ../bleepstore.example.yaml --port 9013All implementations use the same YAML configuration format. See bleepstore.example.yaml for a complete example.
server:
host: "0.0.0.0"
port: 9000
region: "us-east-1"
auth:
access_key: "bleepstore"
secret_key: "bleepstore-secret"
metadata:
engine: "sqlite"
sqlite:
path: "./data/metadata.db"
storage:
backend: "local"
local:
root_dir: "./data/objects"Each implementation includes unit tests and shares a common E2E test suite:
# Run E2E tests against a running server
BLEEPSTORE_ENDPOINT=http://localhost:9010 tests/run_tests.shWhen running, access the Swagger UI at http://localhost:PORT/docs and OpenAPI spec at http://localhost:PORT/openapi.json.
bleepstore/
├── python/ # Python implementation
├── golang/ # Go implementation
├── rust/ # Rust implementation
├── zig/ # Zig implementation
├── specs/ # S3 API specifications
├── tests/ # Shared E2E tests
├── schemas/ # OpenAPI schemas
└── benchmarking/ # Performance benchmarks
GNU Affero General Public License v3.0 (AGPLv3). See LICENSE for details.