Skip to main content

PySyft is a Python library for secure and private Deep Learning, allowing you to compute on data you do not own and cannot see

Project description


PySyft
A library for computing on data
you do not own and cannot see





PySyft is a Python library for secure and private Deep Learning.

PySyft decouples private data from model training, using Federated Learning, Differential Privacy, and Encrypted Computation (like Multi-Party Computation (MPC) and Homomorphic Encryption (HE)) within the main Deep Learning frameworks like PyTorch and TensorFlow. Join the movement on Slack.


Most software libraries let you compute over the information you own and see inside of machines you control. However, this means that you cannot compute on information without first obtaining (at least partial) ownership of that information. It also means that you cannot compute using machines without first obtaining control over those machines. This is very limiting to human collaboration and systematically drives the centralization of data, because you cannot work with a bunch of data without first putting it all in one (central) place.

The Syft ecosystem seeks to change this system, allowing you to write software which can compute over information you do not own on machines you do not have (total) control over. This not only includes servers in the cloud, but also personal desktops, laptops, mobile phones, websites, and edge devices. Wherever your data wants to live in your ownership, the Syft ecosystem exists to help keep it there while allowing it to be used privately for computation.

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.7+ - Run: pip install -U syft --pre
    *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 ...

Contributing

The guide for contributors can be found here. It covers all that you need to know to start contributing code to PySyft today.

Supporters

Open Collective

OpenMined is a registered 501(c)(3) in the USA. We are funded by our gracious 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.7.0b59.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

syft-0.7.0b59-py2.py3-none-any.whl (7.8 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file syft-0.7.0b59.tar.gz.

File metadata

  • Download URL: syft-0.7.0b59.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for syft-0.7.0b59.tar.gz
Algorithm Hash digest
SHA256 17f7f9f305b7c6b3a9e9b81d6683d9baf939221602acb8ffe00086ad5af0c42c
MD5 e3dd0ad8e9f584605254060164f1dbca
BLAKE2b-256 bc50bf3eaaa397bad901601f3ed937980c1f8daeb083c5264cc26292f6f12ee6

See more details on using hashes here.

File details

Details for the file syft-0.7.0b59-py2.py3-none-any.whl.

File metadata

  • Download URL: syft-0.7.0b59-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for syft-0.7.0b59-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f3bcb21361562070c5c382a41c5c15ada647aa11d62efa84b931641aa8e50d3d
MD5 83d3f2f81374362a659f0ac3b456f3af
BLAKE2b-256 46bd7df3d5c3c1fae6a657adf88e65ea67a69f8ebec131ba51909733137ad87b

See more details on using hashes here.

Supported by

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