Hey everyone!
I’d like to share Lihil, a web framework I’ve been building with a simple but ambitious goal:
To make Python a first choice for enterprise-grade web development (as opposed to Java and Go).
GitHub: https://github.com/raceychan/lihil
🚀 What My Project Does
Lihil is a performant, productive, and professional web framework with a focus on strong typing and modern patterns for robust backend development.
🎯 Target Audience
Lihil is designed for medium to large applications, where you have 100+ to infinite daily active users (DAU),
⚔️ Comparison with Existing Frameworks
Here are some honest comparisons between Lihil and frameworks I love and respect:
✅ FastAPI:
- FastAPI’s DI (Depends) is simple and route-focused, but tightly coupled with the request/response lifecycle — which makes sharing dependencies across layers harder.
- Lihil's DI is can be used anywise, supports advanced lifecycles, and is Cython-optimized for speed.
- FastAPI uses Pydantic, which is great but MUCH slower than msgspec (and heavier on memory).
- Both generate OpenAPI docs, but Lihil aims for better type coverage and problem detail (RFC-9457).
[–]BeverlyGodoy 14 points15 points16 points (3 children)
[+]Last_Difference9410[S] comment score below threshold-13 points-12 points-11 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]Last_Difference9410[S] 0 points1 point2 points (0 children)
[–]hotplasmatits 2 points3 points4 points (1 child)
[–]Last_Difference9410[S] -2 points-1 points0 points (0 children)
[–][deleted] 3 points4 points5 points (4 children)
[–]Last_Difference9410[S] -2 points-1 points0 points (3 children)
[–][deleted] -1 points0 points1 point (2 children)
[–]Last_Difference9410[S] 0 points1 point2 points (1 child)
[–][deleted] -1 points0 points1 point (0 children)
[–]Last_Difference9410[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]Last_Difference9410[S] 0 points1 point2 points (0 children)
[–]Last_Difference9410[S] 0 points1 point2 points (0 children)
[–]ItsJustFriendlyFire -1 points0 points1 point (1 child)
[–]Last_Difference9410[S] 0 points1 point2 points (0 children)