Metadata-Version: 2.4
Name: tusk-drift-schemas
Version: 0.1.9.dev1
Summary: Protocol Buffer schemas for Tusk Drift
Author-email: Use Tusk <support@usetusk.ai>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Use-Tusk/tusk-drift-schemas
Project-URL: Repository, https://github.com/Use-Tusk/tusk-drift-schemas
Project-URL: Issues, https://github.com/Use-Tusk/tusk-drift-schemas/issues
Keywords: protobuf,grpc,tusk,drift,schemas
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: betterproto[compiler]>=2.0.0b7

# Tusk Drift Schemas 

This repo holds schemas defined as protobuf files used by Tusk Drift. We use Buf to generate code for each language we support (currently TypeScript and Golang).

Install Buf [here](https://buf.build/docs/cli/installation/).

## TypeScript

### Installing schemas in TypeScript projects

```
npm install @use-tusk/drift-schemas
```

### Developing locally

In this repo, run `npm link` to create a symlink to the local package.
In your project, run `npm link @use-tusk/drift-schemas` to use the local package.
After updating the schemas, run `npm run build` to rebuild the package.
Run `npm unlink @use-tusk/drift-schemas` to remove the local package.

## Golang

### Installing schemas in Golang projects

```
go get github.com/Use-Tusk/tusk-drift-schemas
```

### Developing locally

In your project, add this to `go.mod`:
```
replace github.com/Use-Tusk/tusk-drift-schemas => ../tusk-drift-schemas
```
Run `go mod tidy` to update the dependencies.
Remember to remove this before pushing.

## Python

### Installing schemas in Python projects

```
pip install tusk-drift-schemas
```

Or install a specific version:
```
pip install tusk-drift-schemas==0.1.9
```

# Building

## Releasing

1. Checkout a new branch with the new version number (e.g. `git checkout -b v0.1.1`)
2. Increment the patch version (e.g. 0.1.0 → 0.1.1), using `npm version patch`. This creates a commit and a tag.
3. Push the branch and the tag to GitHub.
4. Create a new release on GitHub with the new version number.
5. The release will trigger a GitHub Actions workflow to publish the package to NPM, and the new release tag will allow Golang projects to install the new version.
