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.5.tar.gz
(74.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowgate-0.0.5.tar.gz.
File metadata
- Download URL: flowgate-0.0.5.tar.gz
- Upload date:
- Size: 74.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
724c772bf7e8d542333a19cd1cee5ad8525a094a5ac584e9b63b77ccdb70b98f
|
|
| MD5 |
45106bba9c9e7fb9cab3ea8381c7b772
|
|
| BLAKE2b-256 |
33e43519428d846cd79a74c547e8f4992705d3374544a5f402f0cb6cab4b9252
|
File details
Details for the file flowgate-0.0.5-py2.py3-none-any.whl.
File metadata
- Download URL: flowgate-0.0.5-py2.py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b866cf06b18856f92581ed0c636c14286ed7494948094e3bca5c2cb5eb44ba6
|
|
| MD5 |
168c18b82207a0e03f0de4eb274affcc
|
|
| BLAKE2b-256 |
7159861d148e8640131b54d8b5b809ab53df58b1f968ee2a70fb00bf03a6f9fc
|