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.
✨ 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
- Report bugs by creating an issue
- Follow @qakeapi for updates
- Join our Discord community
Made with ❤️ by the QakeAPI Team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97927cc938dea5d5fbaaaea8f90648b7076a431353a665a715fa27a1ab8dbfd2
|
|
| MD5 |
6b74877621a34a77fa4f87edb404c795
|
|
| BLAKE2b-256 |
adb64da250377a8fafdaf33bb939b466a3a56910250f5bd30e9b4492f502334d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef5d5dac83326a5d021728d3505be709370f014ba6a7238da2effe288bff0b07
|
|
| MD5 |
f14d209467263c7fa7777adddb4ef456
|
|
| BLAKE2b-256 |
ac6e13316cd18fa442cff96d94f082dc7d381bdcdfc73b9e1ab27c1544378868
|