Skip to main content
Version: Next

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 python or 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

This project uses uv for fast, reproducible Python environments.

Installation:

# Install script
curl -LsSf https://astral.sh/uv/install.sh | sh

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.1
  • kafka-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:

  1. ๐Ÿ“‹ Install the template - Clone and set up your plugin project
  2. ๐Ÿ”ง Implement your backend - Build your message queue logic
  3. ๐Ÿงช Test your service - Validate integration with your application
  4. ๐Ÿš€ 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!