Skip to main content

A lightweight ASGI web framework

Project description

QakeAPI 🚀

A modern, lightweight, and fast ASGI web framework for building APIs in Python, focusing on developer experience and performance.

Tests Python Version License PyPI version Downloads Code style: black

QakeAPI Logo

✨ Why QakeAPI?

  • 🚀 High Performance: Built on ASGI for maximum speed and scalability
  • 💡 Intuitive API: Clean, Pythonic interface that feels natural
  • 📝 Auto Documentation: OpenAPI/Swagger docs generated automatically
  • 🔒 Security First: Built-in authentication, CORS, and rate limiting
  • 🎯 Type Safety: Full type hints support for better IDE integration
  • 📦 Modular: Easy to extend with middleware and plugins

🎯 Perfect For

  • RESTful APIs
  • Microservices
  • Real-time applications
  • API Gateways
  • Backend for SPAs
  • Serverless Functions

🚀 Quick Start

pip install qakeapi

Create a simple API in seconds:

from qakeapi import Application, Response
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float

app = Application()

@app.get("/")
async def hello():
    return {"message": "Hello, World!"}

@app.post("/items")
async def create_item(item: Item):
    return Response.json(item.dict(), status_code=201)

if __name__ == "__main__":
    app.run()

🌟 Key Features

Authentication & Security

from qakeapi.security import requires_auth, BasicAuthBackend

auth = BasicAuthBackend()

@app.get("/protected")
@requires_auth(auth)
async def protected():
    return {"message": "Secret data"}

Rate Limiting

from qakeapi.security import RateLimiter

limiter = RateLimiter(requests_per_minute=60)
app.add_middleware(limiter)

CORS Support

from qakeapi.middleware import CORSMiddleware

cors = CORSMiddleware(allow_origins=["http://localhost:3000"])
app.add_middleware(cors)

📚 Documentation

🔥 Real-World Examples

Check out our examples directory for production-ready examples:

🤝 Contributing

We love your input! We want to make contributing to QakeAPI as easy and transparent as possible. Check out our Contributing Guide to get started.

Development Setup

git clone https://github.com/Craxti/qakeapi.git
cd qakeapi
pip install -e ".[dev]"
pytest

🌟 Show Your Support

Give a ⭐️ if this project helped you! Every star helps increase the visibility of the project.

📝 License

MIT License - feel free to use this project for your applications.

🙏 Acknowledgments

  • Inspired by modern web frameworks like FastAPI and Starlette
  • Built with love for the Python community
  • Thanks to all our contributors!

📬 Get in Touch


Made with ❤️ by the QakeAPI Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qakeapi-1.0.2.tar.gz (307.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qakeapi-1.0.2-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

File details

Details for the file qakeapi-1.0.2.tar.gz.

File metadata

  • Download URL: qakeapi-1.0.2.tar.gz
  • Upload date:
  • Size: 307.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for qakeapi-1.0.2.tar.gz
Algorithm Hash digest
SHA256 257cc493d552bc19189b419d63ceb6c1128fafc4215d39cb5132656c8a000fa5
MD5 5685f780298e9de1c25ec7fb44a9978c
BLAKE2b-256 70a7bb3fa43557a001a32545fb6add63ef6d2336c28bb8907d9eba5459524668

See more details on using hashes here.

File details

Details for the file qakeapi-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: qakeapi-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 74.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for qakeapi-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2bdfd2fb7e542fdcc084d85c38ac3b8a59c11671459aa254a39aa4084d1f60de
MD5 eb61b2a2df16e97f2b39953ff6824078
BLAKE2b-256 c335c626dafce32c5d144c9913036a2a189585f4dfc0b5cace425aa57021ce3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page