Observed since 20 Oct, 17:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
๐ฎ A Redis-based abstracted backend (abe) for abstract backend message queue.
A production-ready Redis Streams-based message queue backend implementation for the Abstract Backend project. This backend extends message queue capabilities to support Redis, enabling reliable, scalable, and high-performance Abstract Backend event processing.
abe-redis is a Redis Streams-based message queue backend that integrates seamlessly with the Abstract Backend's component loading mechanism. It provides a reliable, scalable solution for handling Abstract Backend events using Redis as the message queue infrastructure.
Python 3.12, 3.13
Install the package via pip:
pip install abe-redis
Configure your environment to use Redis as the message queue backend:
export QUEUE_BACKEND=redis
export REDIS_URL=redis://localhost:6379/0
Using Docker (recommended):
docker run -d --name test-redis -p 6379:6379 redis:7-alpine
import asyncio
from abe_plugin.backends.message_queue import RedisMessageQueueBackend
async def main():
# Create backend from environment variables
backend = RedisMessageQueueBackend.from_env()
# Publish a message
await backend.publish("slack:events", {"type": "message", "text": "Hello Redis!"})
# Consume messages
async for message in backend.consume():
print(f"Received: {message}")
break
await backend.close()
asyncio.run(main())
The Redis backend uses Redis Streams for reliable message queueing:
slack:* streams| Environment Variable | Required | Default | Description |
|---|---|---|---|
QUEUE_BACKEND | Yes | - | Must be set to redis |
REDIS_URL | Yes | redis://localhost:6379/0 | Redis connection URL |
REDIS_PASSWORD | No | None | Redis authentication password |
REDIS_SSL | No | false | Enable SSL/TLS connection |
REDIS_MAX_CONNECTIONS | No | 10 | Maximum connection pool size |
REDIS_STREAM_MAXLEN | No | 10000 | Maximum stream length for trimming |
For comprehensive documentation, including API references, examples, and development guides:
๐ Full Documentation
# Clone the repository
git clone https://github.com/Chisanan232/abe-redis.git
cd abe-redis
# Install dependencies
uv sync
# Start Redis for testing
docker run -d --name redis-dev -p 6379:6379 redis:7-alpine
# Run tests
uv run pytest
# Run tests with coverage
uv run pytest --cov=abe_plugin --cov-report=html
The project follows strict code quality standards:
Run quality checks:
# Format code
uv run black abe_plugin/ test/
# Lint code
uv run pylint abe_plugin/
# Sort imports
uv run isort abe_plugin/ test/
# Type check
uv run mypy abe_plugin/
We welcome contributions! Please see our Contributing Guide for details.
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
Made with โค๏ธ for the Abstract Backend ecosystem
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 4 Nov 2025 | 2 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:dce2120f5e0f4cbaa2d0e45fd2405ac30e58564679d656da361b450ca9ca0079