syft-job is a package that provides a comprehensive job submission and management system for SyftBox. It allows data scientists to submit computational jobs to data owners and track their execution status.
Installation
When to Use
Usesyft-job when you need to:
- Submit computational jobs to remote SyftBox datasites
- Track the status of submitted jobs
- Run jobs on data owner’s infrastructure
- Manage job lifecycle (pending, running, completed, failed)
- Create job runners for executing submitted jobs
Core Concepts
JobClient
TheJobClient is the main interface for submitting and managing jobs. It handles job submission, status tracking, and job lifecycle management.
JobRunner
TheJobRunner executes jobs on the data owner’s side, managing virtual environments and job execution.
API Reference
Main Exports
Basic Usage
Submitting a Job
Checking Job Status
Running Jobs (Data Owner Side)
Job Lifecycle
- Pending: Job submitted, waiting for approval
- Running: Job is currently executing
- Completed: Job finished successfully
- Failed: Job encountered an error
Dependencies
pydantic>=2.11.7- Data validationpyyaml>=6.0- Configuration parsingpandas- Data manipulationsyft-perm- Permission management
Configuration
TheSyftJobConfig object requires:
syftbox_root: Path to your SyftBox directoryemail: Your email address