Requirements
- Python: 3.10 or higher (3.12 recommended for job execution)
- Google Account: Required for Google Drive sync
- Operating System: Linux, macOS, or Windows
Python 3.12 is used for job execution virtual environments. While Syft Client works with Python 3.10+, jobs will run in Python 3.12 environments.
Install with pip
The simplest way to install Syft Client:google-api-python-client- Google Drive APIgoogle-authandgoogle-auth-oauthlib- OAuth authenticationrich- Terminal UIpandasandpyarrow- Data handlingpydantic-settings- Configurationclick- CLI toolssyft-bg,syft-job,syft-dataset,syft-permissions,syft-perm- Core packages
Install with uv (recommended)
uv is a fast Python package installer that’s also used for job execution:
uv is significantly faster than pip and is required for job execution. Installing it now will make your development workflow smoother.Optional dependencies
Syft Client has optional packages for specific features:Dataset management
Install the datasets package for enhanced dataset operations:syft-dataset for dataset creation, sharing, and management.
Job execution
Install the job package for advanced job features:syft-job for job submission and execution.
All optional dependencies
Install everything:Most users won’t need optional dependencies since the core packages (
syft-job, syft-dataset) are already included by default. These extras are mainly for future compatibility when we add lazy imports.Development installation
For contributing to Syft Client or working with the source code:Install in editable mode
Verify installation
Confirm Syft Client is installed correctly:Set up Google Drive credentials
After installation, you’ll need OAuth credentials to use Google Drive sync:Create a Google Cloud project
- Go to the Google Cloud Console
- Create a new project (e.g., “My Syft Client”)
- Enable the Google Drive API:
- Navigate to APIs & Services > Library
- Search for “Google Drive API”
- Click Enable
Create OAuth 2.0 credentials
- Go to APIs & Services > Credentials
- Click Create Credentials > OAuth client ID
- Configure the OAuth consent screen if prompted:
- Choose External user type
- Fill in application name (e.g., “Syft Client”)
- Add your email as a test user
- Select Desktop app as the application type
- Name it (e.g., “Syft Client Desktop”)
- Click Create
Test your setup
Verify everything works with a test login:The first login will:
- Open your browser for Google OAuth authorization
- Ask you to grant Google Drive permissions
- Create a SyftBox folder in your home directory
- Initialize sync infrastructure
Troubleshooting
ModuleNotFoundError: No module named ‘syft_client’
Make sure you’re in the correct Python environment:Google OAuth errors
If you see OAuth errors:- Verify the Google Drive API is enabled in your Cloud Console
- Check that your OAuth consent screen is configured
- Ensure you’re using a Desktop app credential (not Web or Mobile)
- Try deleting and recreating your credentials
Permission errors on Windows
If you see permission errors when creating files:Import errors for workspace packages
If you get import errors forsyft_job, syft_dataset, etc.:
Workspace structure
Syft Client is a monorepo with multiple packages:syft-client, all workspace packages are automatically installed.
Next steps
Quickstart
Get started with your first login and job submission
Authentication Guide
Learn how to set up OAuth and manage tokens
API Reference
Explore the complete API documentation
Notebooks Guide
Learn how to use Syft Client in Jupyter and Colab