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.0.tar.gz (54.7 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.0-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qakeapi-1.0.0.tar.gz
  • Upload date:
  • Size: 54.7 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.0.tar.gz
Algorithm Hash digest
SHA256 97927cc938dea5d5fbaaaea8f90648b7076a431353a665a715fa27a1ab8dbfd2
MD5 6b74877621a34a77fa4f87edb404c795
BLAKE2b-256 adb64da250377a8fafdaf33bb939b466a3a56910250f5bd30e9b4492f502334d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qakeapi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 43.8 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef5d5dac83326a5d021728d3505be709370f014ba6a7238da2effe288bff0b07
MD5 f14d209467263c7fa7777adddb4ef456
BLAKE2b-256 ac6e13316cd18fa442cff96d94f082dc7d381bdcdfc73b9e1ab27c1544378868

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