Skip to content

Releases: OpenMined/PySyft

v0.8.2b23

25 Aug 07:09
Compare
Choose a tag to compare
v0.8.2b23 Pre-release
Pre-release

What's Changed

Full Changelog: v0.8.2b22...v0.8.2b23

v0.8.2b22

25 Aug 06:50
Compare
Choose a tag to compare
v0.8.2b22 Pre-release
Pre-release

What's Changed

Full Changelog: v0.8.2b21...v0.8.2b22

v0.8.2b21

24 Aug 07:57
Compare
Choose a tag to compare
v0.8.2b21 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.8.2b20...v0.8.2b21

v0.8.2b20

20 Aug 12:28
Compare
Choose a tag to compare
v0.8.2b20 Pre-release
Pre-release

What's Changed

Full Changelog: v0.8.2b19...v0.8.2b20

v0.8.2b19

16 Aug 07:02
Compare
Choose a tag to compare
v0.8.2b19 Pre-release
Pre-release

What's Changed

Read more

v0.8.1 - Ziwi Peak 🐶

23 Jun 10:40
Compare
Choose a tag to compare

"Wisdom fuels code, Ziwi Peak ignites its potential."

Downloads

PyPI: https://pypi.org/project/syft/
Docker: https://hub.docker.com/u/openmined

Release Notes

We are excited to announce the release of 0.8.1.The release is focused on making our API around custom code deployment more robust with additional speed improvements and improved development experience.

API Notebooks

You can view tested API notebooks here:
https://github.com/OpenMined/PySyft/tree/dev/notebooks/api

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.

Thanks

We would like to thank all the members of the Christchurch Call and in particular our friends at the New Zealand Government. ❤️ 🇳🇿

Compatibility Notes

Public APIs have changed not much between 0.8 and 0.8.1
0.8 is now DEPRECATED and We strongly recommend everyone upgrades to 0.8.1 for all use cases
The Course 3 notebooks still target 0.7 so please use that version for course 3.

