Perform data science on data that remains in someone else's server
Quickstart
β
Linux β
macOS β
Windows β
Docker β
Podman β
Kubernetes
Install Client
$ pip install -U syftLaunch Server
# from Jupyter / Python
import syft as sy
sy.requires(">=0.8.2,<0.8.3")
node = sy.orchestra.launch(name="my-domain", port=8080, dev_mode=True, reset=True)# or from the command line
$ syft launch --name=my-domain --port=8080 --reset=True
Starting syft-node server on 0.0.0.0:8080Launch Client
import syft as sy
sy.requires(">=0.8.2,<0.8.3")
domain_client = sy.login(port=8080, email="info@openmined.org", password="changethis")PySyft in 10 minutes
- 00-load-data.ipynb
- 01-submit-code.ipynb
- 02-review-code-and-approve.ipynb
- 03-data-scientist-download-result.ipynb
- 04-jax-example.ipynb
- 05-custom-policy.ipynb
- 06-multiple-code-requests.ipynb
- 07-domain-register-control-flow.ipynb
Deploy Kubernetes Helm Chart
Note: Assuming we have a Kubernetes cluster already setup.
1. Add and update Helm repo for Syft
$ helm repo add openmined https://openmined.github.io/PySyft/helm
$ helm repo update openmined2. Search for available Syft versions
$ helm search repo openmined/syft --versions --devel3. Set your preferred Syft Chart version
SYFT_VERSION="<paste the chart version number>"4. Provisioning Helm Charts
$ helm install my-domain openmined/syft --version $SYFT_VERSION --namespace syft --create-namespace --set ingress.ingressClass=traefikAzure or GCP Ingress
$ helm install ... --set ingress.ingressClass="azure/application-gateway"
$ helm install ... --set ingress.ingressClass="gce"
Deploy to a Container Engine or Cloud
-
Install our handy π΅ cli tool which makes deploying a Domain or Gateway server to Docker or VM a one-liner:
pip install -U hagrid -
Then run our interactive jupyter Install π§π½ββοΈ WizardBETA:
hagrid quickstart -
In the tutorial you will learn how to install and deploy:
PySyft= ournumpy-like π Python library for computing onprivate datain someone else'sDomainPyGrid= our π³docker/ π§vmDomain&GatewayServers whereprivate datalives
Docs and Support
Install Notes
- HAGrid 0.3 Requires: π
pythonπgit- Run:pip install -U hagrid - Interactive Install π§π½ββοΈ WizardBETA Requires π΅
hagrid: - Run:hagrid quickstart - PySyft 0.8.1 Requires: π
python 3.9 - 3.11- Run:pip install -U syft - PyGrid Requires: π³
docker, π¦¦podmanor βΈοΈkubernetes- Run:hagrid launch ...
Versions
0.9.0 - Coming soon...
0.8.3 (Beta) - dev branch ππ½ API - Coming soon...
0.8.2 (Stable) - API
Deprecated:
0.8.1- API0.8.0- API0.7.0- Course 3 Updated0.6.0- Course 30.5.1- Course 2 + M1 Hotfix0.2.0-0.5.0
PySyft and PyGrid use the same version and its best to match them up where possible. We release weekly betas which can be used in each context:
PySyft (Stable): pip install -U syft
PyGrid (Stable) hagrid launch ... tag=latest
PySyft (Beta): pip install -U syft --pre
PyGrid (Beta): hagrid launch ... tag=beta
HAGrid is a cli / deployment tool so the latest version of hagrid is usually the best.
What is Syft?
Syft is OpenMined's open source stack that provides secure and private Data Science in Python. Syft decouples private data from model training, using techniques like Federated Learning, Differential Privacy, and Encrypted Computation. This is done with a numpy-like interface and integration with Deep Learning frameworks, so that you as a Data Scientist can maintain your current workflow while using these new privacy-enhancing techniques.
Why should I use Syft?
Syft allows a Data Scientist to ask questions about a dataset and, within privacy limits set by the data owner, get answers to those questions, all without obtaining a copy of the data itself. We call this process Remote Data Science. It means in a wide variety of domains across society, the current risks of sharing information (copying data) with someone such as, privacy invasion, IP theft and blackmail will no longer prevent the vast benefits such as innovation, insights and scientific discovery which secure access will provide.
No more cold calls to get access to a dataset. No more weeks of wait times to get a result on your query. It also means 1000x more data in every domain. PySyft opens the doors to a streamlined Data Scientist workflow, all with the individual's privacy at its heart.
Terminology
Community
Courses
|
|
|
|
|---|
Contributors
OpenMined and Syft appreciates all contributors, if you would like to fix a bug or suggest a new feature, please see our guidelines.
Supporters
|
|
|
|
|
|
|
|
|
|
|
|---|
Open Collective
OpenMined is a fiscally sponsored 501(c)(3) in the USA. We are funded by our generous supporters on Open Collective.
Disclaimer
Syft is under active development and is not yet ready for pilots on private data without our assistance. As early access participants, please contact us via Slack or email if you would like to ask a question or have a use case that you would like to discuss.
License
Apache License 2.0
Person icons created by Freepik - Flaticon












