Catzilla
Blazing-fast Python web framework with production-grade routing backed by a minimal, event-driven C core
Overview
Catzilla is a high-performance Python web framework built for teams that want Python ergonomics without paying the usual runtime tax. Its HTTP engine lives in C, uses libuv and llhttp, and exposes a clean decorator-based API that feels familiar to Python developers while keeping request handling tight and predictable.
It is designed for low-latency APIs, high-throughput services, streaming workloads, and systems where memory usage matters just as much as raw throughput.
Why Catzilla
- Fast where it matters: C-backed request parsing, routing, and response dispatch
- Pythonic to use:
@app.get(...), typed parameters, validation, and clean handler code - Built for production: middleware, background tasks, uploads, streaming, caching, and DI
- Memory-aware by default: jemalloc-backed allocation strategy where available
- Portable: supports Linux, macOS, and Windows with source and wheel-based workflows
🏆 Performance Snapshot
In the benchmark suite included in this repository, Catzilla currently leads FastAPI, Flask, and Django in direct localhost HTTP benchmarks for both single-worker and 10-worker runs. These numbers should be read as framework-overhead and runtime-efficiency comparisons, not as universal production guarantees. The current published artifact set covers the basic direct HTTP suite: hello world, JSON response, complex JSON, path parameters, and query parameters.
Single / 1 Worker
- Average throughput: 55,731 req/s
- Best endpoint:
basic_hello_worldat 82,817 req/s - Average latency: 2.02ms
- Average peak memory: 30.77MB
- Lead over FastAPI: 2.6x average throughput
Multi / 10 Workers
- Average throughput: 159,997 req/s
- Best endpoint:
basic_hello_worldat 190,612 req/s - Average latency: 7.49ms
- Average peak memory: 439.08MB
- Lead over FastAPI: 2.1x average throughput
Current benchmark docs and artifacts:
- Current report: PERFORMANCE_REPORT.md
- Transparent generated report: benchmarks/results/transparent_performance_report.md
- Methodology and reproduction guide: benchmarks/README.md
✨ Features
Core Runtime
- ⚡ Hybrid C/Python architecture for low-overhead request handling
- 🔥 Trie-based routing with dynamic path parameters and fast lookup
- 🧱 Minimal API surface with familiar decorator-style routing
- 🔁 Sync and async handlers with native deferred async response support
- 📦 Lean dependency model focused on the standard library and native code
Web Framework Features
- 🛣️ Dynamic path and query parameters with typed extraction
- ✅ Validation layer for request models and parameter constraints
- 🧩 Dependency injection and middleware composition
- 📤 Streaming responses, file uploads, background tasks, and static file serving
- 🚦 HTTP error handling for 404, 405, 415, and framework-level exceptions
Developer Experience
- 📖 Readable Python handlers on top of a high-performance core
- 🧪 Comprehensive unit and end-to-end validation across Python and C layers
- 🔧 Cross-platform build and packaging support
- 🧰 Benchmark suite included so performance claims are reproducible
🚀 Memory Architecture
Catzilla ships with a memory strategy tuned for long-running services, including jemalloc integration where available. The goal is simple: keep throughput high while reducing fragmentation and avoiding the typical memory blow-up that shows up under sustained load.
Memory Features
app = Catzilla()
# Real-time memory statistics
stats = app.get_memory_stats()
print(f"Memory efficiency: {stats['fragmentation_percent']:.1f}%")
print(f"Allocated: {stats['allocated_mb']:.2f} MB")
Allocator Strategy
- Request Arena: Optimized for short-lived request processing
- Response Arena: Efficient response building and serialization
- Cache Arena: Long-lived data with minimal fragmentation
- Static Arena: Static file serving with memory pooling
- Task Arena: Background operations with isolated allocation
📦 Installation
Quick Start (Recommended)
Install Catzilla from PyPI:
pip install catzilla
System Requirements:
- Python 3.9+ (3.10+ recommended)
- Windows, macOS, or Linux
- Minimal runtime dependency footprint (
psutilonly)
Platform-Specific Features:
- Linux/macOS: jemalloc memory allocator (high performance)
- Windows: Standard malloc (reliable performance)
- See Platform Support Guide for details
Installation Verification
python -c "import catzilla; print(f'Catzilla v{catzilla.__version__} installed successfully!')"
Alternative Installation Methods
From GitHub Releases
For specific versions or if PyPI is unavailable:
# Download specific wheel for your platform from:
# https://github.com/rezwanahmedsami/catzilla/releases/latest
pip install <downloaded-wheel-file>
From Source (Development)
For development or contributing:
# 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 in development mode
pip install -e .
Build Requirements (Source Only):
- Python 3.9-3.14
- CMake 3.15+
- C Compiler: GCC/Clang (Linux/macOS) or MSVC (Windows)
🚀 Quick Start
Create a small application with sync routes, async routes, and typed parameters:
# app.py
from typing import Optional
import asyncio
from catzilla import BaseModel, Catzilla, JSONResponse, Path, Query, Request, Response
app = Catzilla(
production=False,
show_banner=True,
log_requests=True,
)
class UserCreate(BaseModel):
id: Optional[int] = None
name: str
email: Optional[str] = None
@app.get("/")
def home(request: Request) -> Response:
return JSONResponse({
"framework": "catzilla",
"message": "Hello from Catzilla",
"mode": "sync",
})
@app.get("/health")
async def health(request: Request) -> Response:
await asyncio.sleep(0)
return JSONResponse({
"status": "ok",
"mode": "async",
})
@app.get("/users/{user_id}")
def get_user(request: Request, user_id: int = Path(..., ge=1)) -> Response:
return JSONResponse({
"user_id": user_id,
"message": f"Retrieved user {user_id}",
})
@app.get("/search")
def search(
request: Request,
q: str = Query(""),
limit: int = Query(10, ge=1, le=100),
) -> Response:
return JSONResponse({
"query": q,
"limit": limit,
"results": [{"id": index, "title": f"Result {index}"} for index in range(limit)],
})
@app.post("/users")
def create_user(request: Request, user: UserCreate) -> Response:
return JSONResponse({
"message": "User created successfully",
"user": {"id": user.id, "name": user.name, "email": user.email},
}, status_code=201)
if __name__ == "__main__":
app.listen(port=8000, host="127.0.0.1")
Run your app:
python app.py
Then visit http://127.0.0.1:8000.
Backward Compatibility
Existing code works unchanged (App is an alias for Catzilla):
from catzilla import App # Still works!
app = App() # Same memory benefits
🖥️ System Compatibility
Catzilla provides comprehensive cross-platform support with pre-built wheels for all major operating systems and Python versions.
📋 Supported Platforms
| 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 Support
| Python Version | Linux x86_64 | macOS Intel | macOS ARM64 | Windows |
|---|---|---|---|---|
| 3.9 | ✅ | ✅ | ✅ | ✅ |
| 3.10 | ✅ | ✅ | ✅ | ✅ |
| 3.11 | ✅ | ✅ | ✅ | ✅ |
| 3.12 | ✅ | ✅ | ✅ | ✅ |
| 3.13 | ✅ | ✅ | ✅ | ✅ |
| 3.14 | ✅ | ✅ | ✅ | ✅ |
🔧 Installation Methods by Platform
✅ Pre-built Wheels (Recommended)
- Instant installation with zero compilation time
- No build dependencies required (CMake, compilers, etc.)
- Optimized binaries for maximum performance
- Available for: Linux x86_64, macOS (Intel/ARM64), Windows x86_64
# Automatic platform detection
pip install <wheel-url-from-releases>
🛠️ Source Installation
- Build from source when pre-built wheels aren't available
- Requires build tools: CMake 3.15+, C compiler, Python headers
- Longer installation time due to compilation
# For ARM64 Linux or custom builds
pip install https://github.com/rezwanahmedsami/catzilla/releases/download/vx.x.x/catzilla-x.x.x.tar.gz
⚡ Performance Notes
- Native performance on all supported platforms
- Architecture-specific optimizations in pre-built wheels
- Cross-platform C core ensures consistent behavior
- Platform-specific wheel tags for optimal compatibility
For detailed compatibility information, see SYSTEM_COMPATIBILITY.md.
📊 Performance Benchmarks
Catzilla includes a benchmark harness that compares it against FastAPI, Flask, and Django across direct HTTP paths and feature-specific slices. The current published benchmark artifacts in this repository cover the basic direct HTTP suite in two modes: Single / 1 worker and Multi / 10 workers.
🏗️ Real Server Environment
Direct localhost server benchmarking | wrk | macOS arm64 | 10s duration
This is real benchmark data collected from the repository benchmark runner. It is useful for comparing framework overhead and implementation efficiency on the same machine and workload shape.
Current Benchmark Highlights
Framework Averages
| Mode | Catzilla | FastAPI | Flask | Django |
|---|---|---|---|---|
| Single / 1 worker avg RPS | 55,731 | 21,251 | 3,410 | 3,337 |
| Single / 1 worker avg latency | 2.02ms | 6.31ms | 33.29ms | 34.33ms |
| Single / 1 worker avg peak memory | 30.77MB | 58.17MB | 70.84MB | 72.87MB |
| Multi / 10 workers avg RPS | 159,997 | 74,915 | 10,160 | 9,927 |
| Multi / 10 workers avg latency | 7.49ms | 15.83ms | 97.99ms | 101.31ms |
| Multi / 10 workers avg peak memory | 439.08MB | 636.17MB | 420.09MB | 442.02MB |
Endpoint Highlights
- Best current result:
basic_hello_worldat 82,817 req/s single-worker and 190,612 req/s at 10 workers. - Lowest current Catzilla result in the published basic suite:
basic_query_paramsat 34,912 req/s single-worker and 125,274 req/s at 10 workers. - Catzilla leads every published endpoint in both worker modes in the current direct HTTP dataset.
Benchmark Links
- PERFORMANCE_REPORT.md: release-facing benchmark report for the current stable version
- benchmarks/results/basic_performance_report.md: generated detailed table for the latest basic run
- benchmarks/results/transparent_performance_report.md: generated artifact summary with embedded charts
- benchmarks/README.md: methodology, commands, and interpretation notes
📈 Performance Visualizations
📋 View Complete Performance Report - Detailed analysis with current charts and endpoint-by-endpoint data
When to Choose Catzilla
- ⚡ High-throughput requirements (API gateways, microservices, data pipelines)
- 🎯 Low-latency critical applications (real-time APIs, financial trading, gaming backends)
- 🧬 Resource efficiency (cloud computing, embedded systems, edge computing)
- 🚀 C-level performance with Python developer experience
Note: Comprehensive benchmark suite with automated testing available in benchmarks/ directory.
🔧 Development
For detailed development instructions, see CONTRIBUTING.md.
Build System
# 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 .
Testing
The project includes C tests, Python unit tests, and end-to-end validation:
# Run all tests ( C + Python Unit + e2e)
./scripts/run_tests.sh
# Run specific test suites
./scripts/run_tests.sh --python # Python Unit tests only
./scripts/run_tests.sh --c # C tests only
./scripts/run_tests.sh --e2e # e2e tests only
./scripts/run_tests.sh --verbose # Detailed output
Performance Features
- Trie-Based Routing: O(log n) average case lookup performance
- Memory Efficient: Zero memory leaks, optimized allocation patterns
- Route Conflict Detection: Warns about potentially overlapping routes during development
- Method Normalization: Case-insensitive HTTP methods with automatic uppercase conversion
- Parameter Injection: Automatic extraction and injection of path parameters to handlers
🎯 Performance Characteristics
- Route Lookup: O(log n) average case with advanced trie data structure
- Memory Management: Zero memory leaks with efficient recursive cleanup
- Scalability: Tested with 100+ routes without performance degradation
- Concurrency: Thread-safe design ready for production workloads
- HTTP Processing: Built on libuv and llhttp for maximum throughput
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on:
- Setting up the development environment
- Building and testing the project
- Code style and conventions
- Submitting pull requests
- Debugging and performance optimization
📚 Documentation
📖 Complete Documentation - Comprehensive guides, API reference, and tutorials
Quick References
- Getting Started Guide - Quick start tutorial
- System Compatibility - Platform support and installation guide
- Examples - Real-world example applications
- Contributing - Development guide for contributors
👤 Author
Rezwan Ahmed Sami 📧 samiahmed0f0@gmail.com 📘 Facebook
🪪 License
MIT License — See LICENSE for full details.
Metadata
Release files for catzilla 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| catzilla-0.2.3.tar.gz | 3.2 MB | Details |
Built distributions (wheels)
Total release size: 39.2 MB
Release files / catzilla-0.2.3.tar.gz
| Download URL | catzilla-0.2.3.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e26e18c1dfbb22736fb4df6163893911ea803964b4f3d6cf9b7bb4cafc7de40
|
|
BLAKE2b-256 checksum How to use checksums |
bc59ab0af5094d3d12bb464479f8bbbc3c6b32536b91abb473299f80afadf83c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp314-cp314-win_amd64.whl
| Download URL | catzilla-0.2.3-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 512.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8dcfb5e2c5e80e0845880f0278e4f7720a5f6ca40005d65d9538405604d4ecd3
|
|
BLAKE2b-256 checksum How to use checksums |
d2ba29c70056f9b5cd5a433cb69455d97ec7b94631b02242692d1f48a847a7b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | catzilla-0.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
237ceab823c4874aa4630e306740c391f5dfd4a05c3abe1b76e3c39bbc5338e3
|
|
BLAKE2b-256 checksum How to use checksums |
52d7dd2cdab50aadbf44c40ae6f4025e0bfb909273ae1a647cc42c3f5b93b765
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | catzilla-0.2.3-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 854.3 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6453fcc98e022cf35f7d1caec634adf7ff74953e45f683fc386a7e4f4face1d5
|
|
BLAKE2b-256 checksum How to use checksums |
4c01b970540951038ba80a3d5561f21227d4c835e345db869e4194e9da4e9a13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | catzilla-0.2.3-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 849.9 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
0f9c0d361ca0e1a155d9c0e97c387d407750cc119d4bef1d84b9bc117199a695
|
|
BLAKE2b-256 checksum How to use checksums |
126d7cd11cb78e3de9654e545d602fb72a108921e9c851fc45edf1774a9c0da0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp313-cp313-win_amd64.whl
| Download URL | catzilla-0.2.3-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 500.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fa7a8860e82909496709251b275a12615211e72cdb06ec2c66c532ccf62e8f0d
|
|
BLAKE2b-256 checksum How to use checksums |
a78b05fad1627aff0b31a8bcac1f8b9c780781085c1e6ee510e51eea4c652275
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | catzilla-0.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ea2eb642f3ea2451043d1c2296aeeabf56f85308ae7c8254438e49b10600f2a
|
|
BLAKE2b-256 checksum How to use checksums |
e156c1e8c12621808c3eb2b42d1b4b4726c94a3f28d32c35817255701b6c673c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | catzilla-0.2.3-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 854.3 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cb06fedcf97430d5d871a416503a2f4df83d097caa99344337dcd0b7dfc1f01f
|
|
BLAKE2b-256 checksum How to use checksums |
3f153217cb031f33efe3c318f2eb555956ade95f08bfd04df582ba3e0803a85f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp313-cp313-macosx_10_15_x86_64.whl
| Download URL | catzilla-0.2.3-cp313-cp313-macosx_10_15_x86_64.whl |
|---|---|
| Size | 850.0 kB |
| Tags | CPython 3.13 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
0625740120aa36697577ec75b72ceb3e9b89809091e883660ff1fcb3481db576
|
|
BLAKE2b-256 checksum How to use checksums |
86833c955eb0ecdd2517d7b98bfe0d0e7a404d6175d00a1830e1040cf90e26b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp312-cp312-win_amd64.whl
| Download URL | catzilla-0.2.3-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 500.9 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
32ee703a1c05ab0ddffc43b26af5cf742ef793b851cb9e544604360b92279664
|
|
BLAKE2b-256 checksum How to use checksums |
bcb3a97f664f86d80c085736e6a39b85087eaf46b32fadbf3c3d015c60784838
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | catzilla-0.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
2bec3b1cf202eb1e7d749ea29e790bd70c4727f844f8e6e30ac3b3b7ccdff66b
|
|
BLAKE2b-256 checksum How to use checksums |
063feb7b34317950be8ec484467ac4ebf3735c23abb385d09f6e6e2e58b96886
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | catzilla-0.2.3-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 854.3 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
baf307e4c8dabca76e6c36ad4b85149054b0f408a82acf5f610d8dc2cc586dbf
|
|
BLAKE2b-256 checksum How to use checksums |
87d7619c9ed8728f399d414e2cb52f6ae49b130077245937eedca965a7ea8aa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp312-cp312-macosx_10_15_x86_64.whl
| Download URL | catzilla-0.2.3-cp312-cp312-macosx_10_15_x86_64.whl |
|---|---|
| Size | 849.9 kB |
| Tags | CPython 3.12 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
f397fde86cffaad2e6ce4b02955eba622e9f9ee4d68afdb4b4803842f96cd996
|
|
BLAKE2b-256 checksum How to use checksums |
49631c7ceefe2bfec79b666313938f495eee5abfdc923acb72f0fb9c4120c7d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp311-cp311-win_amd64.whl
| Download URL | catzilla-0.2.3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 500.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
40cd46f8758792dedc7e3892d6ef3f38bc40b114c51ec7db4bf498ccc3bc40dd
|
|
BLAKE2b-256 checksum How to use checksums |
e908ddaa0d47e7155dd7a36303346a9a401a919b0973a2ec65a47198d1293494
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | catzilla-0.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
aafde32d025d7933d6f9a831a594cd5bedf03c88d5c9c03f2064938fb1343691
|
|
BLAKE2b-256 checksum How to use checksums |
a24be6fdf4e81726ef6c298032ae3b0662b68a3539ac6ae061d6296c662606d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | catzilla-0.2.3-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 851.6 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5d3a02983141a5bd69310fb2ec8ee68850e92fc082c9a85cc91f504f672a906b
|
|
BLAKE2b-256 checksum How to use checksums |
9cb3c36d5b40c6c8b1f011f23900fa0ee99d48b0cb070b862741cf7cc4b16d83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp311-cp311-macosx_10_15_x86_64.whl
| Download URL | catzilla-0.2.3-cp311-cp311-macosx_10_15_x86_64.whl |
|---|---|
| Size | 845.5 kB |
| Tags | CPython 3.11 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
dd75ab65acb223653a117ba8cd66c4c39717f06961fcd00dba877936fce80da0
|
|
BLAKE2b-256 checksum How to use checksums |
62315618189ca1d8aff8476e8ca757a1f57352bd8babe47a8b6b3ea2d4612520
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp310-cp310-win_amd64.whl
| Download URL | catzilla-0.2.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 500.8 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7e7a2c45a460cee1f4000849baea374dfd2b13d117a91cc023019c3d7e3ad835
|
|
BLAKE2b-256 checksum How to use checksums |
95ae4a352f952f723f7c39b8c0d017c224d76e9dccd8febfedc36ecd1119713e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | catzilla-0.2.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
2fcdf54a5c99f60ca791a2f36bfc9707a9d3e9d93477e7690c989c59a2d1b2aa
|
|
BLAKE2b-256 checksum How to use checksums |
3391d7aba94309736d166e1ba4654dc5c1f7993eb5dc69d3554516743def4d49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | catzilla-0.2.3-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 851.5 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
dfa934d3d7abcce11630907fdce59a005721b3b1202a300740484ba63cc16a2e
|
|
BLAKE2b-256 checksum How to use checksums |
80065287bde969d3bce93288db5847b45258402e6cf3a59a74052df2d1569aa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp310-cp310-macosx_10_15_x86_64.whl
| Download URL | catzilla-0.2.3-cp310-cp310-macosx_10_15_x86_64.whl |
|---|---|
| Size | 845.2 kB |
| Tags | CPython 3.10 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
aa7830e03e0466af614586df08a34539fbd1c858e11eceaabed7936961f1a5dd
|
|
BLAKE2b-256 checksum How to use checksums |
8a86dc38e2ab36fb6ed42e5e8122952cce495263833750671e6c1e5af3bff40a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp39-cp39-win_amd64.whl
| Download URL | catzilla-0.2.3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 500.9 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b7c5148adae5d1bee3f45ced382073dd89887bc4298e63ab59d530fd322680a5
|
|
BLAKE2b-256 checksum How to use checksums |
5f8af4eafea2dc87d6bbbf8dbc0af910ee352fcf4b70c9c327e2acfabed07a80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | catzilla-0.2.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
db967ee7d4d0c6cd1ca2374f638b37711056fa8fc5e4fe5e7b61a60fbb07c979
|
|
BLAKE2b-256 checksum How to use checksums |
8972deff08e5c1b1243c70841df586bc8fa5378d82585571b7aaed6731a0f28e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | catzilla-0.2.3-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 851.4 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5fee25993c366fab285bd9c1c29e5724ccee2c5b636d2088b0dffefed2c88247
|
|
BLAKE2b-256 checksum How to use checksums |
4f8c8e176b4d5f062c62b428d22c21713c53843bbcd14c72571f01a844956bbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency logRelease files / catzilla-0.2.3-cp39-cp39-macosx_10_15_x86_64.whl
| Download URL | catzilla-0.2.3-cp39-cp39-macosx_10_15_x86_64.whl |
|---|---|
| Size | 845.3 kB |
| Tags | CPython 3.9 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
4962170b2b6e244c9d74d9815320d19810985fbb63d693acad0d56ca58bbd196
|
|
BLAKE2b-256 checksum How to use checksums |
58a9c6351d3fcefc5336a4d59a1ef830766de490b921189fb390a3dafc6bb64f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 11, 2026.
Transparency log