Build blazing fast APIs with automatic documentation, dependency injection, and type safety. Litestar makes complex web development simple.
import uvicorn
from litestar import Litestar, get
@get("/")
async def hello() -> dict[str, str]:
return {"message": "Hello, World!"}
app = Litestar(route_handlers=[hello])
if __name__ == "__main__":
uvicorn.run(app)
import uvicorn
from litestar import Litestar
from controllers.class_controller import MyController
from controllers.router_controller import router
app = Litestar(route_handlers=[MyController, router])
if __name__ == "__main__":
uvicorn.run(app)
import uvicorn
from litestar import Litestar, post
from schema import User, UserResponseDTO
@post("/users", return_dto=UserResponseDTO)
async def create_user(data: User) -> User:
return User(name=data.name, email=data.email, password=data.password)
app = Litestar(route_handlers=[create_user], debug=True)
if __name__ == "__main__":
uvicorn.run(app)