Skip to main content

Flowgate is a kafka client library for building event-driven systems.

Project description

Flowgate

Flowgate is a kafka client library for building event-driven systems.

Setup

Using just (recommended)

First, install just:

# On macOS
brew install just

# On Linux
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash

Then set up the project:

just setup

Using uv directly

# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create a virtual environment and install the package
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[dev]"

Development

Available commands

just                # List all available commands
just setup          # Set up the development environment
just test           # Run tests
just lint           # Run linting checks
just build          # Build the package
just publish        # Build and publish the package
just sync           # Sync dependencies
just clean          # Clean up build artifacts

Running tests

just test

Linting

just lint

Building and publishing

just build
just publish

Optional dependencies

Flowgate supports the following optional dependencies:

  • MongoDB: uv pip install -e ".[mongo]"
  • Redis: uv pip install -e ".[redis]"
  • cnamedtuple: uv pip install -e ".[cnamedtuple]"

To install all dependencies including development tools:

uv pip install -e ".[dev,mongo,redis,cnamedtuple]"

Project Structure

flowgate/
├── __init__.py
├── command_handler.py    # Command handling functionality
├── consumer.py           # Kafka consumer implementation
├── event_handler.py      # Event handling functionality
├── handler.py            # Base handler implementation
├── helpers/              # Helper utilities
├── message.py            # Message definitions
├── messagebus/           # Message bus implementation
├── serializers.py        # Serialization utilities
└── utils.py              # General utilities

License

MIT

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

flowgate-0.0.4.tar.gz (77.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flowgate-0.0.4-py2.py3-none-any.whl (24.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file flowgate-0.0.4.tar.gz.

File metadata

  • Download URL: flowgate-0.0.4.tar.gz
  • Upload date:
  • Size: 77.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.9

File hashes

Hashes for flowgate-0.0.4.tar.gz
Algorithm Hash digest
SHA256 e02bec8aa984d6e07556fb2d5fe10366ac4d487fc0706b9da3405bb510665c0f
MD5 46691a8e1e512f4c1aa6a450cdf34cba
BLAKE2b-256 d4896568fb628936afafa6f1adf2867db9f4ee27339a0913eca724046459f840

See more details on using hashes here.

File details

Details for the file flowgate-0.0.4-py2.py3-none-any.whl.

File metadata

  • Download URL: flowgate-0.0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.9

File hashes

Hashes for flowgate-0.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 978e39a9edcf046dff7a6d1e415b2e4f4629876f0f7ca0072e2f6f8b878cc997
MD5 8df9de4b904bad8b8a3d3a7b41e5a350
BLAKE2b-256 9926007766e154aea724590cbc95f3b065b6482c84c0a8b4abf403c0c21d6ad6

See more details on using hashes here.

Supported by

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