Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed tests optional #219

Merged
merged 15 commits into from
Jul 5, 2020
Merged

Speed tests optional #219

merged 15 commits into from
Jul 5, 2020

Conversation

mccorby
Copy link
Member

@mccorby mccorby commented Jul 2, 2020

Description

Please include a summary of the change, the motivation, and any additionl context that will help others understand your PR. If it closes one or more open issues, please tag them as described here.

Affected Dependencies

List any dependencies that are required for this change.

How has this been tested?

  • Describe the tests that you ran to verify your changes.
  • Provide instructions so we can reproduce.
  • List any relevant details for your test configuration.

Checklist

Copy link
Member

@vkkhare vkkhare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rest lgtm

@vkkhare vkkhare added this to the 0.1.0 milestone Jul 3, 2020
@mccorby mccorby marked this pull request as ready for review July 4, 2020 19:44
@codecov
Copy link

codecov bot commented Jul 4, 2020

Codecov Report

Merging #219 into dev will increase coverage by 0.17%.
The diff coverage is 68.42%.

Impacted file tree graph

@@            Coverage Diff             @@
##              dev     #219      +/-   ##
==========================================
+ Coverage   58.31%   58.48%   +0.17%     
==========================================
  Files          42       43       +1     
  Lines        1329     1349      +20     
  Branches      151      160       +9     
==========================================
+ Hits          775      789      +14     
- Misses        486      487       +1     
- Partials       68       73       +5     
Impacted Files Coverage Δ
...src/main/java/org/openmined/syft/execution/Plan.kt 0.00% <ø> (ø)
.../main/java/org/openmined/syft/execution/SyftJob.kt 78.89% <ø> (ø)
...enmined/syft/monitor/network/NetworkStatusCache.kt 63.63% <0.00%> (ø)
.../org/openmined/syft/threading/ProcessSchedulers.kt 100.00% <ø> (+33.33%) ⬆️
...ed/syft/monitor/network/NetworkStatusRepository.kt 88.46% <50.00%> (-7.38%) ⬇️
...orking/datamodels/syft/AuthenticationDataModels.kt 63.63% <50.00%> (-6.37%) ⬇️
syftlib/src/main/java/org/openmined/syft/Syft.kt 75.78% <66.66%> (-1.72%) ⬇️
...tlib/src/main/java/org/openmined/syft/fp/Either.kt 76.92% <76.92%> (ø)
...n/java/org/openmined/syft/monitor/DeviceMonitor.kt 91.66% <100.00%> (ø)
...ed/syft/monitor/network/NetworkStatusDataSource.kt 75.00% <100.00%> (ø)
... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2232885...9736721. Read the comment docs.

@vkkhare vkkhare merged commit 98ab58e into OpenMined:dev Jul 5, 2020
@vkkhare
Copy link
Member

vkkhare commented Jul 6, 2020

@all-contributors add @mccorby for design

@allcontributors
Copy link
Contributor

@vkkhare

I've put up a pull request to add @mccorby! 🎉

