fixie-proto


Namefixie-proto JSON
Version 0.1.3 PyPI version JSON
download
home_page
Summary
upload_time2023-07-25 15:10:15
maintainer
docs_urlNone
authorFixie.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"
}
        
Elapsed time: 0.35805s