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)
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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e02bec8aa984d6e07556fb2d5fe10366ac4d487fc0706b9da3405bb510665c0f
|
|
| MD5 |
46691a8e1e512f4c1aa6a450cdf34cba
|
|
| BLAKE2b-256 |
d4896568fb628936afafa6f1adf2867db9f4ee27339a0913eca724046459f840
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
978e39a9edcf046dff7a6d1e415b2e4f4629876f0f7ca0072e2f6f8b878cc997
|
|
| MD5 |
8df9de4b904bad8b8a3d3a7b41e5a350
|
|
| BLAKE2b-256 |
9926007766e154aea724590cbc95f3b065b6482c84c0a8b4abf403c0c21d6ad6
|