Requirements
Before using abe-kafka or contributing to this repository, ensure your environment meets the following requirements.
System Requirementsโ
- Operating System: Linux, macOS, or Windows
- Memory: Minimum 1GB RAM (2GB+ recommended for development)
- Disk Space: Minimum 1GB for full development environment
- Internet Connection: Required for downloading dependencies and testing with external queue services
Core Prerequisitesโ
Pythonโ
- Versions supported: 3.12, 3.13
Python Installation
If you don't have Python installed:
- macOS: Use
brew install pythonor download from python.org - Linux: Use your package manager (e.g.,
apt install python3.13) - Windows: Download from python.org or use
winget install Python.Python.3.13
Package Manager: uv (Recommended)โ
This project uses uv for fast, reproducible Python environments.
Installation:
- macOS/Linux
- Windows
- pip (alt)
# Install script
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install script
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
pip install uv
Why uv?
- โก 10-100x faster than pip/poetry for dependency resolution
- ๐ Deterministic builds with lockfile support
- ๐ ๏ธ All-in-one tool for project management, virtual environments, and Python installation
- ๐ฆ Drop-in replacement for pip with better dependency resolution
Version Controlโ
- Git: Version 2.20 or higher
Kafka & optional toolsโ
- Kafka broker: Not required for unit tests. Needed for real-cluster integration tests.
- Docker: Optional. Used by Testcontainers-based integration test to spin up Kafka locally.
- Node.js + pnpm: Optional. Only needed to build the documentation site.
Python Dependenciesโ
Installed automatically by pip install abe-kafka or uv sync:
abstract-backend>=0.0.1kafka-python>=2.0,<3
Verify your setupโ
After installing the prerequisites, verify your setup:
# Check Python version
python --version # Should be 3.12 or 3.13
# Check uv installation
uv --version # Should show uv version
# Check Git
git --version # Should be 2.20+
# Sync dependencies (optional if using pip install)
uv sync
---
### For contributors
If you plan to develop or run tests, see:
- Development requirements: ../../development/requirements.mdx
- Workflow and running tests: ../../development/workflow.mdx
Next Stepsโ
Once your environment meets these requirements, you're ready to:
- ๐ Install the template - Clone and set up your plugin project
- ๐ง Implement your backend - Build your message queue logic
- ๐งช Test your service - Validate integration with your application
- ๐ Publish your package - Share with the community
Common Issues & Solutionsโ
Python Version Issuesโ
# If you have multiple Python versions
uv python install 3.13
uv python pin 3.13
uv Installation Issuesโ
# If uv command not found after installation
source ~/.bashrc # or restart terminal
Permission Issuesโ
# If you get permission errors
uv venv --system-site-packages
Ready to proceed? Let's move on to installation!