Name | fixie-proto JSON |
Version |
0.1.3
JSON |
| download |
home_page | |
Summary | |
upload_time | 2023-07-25 15:10:15 |
maintainer | |
docs_url | None |
author | Fixie.ai Team |
requires_python | >=3,<4 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# fixie-proto
This repository contains protocol buffer definitions for working with the Fixie platform. The intention is for this to define our public-facing APIs. Tooling in this repository should then make it easy to use the *already compiled* protos in various languages.
## Usage
### Buf Schema Registry (BSR)
For languages supported by the Buf Schema Registry, instructions for adding these protos like a normal dependency can be found [here](https://buf.build/fixie-ai/fixie/assets/main). For example, to add a TypeScript dependency using yarn:
```
yarn config set npmScopes.buf.npmRegistryServer https://buf.build/gen/npm/v1/
yarn add @buf/fixie-ai_fixie.bufbuild_connect-es@latest
```
As of July 2023, BSR has support for JavaScript/Typscript, Go, JVM-based languages like Java and Kotlin, and Swift.
### Directly supported languages
We also support additional languages (albeit with fewer options) directly. In particular, Python is available via pip: [PyPI](https://pypi.org/project/fixie-proto/).
```
pip install fixie-proto
```
### Inclusion in a proto library
The easiest way to depend on Fixie protos for your own proto library is by building with [Buf](https://buf.build/docs/introduction/) and adding `buf.build/fixie-ai/fixie` as a dependency in your buf.yaml.
If you're using protoc instead, consider including this repository as a submodule in your own repository.
### Other languages
Buf can be used to easily compile our protos in other languages too, including: Ruby, Objective-C, PHP, C#, Scala, C++, Dart, and Rust. You'll need to create a [buf.gen.yaml file](https://buf.build/docs/generate/overview/) that uses the relevant protoc plugin for your language. You can also define language-specific proto options without modifying the proto files themselves using [managed mode](https://buf.build/docs/generate/managed-mode/#managed). You can then compile the protos in your language of choice by running:
```
buf generate --template buf.gen.yaml buf.build/fixie-ai/fixie
```
If you'd prefer to use protoc, see the advice above about including Fixie protos in your own proto library.
## Using JSON instead
If you'd prefer not to deal with protos, we've got you covered! All of our APIs can accept and return JSON instead. Just set your Content-Type header to `application/json` instead of `application/proto`.
Our OpenAPI spec matches the proto API. You can view it [here](https://petstore.swagger.io/?url=https://gist.githubusercontent.com/mdepinet/1382c315186d178f587f3d9ca382b74e/raw/be61192d0fe190e646cc52a494017ba7dbe3a33b/loader.swagger.json).
## Contributing
### Tools
To work in this repository, you'll need to install Buf and Just. If you are using homebrew:
```
brew install bufbuild/buf/buf
brew install just
```
Otherwise see [the Buf docs](https://buf.build/docs/installation/) and [the Just docs](https://just.systems/man/en/chapter_4.html) for other installation options.
### Presubmit
Please run "just" before sending PRs. This will format and lint your proto files in addition to identifying breaking changes. (These will also be run for you any time a PR is created.)
### Releases
New versions are pushed to BSR whenever a PR is merged into main. These events will also cause a push to PyPI as long as the version in pyproject.toml was incremented.
Raw data
{
"_id": null,
"home_page": "",
"name": "fixie-proto",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3,<4",
"maintainer_email": "",
"keywords": "",
"author": "Fixie.ai Team",
"author_email": "founders@fixie.ai",
"download_url": "https://files.pythonhosted.org/packages/09/d9/d31eb7eda62982f1c667d4d0e4dc182a084f43a7c655d23564d781681ef2/fixie_proto-0.1.3.tar.gz",
"platform": null,
"description": "# fixie-proto\nThis repository contains protocol buffer definitions for working with the Fixie platform. The intention is for this to define our public-facing APIs. Tooling in this repository should then make it easy to use the *already compiled* protos in various languages.\n\n## Usage\n\n### Buf Schema Registry (BSR)\n\nFor languages supported by the Buf Schema Registry, instructions for adding these protos like a normal dependency can be found [here](https://buf.build/fixie-ai/fixie/assets/main). For example, to add a TypeScript dependency using yarn:\n\n```\nyarn config set npmScopes.buf.npmRegistryServer https://buf.build/gen/npm/v1/\nyarn add @buf/fixie-ai_fixie.bufbuild_connect-es@latest\n```\n\nAs of July 2023, BSR has support for JavaScript/Typscript, Go, JVM-based languages like Java and Kotlin, and Swift.\n\n### Directly supported languages\n\nWe also support additional languages (albeit with fewer options) directly. In particular, Python is available via pip: [PyPI](https://pypi.org/project/fixie-proto/).\n\n```\npip install fixie-proto\n```\n\n### Inclusion in a proto library\n\nThe easiest way to depend on Fixie protos for your own proto library is by building with [Buf](https://buf.build/docs/introduction/) and adding `buf.build/fixie-ai/fixie` as a dependency in your buf.yaml.\n\nIf you're using protoc instead, consider including this repository as a submodule in your own repository.\n\n\n### Other languages\n\nBuf can be used to easily compile our protos in other languages too, including: Ruby, Objective-C, PHP, C#, Scala, C++, Dart, and Rust. You'll need to create a [buf.gen.yaml file](https://buf.build/docs/generate/overview/) that uses the relevant protoc plugin for your language. You can also define language-specific proto options without modifying the proto files themselves using [managed mode](https://buf.build/docs/generate/managed-mode/#managed). You can then compile the protos in your language of choice by running:\n\n```\nbuf generate --template buf.gen.yaml buf.build/fixie-ai/fixie\n```\n\nIf you'd prefer to use protoc, see the advice above about including Fixie protos in your own proto library.\n\n## Using JSON instead\n\nIf you'd prefer not to deal with protos, we've got you covered! All of our APIs can accept and return JSON instead. Just set your Content-Type header to `application/json` instead of `application/proto`.\n\nOur OpenAPI spec matches the proto API. You can view it [here](https://petstore.swagger.io/?url=https://gist.githubusercontent.com/mdepinet/1382c315186d178f587f3d9ca382b74e/raw/be61192d0fe190e646cc52a494017ba7dbe3a33b/loader.swagger.json).\n\n## Contributing\n\n### Tools\n\nTo work in this repository, you'll need to install Buf and Just. If you are using homebrew:\n\n```\nbrew install bufbuild/buf/buf\nbrew install just\n```\n\nOtherwise see [the Buf docs](https://buf.build/docs/installation/) and [the Just docs](https://just.systems/man/en/chapter_4.html) for other installation options.\n\n### Presubmit\n\nPlease run \"just\" before sending PRs. This will format and lint your proto files in addition to identifying breaking changes. (These will also be run for you any time a PR is created.)\n\n### Releases\n\nNew versions are pushed to BSR whenever a PR is merged into main. These events will also cause a push to PyPI as long as the version in pyproject.toml was incremented.\n",
"bugtrack_url": null,
"license": "",
"summary": "",
"version": "0.1.3",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d040ff37448947c5443bd155de313c647c18cc91432bc8483401b62f71f1dd17",
"md5": "86783cff7a7606030554c15721cd7d77",
"sha256": "dce6e6b17ef3c2a33e61e662e0c746b9b1921ab6faeef4936d22a3eb580b3dab"
},
"downloads": -1,
"filename": "fixie_proto-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "86783cff7a7606030554c15721cd7d77",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3,<4",
"size": 6970,
"upload_time": "2023-07-25T15:10:13",
"upload_time_iso_8601": "2023-07-25T15:10:13.930557Z",
"url": "https://files.pythonhosted.org/packages/d0/40/ff37448947c5443bd155de313c647c18cc91432bc8483401b62f71f1dd17/fixie_proto-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09d9d31eb7eda62982f1c667d4d0e4dc182a084f43a7c655d23564d781681ef2",
"md5": "1ad22a3fe3405d18503168e732486daf",
"sha256": "ff6040a3b006cee5b8b7e6d28726a82d8186401bc726b463a85a61a1dda85611"
},
"downloads": -1,
"filename": "fixie_proto-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "1ad22a3fe3405d18503168e732486daf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3,<4",
"size": 4661,
"upload_time": "2023-07-25T15:10:15",
"upload_time_iso_8601": "2023-07-25T15:10:15.288919Z",
"url": "https://files.pythonhosted.org/packages/09/d9/d31eb7eda62982f1c667d4d0e4dc182a084f43a7c655d23564d781681ef2/fixie_proto-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-25 15:10:15",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fixie-proto"
}