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.1.tar.gz (61.9 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.1-py3-none-any.whl (53.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for qakeapi-1.0.1.tar.gz
Algorithm Hash digest
SHA256 44d03314c997d8bbd3575936bbf9ce6f2712580f8813715aabc33d1192ee620e
MD5 692b0e9c2081ba45e2af4e762e10bf95
BLAKE2b-256 22c19f5b23fb522df2023c3250ed49071742d1ff44afe1b02775ee0e3e03fcac

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for qakeapi-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b70773e1ecf1a1f7a92981ec396a19d9ec85d3e8da90709bb05366c4b4620a55
MD5 0790f617b7a0f0373e05a4f36e088b9d
BLAKE2b-256 f02e2b27aed0ffe32332bc62706a836285c9aef169bfad17a71931d57ab11ef5

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