https://github.com/openmined/syft-proto
Defines types for all Serde encoding across languages
https://github.com/openmined/syft-proto
java javascript swift syft
Last synced: 9 months ago
JSON representation
Defines types for all Serde encoding across languages
- Host: GitHub
- URL: https://github.com/openmined/syft-proto
- Owner: OpenMined
- License: apache-2.0
- Created: 2019-08-12T12:55:58.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-03T20:59:06.000Z (over 1 year ago)
- Last Synced: 2025-03-18T20:08:42.905Z (10 months ago)
- Topics: java, javascript, swift, syft
- Language: JavaScript
- Homepage:
- Size: 1.39 MB
- Stars: 20
- Watchers: 22
- Forks: 24
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Syft-Proto
This repo defines the Syft protocol, and contains the information required to serialize Syft messages as either `msgpack` or `protobuf`.
### msgpack
`proto.json` contains constants for encoding PySyft data types.
### Protobuf
Schemas are found in `./protobuf`, in a directory structure that roughly matches the package structure of PySyft. To compile new or modified schemas to Python stubs, run
`./build_stubs.sh`, which uses the [Buf toolchain](https://buf.build/) for working with Protobuf. To install `buf`, follow the instructions [here](https://buf.build/docs/installation).
## Using Syft-Proto as a Dependency
### Python
Can be installed with pip:
`pip install syft-proto`
Example code:
```python
from syft_proto import proto_info
print(proto_info)
```
### Javascript/NPM
Can be installed with npm:
`npm i --save https://github.com/OpenMined/syft-proto`
Example code:
```js
const proto = require('syft-proto').proto_info
console.log(proto)
```
### Kotlin/Java
Using Gradle:
```groovy
implementation 'org.openmined.kotlinsyft:syft-proto-jvm:'
```
## Support
For support in using this library, please join the **#lib_syft-proto** Slack channel. If you’d like to follow along with any code changes to the library, please join the **#code_syft-proto** Slack channel. [Click here to join our Slack community!](https://slack.openmined.org)