
Security News
TC39 Advances 11 Proposals for Math Precision, Binary APIs, and More
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.
Blazing-fast Python web framework with production-grade routing backed by a minimal, event-driven C core
Catzilla is a modern Python web framework purpose-built for extreme performance and developer productivity. At its heart is a sophisticated C HTTP engine—built using libuv and llhttp—featuring an advanced trie-based routing system that delivers O(log n) route lookup performance.
By exposing its speed-focused C core through a clean, Pythonic decorator API, Catzilla gives developers full control with minimal overhead. Whether you're building real-time AI applications, low-latency APIs, or high-throughput microservices, Catzilla is engineered to deliver maximum efficiency with minimal boilerplate.
@app.get(...)
/users/{user_id}
, /posts/{post_id}/comments/{comment_id}
get
→ GET
)Catzilla v0.1.0 is distributed through GitHub Releases with pre-built wheels for multiple platforms and Python versions.
Download and install the appropriate wheel for your platform:
# For Python 3.10 on Linux (most common)
curl -L -O https://github.com/rezwanahmedsami/catzilla/releases/download/v0.1.0/catzilla-0.1.0-cp310-cp310-linux_x86_64.whl
pip install catzilla-0.1.0-cp310-cp310-linux_x86_64.whl
# For Python 3.10 on macOS
curl -L -O https://github.com/rezwanahmedsami/catzilla/releases/download/v0.1.0/catzilla-0.1.0-cp310-cp310-macosx_10_15_universal2.whl
pip install catzilla-0.1.0-cp310-cp310-macosx_10_15_universal2.whl
# For Python 3.10 on Windows
curl -L -O https://github.com/rezwanahmedsami/catzilla/releases/download/v0.1.0/catzilla-0.1.0-cp310-cp310-win_amd64.whl
pip install catzilla-0.1.0-cp310-cp310-win_amd64.whl
Visit the Releases page to download wheels for:
linux_x86_64
macosx_10_15_universal2
win_amd64
python -c "import catzilla; print(f'Catzilla v{catzilla.__version__} installed successfully!')"
For development or if pre-built wheels aren't available for your platform:
# Clone with submodules
git clone --recursive https://github.com/rezwanahmedsami/catzilla.git
cd catzilla
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install build dependencies
pip install -e ".[dev]"
# Build and install
python -m build
pip install dist/*.whl
Starting with v1.0.0, Catzilla will be available on PyPI for standard installation:
# Coming in v1.0.0
pip install catzilla
Catzilla v0.1.0 provides comprehensive cross-platform support with pre-built wheels for all major operating systems and Python versions.
Platform | Architecture | Status | Wheel Available |
---|---|---|---|
Linux | x86_64 | ✅ Full Support | ✅ manylinux2014 |
macOS | x86_64 (Intel) | ✅ Full Support | ✅ macOS 10.15+ |
macOS | ARM64 (Apple Silicon) | ✅ Full Support | ✅ macOS 11.0+ |
Windows | x86_64 | ✅ Full Support | ✅ Windows 10+ |
Linux | ARM64 | ⚠️ Source Only* | ❌ No pre-built wheel |
*ARM64 Linux requires building from source with proper build tools installed.
Python Version | Linux x86_64 | macOS Intel | macOS ARM64 | Windows |
---|---|---|---|---|
3.8 | ✅ | ✅ | ✅ | ✅ |
3.9 | ✅ | ✅ | ✅ | ✅ |
3.10 | ✅ | ✅ | ✅ | ✅ |
3.11 | ✅ | ✅ | ✅ | ✅ |
3.12 | ✅ | ✅ | ✅ | ✅ |
3.13 | ✅ | ✅ | ✅ | ✅ |
# Automatic platform detection
pip install <wheel-url-from-releases>
# For ARM64 Linux or custom builds
pip install https://github.com/rezwanahmedsami/catzilla/releases/download/v0.1.0/catzilla-0.1.0.tar.gz
For detailed compatibility information, see SYSTEM_COMPATIBILITY.md.
Catzilla v0.1.0 has been extensively benchmarked against other popular Python web frameworks using wrk
with 100 concurrent connections over 10 seconds on a real production server.
Intel Xeon E3-1245 v5 @ 3.5GHz | 31GB RAM | AlmaLinux 8.10 | Python 3.8.12
This is authentic benchmark data collected from a real server environment, not synthetic or optimized conditions.
Massive Throughput Advantage: Catzilla delivers extraordinary performance compared to all competitors:
Endpoint | Catzilla | FastAPI | Django | Flask | vs FastAPI |
---|---|---|---|---|---|
Hello World | 24,759 | 2,844 | 2,339 | 2,875 | +771% faster |
JSON Response | 15,754 | 2,421 | 2,208 | 2,672 | +551% faster |
Path Parameters | 17,590 | 2,341 | 2,219 | 2,624 | +651% faster |
Query Parameters | 11,145 | 1,419 | 1,975 | 2,431 | +685% faster |
Complex JSON | 14,843 | 2,008 | 2,162 | 2,521 | +639% faster |
Ultra-Low Latency: Catzilla consistently delivers significantly lower latency:
📋 View Complete Performance Report - Detailed analysis with technical insights
Performance charts and detailed analysis available in the Complete Performance Report
Note: Comprehensive benchmark suite with automated testing available in benchmarks/
directory.
catzilla/
├── CMakeLists.txt # CMake build config
├── setup.py # Python package build entry (uses CMake)
├── CONTRIBUTING.md # Comprehensive development guide
├── .gitmodules # Git submodules: libuv, llhttp
├── deps/ # External C dependencies
│ ├── libuv/ # Event loop lib
│ └── unity/ # C testing framework
├── src/ # C core source
│ ├── core/ # Event loop, server & advanced router
│ │ ├── server.c/h # Main HTTP server implementation
│ │ └── router.c/h # Trie-based routing engine
│ └── python/ # CPython bindings
│ └── module.c # Python C extension
├── python/ # Python package (catzilla/)
│ └── catzilla/
│ ├── __init__.py # Public API
│ └── routing.py # High-level Router class
├── tests/ # Comprehensive test suite (90 tests)
│ ├── c/ # C unit tests (28 tests)
│ │ ├── test_router.c # Basic router tests
│ │ ├── test_advanced_router.c # Advanced routing features
│ │ └── test_server_integration.c # Server integration
│ └── python/ # Python tests (62 tests)
│ ├── test_advanced_routing.py # Python routing tests
│ ├── test_http_responses.py # HTTP response handling
│ ├── test_basic.py # Basic functionality
│ └── test_request.py # Request handling
├── examples/ # Example applications
├── scripts/ # Development scripts
│ ├── build.sh # Complete build script
│ ├── run_tests.sh # Unified test runner
│ └── run_example.sh # Example runner
├── docs/ # Sphinx-based docs
└── .github/ # CI/CD workflows
Clone the repository:
git clone https://github.com/rezwanahmedsami/catzilla.git
cd catzilla
git submodule update --init --recursive
Build and install:
./scripts/build.sh
Run an example:
./scripts/run_example.sh examples/hello_world/main.py
from catzilla import Router
app = Router()
# Static routes
@app.get("/")
def home():
return "Welcome to Catzilla!"
# Dynamic path parameters
@app.get("/users/{user_id}")
def get_user(request, user_id):
return f"User ID: {user_id}"
# Multiple parameters
@app.get("/users/{user_id}/posts/{post_id}")
def get_user_post(request, user_id, post_id):
return f"User {user_id}, Post {post_id}"
# Multiple HTTP methods on same path
@app.get("/api/data")
def get_data():
return {"method": "GET"}
@app.post("/api/data")
def create_data():
return {"method": "POST"}
# HTTP status codes are handled automatically:
# - 404 Not Found for missing routes
# - 405 Method Not Allowed for wrong methods (includes Allow header)
# - 415 Unsupported Media Type for parsing errors
For detailed development instructions, see CONTRIBUTING.md.
# Complete build (recommended)
./scripts/build.sh
# Manual CMake build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j$(nproc)
pip install -e .
The test suite includes 90 comprehensive tests covering both C and Python components:
# Run all tests (90 tests: 28 C + 62 Python)
./scripts/run_tests.sh
# Run specific test suites
./scripts/run_tests.sh --python # Python tests only (62 tests)
./scripts/run_tests.sh --c # C tests only (28 tests)
./scripts/run_tests.sh --verbose # Detailed output
# Test results overview:
# ✅ C Tests: 28/28 PASSING
# - Basic router: 3 tests
# - Advanced router: 14 tests
# - Server integration: 11 tests
# ✅ Python Tests: 62/62 PASSING
# - Advanced routing: 22 tests
# - HTTP responses: 17 tests
# - Basic functionality: 10 tests
# - Request handling: 13 tests
We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on:
📖 Complete Documentation - Comprehensive guides, API reference, and tutorials
Claude Sonnet 4 | GitHub Copilot | Visual Studio Code |
---|---|---|
![]() Architecture & Design | Code Intelligence | ![]() Development Environment |
This project was developed using cutting-edge AI-assisted development tools:
AI partnership enabled rapid development from an estimated 3-6 months to just 1 week, while maintaining production-grade code quality, comprehensive testing (90 tests), and cross-platform compatibility.
This represents the future of software development—human creativity enhanced by AI precision. 🚀
Rezwan Ahmed Sami 📧 samiahmed0f0@gmail.com 📘 Facebook
MIT License — See LICENSE
for full details.
FAQs
Ultra-fast Python web framework with C-accelerated routing
We found that catzilla demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.