A lightweight Python web framework inspired by FastAPI, featuring async support, WebSocket capabilities, and middleware.
- Async request handling
- Route parameters
- WebSocket support
- Middleware system
- Request validation
- CORS support
- Form data handling
- ASGI compatibility
pip install miniapi3
For WebSocket support:
pip install miniapi3[websockets]
# main.py
from miniapi3 import MiniAPI, Request
app = MiniAPI()
@app.get("/")
async def hello():
return {"message": "Hello, World!"}
@app.get("/users/{user_id}")
async def get_user(request: Request):
user_id = request.path_params["user_id"]
return {"user_id": user_id}
# WebSocket example
@app.websocket("/ws")
async def websocket_handler(ws):
while True:
message = await ws.receive()
await ws.send(f"Echo: {message}")
if __name__ == "__main__":
app.run()
uvicorn main:app
pip install pydantic
from miniapi3 import MiniAPI
from pydantic import BaseModel
app = MiniAPI()
class UserCreate(BaseModel):
name: str
@app.post("/users")
async def create_user(user: UserCreate):
return dict(user)
from miniapi3 import MiniAPI, CORSMiddleware
app = MiniAPI()
app.add_middleware(CORSMiddleware, allow_origins=["*"])
from miniapi3 import MiniAPI, html
app = MiniAPI()
@app.get("/")
async def index():
return html("<h1>Hello, World!</h1>")