semvec/pypi-packages huggingface dataset:
bytewax 0.5.4
bytewax python-sdk and waxctl CLI
License: Apache
Requires Python: >=3.7

<p align="center">
  <img alt="GitHub release" src="https://img.shields.io/github/release/bytewax/python-sdk.svg" />
  <img alt="build" src="https://github.com/bytewax/python-sdk/actions/workflows/tests.yml/badge.svg" />
</p>

## Installation

This repository is tested on Python 3.8+

With pip:

We recommend that you create a virtual environment to install packages into. If you are unfamiliar with virtual environments, check out the [user guide](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).

Create a virtual environment with the version of Python you'll be using to develop with and activate it. Once you have taken that step, you can install the bytewax SDK and accompanying CLI with:

``` shell
> pip install bytewax
```


If you are working with the library and developing locally, you'll need to initialize the submodule for our protobuf definitions with:

``` shell
> git submodule --update init
```

And then install the library for local development with:

``` shell
> pip install -e .[dev]
```

### Protobuf generation

To regenerate the protobuf code after updating the protobuf definitions, you'll need to run the following:

``` shell
> python -m grpc.tools.protoc -I"." --python_out=bytewax/gateway/ --grpc_python_out=bytewax/gateway/ proto/gateway.proto
```

You'll need to edit the output protobuf code to make it work with Python 3 import syntax:

``` python

# Edit this line
from proto import gateway_pb2 as proto_dot_gateway__pb2
# To use relative imports
from . import gateway_pb2 as proto_dot_gateway__pb2
```

See this [GitHub discussion](https://github.com/protocolbuffers/protobuf/issues/1491#issuecomment-772720912) for some context as to why this doesn't work without modification.


## Documentation

API documentation in the [docs](docs/) folder.