Skip to main content

No project description provided

Project description

README

WARNING THIS LIB IS INCOMPLETE.

Faust Avro Codec Codegen

This project is a Python-based code generator that creates Faust topics and codecs from Avro schemas. It is dependent on faust-avro-model-codegen.

Prerequisites

  • Python 3.10 or higher
  • Faust
  • Avro
  • pydantic
  • faust-avro-model-codegen

Installation

Clone the repository:

git clone https://github.com/bboggs-streambit/faust_avro_codec_codegen.git

Navigate to the project directory:

cd faust_avro_codec_codegen

Install the required dependencies:

poetry install

Configuration

The configuration for the code generator is done via a TOML file. You can either use a pyproject.toml file under the [tool.faust_avro_codec_codegen] section or a standalone faust_avro_code_gen.toml file.

Here is an example configuration:

[tool.faust_avro_codec_codegen]
schema_dir = "schemas"
outfile = "models.py"
faust_app_models_module = "models"
faust_app_module = "app:app"
faust_settings_module = "settings"

Usage

To generate the Faust topics and codecs, run the __main__.py script:

python -m faust_avro_codec_codegen

This will generate the Faust topics and codecs based on the Avro schemas in the directory specified in the configuration file. The generated code will be written to the output file specified in the configuration file.

Contributing

Contributions are welcome. Please submit a pull request.

License

This project is licensed under the MIT License.

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

faust_avro_codec_codegen-0.1.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

faust_avro_codec_codegen-0.1.0-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

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