Skip to main content

No project description provided

Project description

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. 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.

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 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 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. 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.

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 and the Just docs 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fixie_proto-0.1.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

fixie_proto-0.1.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file fixie_proto-0.1.3.tar.gz.

File metadata

  • Download URL: fixie_proto-0.1.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for fixie_proto-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ff6040a3b006cee5b8b7e6d28726a82d8186401bc726b463a85a61a1dda85611
MD5 1ad22a3fe3405d18503168e732486daf
BLAKE2b-256 09d9d31eb7eda62982f1c667d4d0e4dc182a084f43a7c655d23564d781681ef2

See more details on using hashes here.

File details

Details for the file fixie_proto-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: fixie_proto-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for fixie_proto-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dce6e6b17ef3c2a33e61e662e0c746b9b1921ab6faeef4936d22a3eb580b3dab
MD5 86783cff7a7606030554c15721cd7d77
BLAKE2b-256 d040ff37448947c5443bd155de313c647c18cc91432bc8483401b62f71f1dd17

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page