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.0b58.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: syft-0.7.0b58.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.0b58.tar.gz
Algorithm Hash digest
SHA256 1421dabea5479d6bd844f33c488275188139d63f3656411348b11463f3f22a31
MD5 bf0bf9ddc52357b50e87fc2e8c300bfa
BLAKE2b-256 95ec83b20fce1f112b9e7d3d2a0cc30f3c6ffdcbfb1a2e03519f6f800bf657e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: syft-0.7.0b58-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.0b58-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 730280dfa01b84afdc186b7897e29d19ad20bf1e99c5f770bb3652b6adbb1806
MD5 19434aa8d20240684c235e57f6bdfb31
BLAKE2b-256 e6557894c6cb0c8f862b1d9509fe29f840e15f22f41b88476e55d04131020c38

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