The release adds support for python 3.11 (#7683).
Currently supported python versions are 3.9 - 3.11

Next Release 0.8.2

Very shortly, the dev branch will switch to 0.8.1 beta and we will continue to support hotfixes into 0.8.1 as needed here: https://github.com/OpenMined/pysyft/tree/0.8.1

Padawan Program

A big thank you to all our Padawan and Jedi contributors:

Padawan:

@vdasu, @alejandrosame,@dbckz, @Param-29, @Neelaksh-Singh, @tguerand , @madhavkhoslaa

Jedi Contributors:

@akalliokoski, @callezenwaka, @jcardonnet, @khoaguin, @letv3, @PeterChung241, @Poppy22, @the-elancier, @tthoraldson, @znreza, @yashgorana

If you want to join the Padawan Program you can see more here:
https://blog.openmined.org/work-on-ais-most-exciting-frontier-no-phd-required/

What's Changed

HAGrid

  • added templating system to build without cloning( #7638)
  • added staging nodes ( #7641)

Grid

  • added tailscale container ( #7606 )

CI / CD

  • rebuilt testing to be parallelized and faster ( #7719)
  • switched to self hosted runners for windows tests ( #7737 )
  • added tested API notebooks
  • re-enabled flake8-bugbear checks in ruff ( #7677)

Syft

  • added initial Eager Execution Functionality ( #7494)
  • added CMP Module to handle permissions on remote calls ( #7499 )
  • added initial Action Graph ( #7505)
  • added ZeroMQ for building queue primitives ( #7508)
  • improved Support for Pandas ( #7510 )
  • added Tutorial Notebook for Pandas ( #7510 )
  • added Plans ( #7550 )
  • added initial decentralized Projects ( #7595 )
  • added initial tailscale VPN ( #7606 )
  • added pandas quick start notebooks ( #7619)
  • refactored Messaging API (#7639 )
  • changed API paths from api/v1/new/ to api/v2 ( #7642 )
  • refactored Network Interface ( #7650 )
  • added Recursive Hashing ( #7663 )
  • refactor Requests Interface ( #7665 )
  • added ability to create Datasets without Mock (#7676)
  • improved UX Interface ( #7708 ,#7717 , #7725 , #7732 , #7733 , #7735)

Frontend

v0.8.0 - Heuristic Hobbit 🧮🍳💍

27 Apr 07:02
Compare
Choose a tag to compare

"Even the smallest person can change the course of the future." — Galadriel

Downloads

PyPI: https://pypi.org/project/syft/
Docker: https://hub.docker.com/u/openmined

Release Notes

0.8.0 is our latest release, focused on a new services API and frontend with new capabilities around custom code deployment, speed improvements and improved development experience.

API Notebooks

You can view tested API notebooks here for any version going forward:
https://github.com/OpenMined/PySyft/tree/dev/notebooks/api

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.

Thanks

We would like to thank all the members of the Christchurch Call and in particular our friends at the New Zealand Government. ❤️ 🇳🇿

Compatibility Notes

Public APIs have changed from previous versions.
0.7 is now DEPRECATED and We strongly recommend everyone upgrades to 0.8 for all use cases
The Course 3 notebooks still target 0.7 so please use that version for course 3.

Next Release 0.9

Very shortly, the dev branch will switch to 0.9 beta and we will continue to support hotfixes into 0.8 as needed here: https://github.com/OpenMined/pysyft/tree/0.8

Padawan Program

A big thank you to all our Padawan and Jedi contributors:
@akalliokoski, @callezenwaka, @HaithemLamri, @jcardonnet, @khoaguin, @letv3, @PeterChung241, @Poppy22, @the-elancier, @tthoraldson,@znreza

If you want to join the Padawan Program you can see more here:
https://blog.openmined.org/work-on-ais-most-exciting-frontier-no-phd-required/

What's Changed

HAGrid

  • bumped to 0.3.x
  • added sy.orchestra
  • added hagrid as a dependency to syft

Grid

  • rebuilt node abstraction from ground up
  • domain's can now be run in-memory in python with or without a webserver and then extended all the way to containers

CI / CD

  • rebuilt testing to be faster
  • added tested API notebooks
  • added vm and ansible tests

Syft

  • sy.orchestra allows launching domains from syft in different contexts
  • syft command allows launching dev servers from cli
  • added sy.requires to help keep notebooks and tutorials compatible
  • added DataSubjectRegistry
  • added Projects
  • added Messaging
  • added new Requests system
  • added sy.syft_function decorator
  • added user defined UserCode objects
  • added CustomInputPolicy and CustomOutputPolicy user defined classes
  • added @service_method decorator
  • added Storage Abstractions for multiple backing stores: Dict, SQLite, Mongo
  • added concurrency primitives to Worker node
  • added new Sync and Async Client model
  • added SyftObject based on Pydantic
  • added SyftObject versioning
  • added @Transform between any two objects
  • added Result[Ok, Err] types
  • added SyftSuccess, SyftError, SyftNotReady and SyftException types
  • added repr_html for SyftObjects
  • added TwinObject with Mock and Real data
  • added ActionObject with local execution and side effect tracing
  • added ActionDataEmpty pointer style local noop remote execution
  • added Mutation / Lock store primitives
  • added Gateway and Domain Dataset search
  • added Stash and QueryKey
  • added CRUD-E permissions for Stash Partitions

Frontend

  • changed to SvelteKit
  • added JavaScript Serde of Capnp Types
  • added JavaScript Syft API
  • added TypeScript

Dev

  • added @Instrument tracing decorator for Jaeger
  • added in-memory worker for notebook development
  • added fastapi uvicorn webserver to syft for development / testing without docker

v0.7.0 - Spicy Swan 🌶🦢

20 Jan 02:15
b20bac6
Compare
Choose a tag to compare

Release Notes

0.7.0 (Spicy Swan 🌶🦢) is our latest release, focused on a new DP engine, better deployment options in HAGrid, more frequent releases, more platform support and speed, reliability and stability improvements across the whole stack.

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.

Thanks

We would also like to thank the Twitter META team for our collaboration on the Billion row DP improvements, Google Season of Docs (@abhiwalia15 and @ShubhamPalriwala) for our amazing Docs Team, and the Alfred P. Sloan Foundation for their continued support!

Compatibility Notes

  • Public APIs have not changed much between 0.6 and 0.7, however the clients and network communications are not compatible
  • 0.6 is now DEPRECATED and We strongly recommend everyone upgrades to 0.7 for all use cases
  • The Course 3 notebooks are tested against 0.7 and can be found below, until we update the course documentation

Course 3 Introduction to Remote Data Science v0.7.0 Support

If you use 0.7 you will need this repo:
https://github.com/OpenMined/courses/tree/introduction-to-remote-data-science-dev

Next Release 0.8

Very shortly, the dev branch will switch to 0.8 beta and we will continue to support hotfixes into 0.7 as needed here: https://github.com/OpenMined/pysyft/tree/0.7.0

We will continue the weekly beta releases of 0.8 however there might be some stability issues in the short term while we merge in some larger pending changes

Going forwards, as we test on all PRs and do Nightly smoke tests the dev branch / 0.8, beta builds will be quite stable and are dogfooded regularly by our team and partners

Padawan Program

A big thank you to all our Padawan Program contributors: @amdjedbens, @annareithmeir, @callezenwaka, @faustyang, @kanak8278, @majauhar, @mihirdcoder, @mikaelapisani, @Nilanshrajput, @OSobky, @rAlexandre00, @saffronh, @sim017, @the-elancier, @tthoraldson, @vinalb-oblivious, @yashgorana, @znreza and anyone in the OpenMined Community who helped but doesn’t have a github account.

If you wan't to join the Padawan Program you can see more here:
https://blog.openmined.org/work-on-ais-most-exciting-frontier-no-phd-required/

What's Changed

README.md

  • New README
  • Updated Docs

Platform Support

  • Apple Silicon
  • Python 3.10
  • linux/arm64 containers on dockerhub
  • Test deployments to Azure and AWS k8s clusters

HAGrid

  • Support for prebuilt containers with –tag=$DOCKER_HUB_TAG
  • Added quickstart mode
  • Added install wizard
  • Deployment support to GCP with gcloud
  • Support for deploying multiple nodes at once to Azure
  • Added check command to check node health / status
  • Added password randomization during deployment
  • Optional JupyterLab on deployed Domain

Grid

  • Improved container start times by removing db migration race condition
  • Kubernetes with k3d and full integration test compatibility
  • Refactored Docker Traefik to use static and dynamic yaml
  • Tailscale VPN Sidecar is optional
  • Network Association allows for custom routes
  • Added threads to sync endpoint
  • Improved Network message handling and forwarding

CI / CD

  • Weekly CD for Syft and HAGrid
  • Refactored Integration tests to use common tox task

Permissions

  • Added composable RBAC decorators for granular security

Storage and Serialization

  • Support for >2GB objects via capnp
  • Added SeaweedFS Blob Storage for fast transfer and storage of large tensors
  • Added redis for fast key value store access

Tensor Types

  • FixedPrecisionTensor
  • PhiTensor and GammaTensor
  • Optional Public fields for TensorPointers

Numpy-like API

  • Increased support for numpy-like API and Tensor Operations

DP

  • Refactored DP system to be more scalable
  • Our new Automatic DP system now uses JAX’s Automatic Differentiation replacing primes and our ScalarManager
  • Replaced scalar / element wise data structures with performant Tensors that work at the scale of 1B rows
  • Added lazy evaluation for sparse DP min and max values for smaller size and faster computation
  • Added several additional methods to the Syft Tensor API
  • Added RDP Constants Ledger

SMPC

  • Floating Point Support with the inclusion of FixedPrecisionTensor
  • Moved SMPC Action Messages to ShareTensor Context
  • Included SMPC support for various ring sizes(216,232,2**64)
  • Reduced the communication overhead of operations(PRZS Action, Beaver Action) to a single message per operation
  • SMPC division support for public and private tensor values

DP+SMPC

  • Initial End-to-End DP+SMPC Model Training developed for an XOR Example
  • Support for numpy scalar data types

v0.6.0

01 Dec 19:45
Compare
Choose a tag to compare

What's Changed

Read more

0.6.0-alpha.0 - Unsupervised Uluru

01 Nov 00:54
236bada
Compare
Choose a tag to compare
Pre-release

0.6.0-alpha.0 - Unsupervised Uluru

This is the first alpha release of 0.6.0.

What's Changed

Read more