Google Drive Guides
Work in Progress
Detailed guides for the Google Drive (syft-client) backend are coming soon.
Quick Start
See the Google Colab Quickstart tutorial for a complete walkthrough of using syft-flwr with Google Drive.
What is syft-client?
syft-client enables federated learning across a decentralized, peer-to-peer network using existing file sync services as transport layers. Unlike centralized approaches, syft-client connects participants directly through services they already trust.
Core principles:
- Peer-to-peer - Direct communication between datasites, no central server required
- Transport-agnostic - Works with Google Drive, Dropbox, Microsoft 365, or any file sync service
- Offline-first - Datasites can go offline/online freely; messages are cached until delivery
- File-first - All state is described by files synced between peers
Why Google Drive?
Google Drive is the default transport layer because:
- Zero setup - Just a Google account, no infrastructure to maintain
- Colab-native - Works seamlessly in Google Colab notebooks
- Trusted by organizations - Many already use Google Workspace
- Free tier available - Get started without any cost
Why P2P?
The peer-to-peer architecture offers key advantages:
- Privacy - Email addresses and identities are not exposed to a central server
- No single point of failure - No dependency on OpenMined infrastructure
- Production-ready - Suitable for real-world deployments, not just prototyping
Key Differences from SyftBox
| Feature | syft-client (P2P) | SyftBox (Centralized) |
|---|---|---|
| Architecture | Peer-to-peer | Central sync server |
| Transport | Google Drive, Dropbox, etc. | OpenMined infrastructure |
| Privacy | Emails not exposed publicly | Emails visible on network |
| Setup | Google account only | SyftBox client installation |
| UI | Colab notebooks | RDS Dashboard |
| API | syft_client | syft_rds |
| Production-ready | Yes | Yes |
Coming Soon
- Data Owner Guide: Creating datasets with syft-client
- Data Scientist Guide: Submitting jobs via syft-client
- API Reference: syft-client vs syft-rds comparison