menzi101 pushed a commit to menzi101/KotlinSyft that referenced this pull request Jul 11, 2020
* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods
galalen pushed a commit to galalen/KotlinSyft that referenced this pull request Jul 11, 2020
* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods
cereallarceny added a commit that referenced this pull request Jul 11, 2020
* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
galalen pushed a commit to galalen/KotlinSyft that referenced this pull request Jul 21, 2020
* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods
vkkhare added a commit that referenced this pull request Jul 23, 2020
* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* publish action should fire only on release tags

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
vkkhare added a commit that referenced this pull request Jul 24, 2020
* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* publish action should fire only on release tags

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
vkkhare added a commit to vkkhare/KotlinSyft that referenced this pull request Jul 30, 2020
* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (OpenMined#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (OpenMined#27)

* Check validity of protocol and timeout (OpenMined#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (OpenMined#38)

* Auto versioning with nebula (OpenMined#22)

* Add dependency on PySyft protobuf classes (OpenMined#45)

* refactoring strings from json data, setting up Job and syft API (OpenMined#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (OpenMined#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (OpenMined#52)

* extracted dependency version to a separate file (OpenMined#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (OpenMined#55)

* Http client for downloading files, pygrid requests (OpenMined#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (OpenMined#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (OpenMined#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (OpenMined#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (OpenMined#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (OpenMined#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (OpenMined#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (OpenMined#73)

* updated syft-proto (OpenMined#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (OpenMined#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (OpenMined#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (OpenMined#80)

* refactor readme (OpenMined#86)

* Docs Plan Execution (OpenMined#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (OpenMined#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (OpenMined#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (OpenMined#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (OpenMined#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (OpenMined#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (OpenMined#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (OpenMined#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (OpenMined#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (OpenMined#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (OpenMined#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (OpenMined#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (OpenMined#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (OpenMined#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (OpenMined#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (OpenMined#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (OpenMined#194)

* added network monitoring (OpenMined#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (OpenMined#193)

* Clean mnist (OpenMined#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (OpenMined#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (OpenMined#203)

* docs: add galalen as a contributor (OpenMined#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (OpenMined#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (OpenMined#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (OpenMined#192)

* Docs HttpAPI

* update

* update

* feature testing (OpenMined#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (OpenMined#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (OpenMined#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (OpenMined#210)

* Test for jobLocalDataSource. Refactor IO (OpenMined#212)

* Tests for SyftTensor (OpenMined#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (OpenMined#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (OpenMined#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (OpenMined#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (OpenMined#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (OpenMined#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (OpenMined#227)

* documentation for JobStatusSubscriber (OpenMined#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (OpenMined#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (OpenMined#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (OpenMined#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (OpenMined#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (OpenMined#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
cereallarceny added a commit that referenced this pull request Jul 30, 2020
* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* Rebasing dev to master for future merges (#248)

* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* publish action should fire only on release tags

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* Tutorial for reading custom dataset  (#247)

* custom dataset tutorial

* Update Part X - Train on custom dataset.ipynb

* tutorial in md

* rm notebook file

* Update Part X - Train on custom dataset.md

* Update Part X - Train on custom dataset.md

Co-authored-by: Pengyuan Zhou <pengyuan.zhou@helsinki.fi>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add pengyuan-zhou as a contributor (#250)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* change tagging system to be compatible with nebula (#251)

* write unit tests for network status (#208)

write unit tests for network status

* revise readme (#240)

* Namespacing changes and changes from static to model centric

* updated state and model class to store ivalues

* doc update

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
Co-authored-by: Pengyuan Zhou <zpymyyn@gmail.com>
Co-authored-by: Pengyuan Zhou <pengyuan.zhou@helsinki.fi>
Co-authored-by: Mohammed Galalen <mohammedgalalen@gmail.com>
vkkhare added a commit that referenced this pull request Jul 30, 2020
* Rebasing dev to master for future merges (#248)

* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* publish action should fire only on release tags

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* Tutorial for reading custom dataset  (#247)

* custom dataset tutorial

* Update Part X - Train on custom dataset.ipynb

* tutorial in md

* rm notebook file

* Update Part X - Train on custom dataset.md

* Update Part X - Train on custom dataset.md

Co-authored-by: Pengyuan Zhou <pengyuan.zhou@helsinki.fi>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add pengyuan-zhou as a contributor (#250)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* change tagging system to be compatible with nebula (#251)

* write unit tests for network status (#208)

write unit tests for network status

* revise readme (#240)

* Namespacing changes and changes from static to model centric

* updated state and model class to store ivalues (#252)

* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* Rebasing dev to master for future merges (#248)

* Preparation for release 0.1.0 (#236)

* Added publish script

* WebRTC first tests

* Improve expected value

* Added badges for CI and version

* Change badge version

* Draft with okHttp

* Socket with okhttp plus previous work on networking

Co-authored-by: Varun Khare  varunkhare1234@gmail.com

* Address review comments

* Addressed comments

* Fixing style guidelines (#25)

* added project style file

* reformat code

* Added roadmap objectives from openmined (#27)

* Check validity of protocol and timeout (#26)

* Check validity of protocol and timeout

* Added test. Addressed comments

* Changes with style

* Refactor using protocol and injecting signalling client

* Fix Bintray badge link (#38)

* Auto versioning with nebula (#22)

* Add dependency on PySyft protobuf classes (#45)

* refactoring strings from json data, setting up Job and syft API (#41)

* refactoring strings from json requests, setting up Job API

* add response handler and new API types

* added deserialization for API endpoints

* Kotlin serialization is love. Everything removed with polymorphic deserialization

* reformat code

* polymorphic serialization only for report. Implemented custom deserialization for the rest

* added unit tests

* Ci action build check (#48)

* Create android.yml

* added deploy script

* updated CI badge

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>

* Update github action to fire on pull request (#52)

* extracted dependency version to a separate file (#49)

* extracted library version to a separate file

* applied requested changes

* applied requested changes

* Minor typo changes (#55)

* Http client for downloading files, pygrid requests (#51)

* scaffolding basic job scheduling

* job worker API implemented

* Added http client. Refactored common api usage

* Made socket client and http client uniform in usage

* WIP downloader

* added file saver

* rebase with dev

* updated standalone-demo

* added throwable for jobs and other minor changes

* added subscriber class for jobs,addressed comments

* code clean up

* updated federated learning network API (#60)

* updated federated learning network API

* added status field in authentication

* fixed bug data serialization

* added client config module

* remove version field

* no version in cycle response from pygrid

* Protobuf infrastructure (#54)

* Merge from upstream

* Unbuffer plan operations

* Deserialise script module

* Remove not-need lib

* Wee refactor

* Remove rogue activity. It's not the time yet

* Restore deleted files

* Wire up MNIST

* Added vm

* Remove long files

* Working model

* Refactor with repository pattern

* Wiring up

* Addressed comments

* Demo app (#63)

* added pygrid integration demo and logging

* debugging pygrid integration

* Wip streaming downloads don't work but direct succeeds

* updated syftlib to have new job status callbacks

* cleaning up code

* Syft instance (#65)

* auto initialise communication client

* added HTTP protocol and made snetworking clients to be modifiable

* added test for socket client initialization

* reformat code

* cleared duplicate http protocol

* updated demo app to use new syft worker

* added tensor serialization (#68)

* added tensor serialization

* removed lateinit initialization, SyftModel integeration into job

* reformat code

* cleared duplicate http protocol

* addressed comments and rebasing

* remove message processor test

* removed pytorch tensor wrapper since we wont perform computation in kotlin

* added syftmodel test

* updated order of schedulers

* Wire up cycle with data training and process (#67)

* Draft

* Logger

* Attempt to read mnist script

* Almost there

* Added logger

* Almost there

* Fix data loading

* Move out zip

* And it is working

* More wiring

* Show loss in chart

* Pass floats directly

* made UI responsive (#73)

* updated syft-proto (#77)

* updated syft-proto

* removed syft-proto from jetifier

* Add demo steps to README (#76)

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* added batch support, UI tweaks (#74)

* added batch support, UI tweaks

* addressed comments Added real mnist training data

* added training data to git lfs

* code clean up

* remove lfs and made loading batches clear

* updated readme

* updated pytorch (1.5.0) and gradle version

* Docs protobuf serialization (#80)

* refactor readme (#86)

* Docs Plan Execution (#85)

* plan documentation

* changes

* bug

* minor changes

* fixes

* speed test functional

speed test error handling

correct syft tests

created netowrk state manager

* Syft config (#89)

* added configuration parameter

* added syft config and device monitor

* refactor datasource for device status

* added syft status subscriber

* made class constructors internal for testing support

* register callbacks for broadcasts

* updated demo app

* corrected syft test

* network cache bug cleared

* correct default schedulers

* Test (#92)

* initiated testing files and added tests for JobStatusSubscriber

* added socket client test

* updated readme (#95)

* updated readme

* Update README.md

Co-authored-by: Patrick Cason <me@patrickcason.com>

* docs: add mccorby as a contributor (#181)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#180)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add cereallarceny as a contributor (#182)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add codeboy5 as a contributor (#183)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#185)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add IamRavikantSingh as a contributor (#186)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add cereallarceny as a contributor (#187)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#188)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#189)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#190)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* added test coverage and moved tests to a new action (#179)

* added test coverage and moved tests to a new action

* updated readme badge

Co-authored-by: Patrick Cason <me@patrickcason.com>

* NDK cache in CI build (#191)

* added test coverage and moved tests to a new action

* added ndk caching for faster builds

* tests badge rename

* corrected url space

* corrected badge position and ndk cache permissions (#194)

* added network monitoring (#195)

* added network monitoring

* added device state checks

* removed redundant JobStatusMessage.JobError

* corrected demo app call to stop execution on fail

* disposing jobs functional

* updated demo app to accomodate dispose

* corrected tests

* added unit tests for device monitor

Co-authored-by: Patrick Cason <me@patrickcason.com>

* Docs Update http-client (#193)

* Clean mnist (#199)

* cleaning mnist

* corrected syft worker disposal

* updated readme

* made login UI full screen

* updated readme for sleep/wake support

* Charge detection (#200)

* added battery listener

* solved battery intent action bug

* corrected device monitor tests

* added robolectric tests

* remove usage of junit5 engine

* Dont skip ci to get code coverage (#203)

* docs: add galalen as a contributor (#202)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add erksch as a contributor (#205)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Documentation for SocketAPI, SocketClient, and SyftWebSocket (#201)

* Documentation for SocketAPI, SocketClient, and SyftWebSocket

* add links and additional info to documentation

* follow KDoc standard in documenting SyftWebSocket constructor params

* fix README typo

Co-authored-by: varun khare <varunkhare1234@gmail.com>

* Docs HttpAPI interface (#192)

* Docs HttpAPI

* update

* update

* feature testing (#207)

* complete run through added

* reformat

* made auth token optional

* correct handling multiple disposals

* correct singleton syft worker creation

* WIP adding tests

* constraint validation added

* correct looper robolectric

* multiple jobs tested

* add disposing in test to clear worker

* SyftJob tests (#209)

* Added first tests. Refactor SyftJob

* First tests for JobDownloader

* Added conditions to download

* Download using CycleAccept response data

* Make requestKey available to other parts of the workflow

* Test report

* Improved test

* Added test for throwError

* JobDownloader test

* Refactor downloader to use data sources and add tests

* Restrict visibility of data sources to internal

* Tests for jobDownloader

* Tests for RemoteDataSource

* Remove unused method

* Remove duplicated logic

* Pass the correct object to remote data source

* Rename and place classes

* Fix failing test

* Remove activity monitoring and API clean up (#211)

* activity detection removed

* syft job docs, restricted public APIs

* describe multi threading support (#210)

* Test for jobLocalDataSource. Refactor IO (#212)

* Tests for SyftTensor (#213)

* Test for SyftTensor deserialisation

* Fix recursive calls

* Refactor deserialize name

* Pytorch Tensor to SyftTensor test

* Cover content types

* Tests for serialize and getTorchTensor

* Model tests

* Check size of new params

* Report diff (#217)

* diff reporting added

* update running mutliple cycles

* remove open tag from configuration

* correct tests

* added tests for files

* addressing comments

* refactor asset reading

* remove tests for createDiff of repository

* added new tests for jobRepository and jobLocalDataSource

* added jobLocaldatasource test

* cosmetic change

* Speed tests optional (#219)

* Speed tests optional

* Introduce Either to handle failure when checking conditions

* No need for requiresSpeedTest to be lateinit

* Add feature flag to allow execution while the server is updated

* Remove ignored files

* Too many deletions

* Update syft-proto version

* Property for buildConfig

* Revert to 0.4.1

* correct version of SyftProto

* Remove feature flags as too many issues with integration tests

* Remove unused methods

* Small changes

* Failing test

* Leave only in use methods

* Background demo (#220)

* first draft of background execution

* add UI

* removed boilerplate code

* update syft proto dependency

* refactor paarameter mismatch

* correct default device monitoring status

* code cleanup

* work manager logging

* corrected tests

* remove unsubscribe for background tasks

* refactoring WIP

* job worker functional

* refactor attachmnistlogger

* added tests for diff coverage

* refactor view models

* rebase

* empty commit for codecov

* docs: add mccorby as a contributor (#223)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add vkkhare as a contributor (#224)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* restrict file scope (#227)

* documentation for JobStatusSubscriber (#229)

* documentation for JobStatusSubscriber

* add description of the class

* correct syft model doc

* adding tests for codecov

* Add dokka and docs dir (#225)

* Add dokka and docs dir

* Remove docs in wrong place

* Docs to root

* Documentatino workflow

* GH format

* Doc public only/

* Add docs

* Update docs and go

* Fix wrong directory

* Internals missing

* docs: add galalen as a contributor (#231)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add mccorby as a contributor (#232)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* General config (#233)

* added variable client config

* refactor plan

* regenerate the docs

* document Client Config

* correct doc references

* regenerate docs

* add tests for SyftModel

* add some more tests

* corrected http handler and added jwt token (#234)

* corrected http handler and added jwt token

* added plan name

* updated tests

* update docs

* single socket per job

* plan updated

* demo working

* added small database

* updated tests

* remove changes in network and add params tester

* README Change

Co-authored-by: varun khare <varunkhare1234@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* update gif (#237) (#243)

* update gif

* add installation instructions

* update readme language

* add slack badge

* Update README.md

* Update README.md

* publish action should fire only on release tags

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>

* Tutorial for reading custom dataset  (#247)

* custom dataset tutorial

* Update Part X - Train on custom dataset.ipynb

* tutorial in md

* rm notebook file

* Update Part X - Train on custom dataset.md

* Update Part X - Train on custom dataset.md

Co-authored-by: Pengyuan Zhou <pengyuan.zhou@helsinki.fi>
Co-authored-by: varun khare <varunkhare1234@gmail.com>

* docs: add pengyuan-zhou as a contributor (#250)

* docs: update README.md

* docs: update .all-contributorsrc

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* change tagging system to be compatible with nebula (#251)

* write unit tests for network status (#208)

write unit tests for network status

* revise readme (#240)

* Namespacing changes and changes from static to model centric

* updated state and model class to store ivalues

* doc update

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
Co-authored-by: Pengyuan Zhou <zpymyyn@gmail.com>
Co-authored-by: Pengyuan Zhou <pengyuan.zhou@helsinki.fi>
Co-authored-by: Mohammed Galalen <mohammedgalalen@gmail.com>

Co-authored-by: Jose A. Corbacho <mccorby@gmail.com>
Co-authored-by: Henning Dodenhof <henning.dodenhof@gmail.com>
Co-authored-by: Ravikant Singh <40258150+IamRavikantSingh@users.noreply.github.com>
Co-authored-by: Saksham Rastogi <40931412+codeboy5@users.noreply.github.com>
Co-authored-by: Patrick Cason <me@patrickcason.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Galalen <m.galalen96@gmail.com>
Co-authored-by: Ravikant Singh <ravikantsingh2308@gmail.com>
Co-authored-by: Pengyuan Zhou <zpymyyn@gmail.com>
Co-authored-by: Pengyuan Zhou <pengyuan.zhou@helsinki.fi>
Co-authored-by: Mohammed Galalen <mohammedgalalen@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants