Skip to main content

Perform numpy-like analysis on data that remains in someone elses server

Project description



Syft Logo Syft Logo

Perform numpy-like analysis on data that remains in someone else's server

Syft Overview Syft Overview

Quickstart

LinuxmacOS* ✅ Windows†‡

  1. Install our handy 🛵 cli tool which makes deploying a Domain or Network server a one-liner:
    pip install -U hagrid

  2. Then run our interactive jupyter Install 🧙🏽‍♂️ WizardBETA:
    hagrid quickstart

  • In the tutorial you will learn how to install and deploy:
    PySyft = our numpy-like 🐍 Python library for computing on private data in someone else's Domain

    PyGrid = our 🐳 docker / k8s / 🐧 vm Domain & Network Servers where private data lives

  • During quickstart we will deploy PyGrid to localhost with 🐳 docker, however 🛵 HAGrid can deploy to k8s or a 🐧 ubuntu VM on azure / gcp / ANY_IP_ADDRESS by using 🔨 ansible

  1. Read our 📚 Docs
  2. Ask Questions ❔ in #support on Slack

Install Notes

  • HAGrid Requires: 🐍 python 🐙 git - Run: pip install -U hagrid
  • Interactive Install 🧙🏽‍♂️ WizardBETA Requires 🛵 hagrid: - Run: hagrid quickstart
    Windows does not support ansible, preventing some remote deployment targets
  • PySyft Requires: 🐍 python 3.8+ - Run: pip install -U syft
    *macOS Apple Silicon users need cmake: brew install cmake
    Windows users must run this first: pip install jaxlib==0.3.14 -f https://whls.blob.core.windows.net/unstable/index.html
  • PyGrid Requires: 🐳 docker / k8s or 🐧 ubuntu VM - Run: hagrid launch ...

Versions

0.8.0 beta - dev branch 👈🏽
0.7.0 - Course 3 Updated
0.6.0 - Course 3
0.5.1 - Course 2 + M1 Hotfix
0.2.0 - 0.5.0 Deprecated

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: pip install -U syft --pre PyGrid: hagrid launch ... tag=latest

HAGrid is a cli / deployment tool so the latest version of hagrid is usually the best.

What is Syft?

Syft 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.

Tutorials

Data Owner

Data Scientist

Data Engineer

  • Install Syft
  • Connect to a Domain
  • Search for Datasets
  • Train Models
  • Retrieve Secure Results
  • Learn Differential Privacy
  • Setup Dev Mode
  • Deploy to Azure
  • Deploy to GCP
  • Deploy to Kubernetes
  • Customize Networking
  • Modify PyGrid UI

Terminology

👨🏻‍💼 Data Owners

👩🏽‍🔬 Data Scientists

Provide datasets which they would like to make available for study by an outside party they may or may not fully trust has good intentions.

Are end users who desire to perform computations or answer a specific question using one or more data owners' datasets.

🏰 Domain Server

🔗 Network Server

Manages the remote study of the data by a Data Scientist and allows the Data Owner to manage the data and control the privacy guarantees of the subjects under study. It also acts as a gatekeeper for the Data Scientist's access to the data to compute and experiment with the results.

Provides services to a group of Data Owners and Data Scientists, such as dataset search and bulk project approval (legal / technical) to participate in a project. A network server acts as a bridge between it's members (Domains) and their subscribers (Data Scientists) and can provide access to a collection of domains at once.

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.

Contributors Contributors

Supporters

Open Collective

OpenMined is a fiscally sponsored 501(c)(3) in the USA. We are funded by our generous supporters on Open Collective.

Contributors Contributors

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syft-0.8.0b3.tar.gz (136.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syft-0.8.0b3-py2.py3-none-any.whl (173.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file syft-0.8.0b3.tar.gz.

File metadata

  • Download URL: syft-0.8.0b3.tar.gz
  • Upload date:
  • Size: 136.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for syft-0.8.0b3.tar.gz
Algorithm Hash digest
SHA256 c4f01c734e41d6bd993bc38e1887ee8c9f168a7d786c8670ecd1c77d809f0bc1
MD5 54df1f5e10c1ec128adc05e753a1d779
BLAKE2b-256 fb14c1561c966aa239a9691ebdcb99e653c864f233d187480adb7e7b614fc5dd

See more details on using hashes here.

File details

Details for the file syft-0.8.0b3-py2.py3-none-any.whl.

File metadata

  • Download URL: syft-0.8.0b3-py2.py3-none-any.whl
  • Upload date:
  • Size: 173.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for syft-0.8.0b3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 49d2470af9e719acce5737d6dc8fd208021b679da7338cdcb1e0bfe798d6eb54
MD5 891f6fd08ef6a040c6ffef1b2fdd5f3d
BLAKE2b-256 e49a99a3872f6434e7a1ec87b41e5545920324d37c0807871c69358b9ac9daff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page