Skip to content
A library for encrypted, privacy preserving deep learning
Branch: dev
Clone or download
Latest commit ab75db1 Jun 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates May 29, 2019
docker-image delete unecessary package installation, numpy comes already with pysyft Jun 12, 2019
docs bumpversion 0.1.18a1 -> 0.1.19a1 Jun 18, 2019
examples added version test for parallel tutorial Jun 19, 2019
images added "pip install -r requirements" and moved the installation guide … Mar 25, 2019
syft Add comment on wss connections Jun 19, 2019
test Rename unit test to respect pytest naming Jun 19, 2019
.flake8 changed ignore to select Apr 18, 2019
.gitbook.yaml added gitbook.yaml Apr 23, 2019
.gitignore Changes to socketio_server worker to allow sync communication with th… Apr 30, 2019
.pre-commit-config.yaml removed requirement for python3.6, black hook already requires python3 Apr 17, 2019
.travis.yml moved coverage omits to one file Jun 8, 2019
CONTRIBUTING.md fixed two typos in contributing.md May 22, 2019
INSTALLATION.md Cleanup markdown docs Apr 27, 2019
LICENSE Create LICENSE May 29, 2019
Makefile fixed error in makefile and multipointer serialization Jun 12, 2019
README.md slight copy edit Jun 14, 2019
pyproject.toml fixed black regex Apr 18, 2019
requirements.txt Update requirements.txt Jun 12, 2019
requirements_dev.txt Add dependency pyopenssl for unit tests Jun 19, 2019
run_websocket_server.py Enable datasets to be included in websocket servers for testing Jun 19, 2019
setup.cfg bumpversion 0.1.18a1 -> 0.1.19a1 Jun 18, 2019
setup.py bumpversion 0.1.18a1 -> 0.1.19a1 Jun 18, 2019

README.md

Introduction

Binder Build Status Chat on Slack FOSSA Status

PySyft is a Python library for secure, private Deep Learning. PySyft decouples private data from model training, using Multi-Party Computation (MPC) within PyTorch. Join the movement on Slack.

PySyft in Detail

A more detailed explanation of PySyft can be found in the paper on arxiv

PySyft has also been explained in video form by Siraj Raval

Pre-Installation

Optionally, we recommend that you install PySyft within the Conda virtual environment. If you are using Windows, I suggest installing Anaconda and using the Anaconda Prompt to work from the command line.

conda create -n pysyft python=3
conda activate pysyft # some older version of conda require "source activate pysyft" instead.
conda install jupyter notebook

Installation

PySyft supports Python >= 3.6 and PyTorch 1.1.0

pip install syft

If you have an installation error regarding zstd, run this command and then re-try installing syft.

pip install --upgrade --force-reinstall zstd

If this still doesn't work, and you happen to be on OSX, make sure you have OSX command line tools installed and try again.

You can also install PySyft from source on a variety of operating systems by following this installation guide.

Run Local Notebook Server

All the examples can be played with by running the command

make notebook

and selecting the pysyft kernel

Use the Docker image

Instead of installing all the dependencies on your computer, you can run a notebook server (which comes with Pysyft installed) using Docker. All you will have to do is start the container like this:

$ docker container run openmined/pysyft-notebook

You can use the provided link to access the jupyter notebook (the link is only accessible from your local machine).

You can also set the directory from which the server will serve notebooks (default is /workspace).

$ docker container run -e WORKSPACE_DIR=/root openmined/pysyft-notebook

You could also build the image on your own and run it locally:

$ cd docker-image
$ docker image build -t pysyft-notebook .
$ docker container run pysyft-notebook

More information about how to use this image can be found on docker hub

Try out the Tutorials

A comprehensive list of tutorials can be found here

These tutorials cover how to perform techniques such as federated learning and differential privacy using PySyft.

Start Contributing

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

Also join the rapidly growing community of 3700+ on Slack. The slack community is very friendly and great about quickly answering questions about the use and development of PySyft!

Troubleshooting

We have written an installation example in this colab notebook, you can use it as is to start working with PySyft on the colab cloud, or use this setup to fix your installation locally.

Organizational Contributions

We are very grateful for contributions to PySyft from the following organizations!

Udacity coMind Arkhn Dropout Labs

Disclaimer

Do NOT use this code to protect data (private or otherwise) - at present it is very insecure. Come back in a couple months.

License

Apache License 2.0

FOSSA Status

You can’t perform that action at this time.