Unfazed¶
Production Ready ASGI web framework
Unfazed is an engineering-oriented, async-first, testable, and extensible Python web framework built on starlette, with project organization inspired by django.
Getting Started¶
Build a complete student course enrollment system from scratch:
- Part 1: Installation and Project Creation — environment setup, project scaffolding, development server
- Part 2: Creating Applications and Hello World — app system, endpoints, routing basics
- Part 3: Data Models and Serializers — Tortoise ORM models, database migrations, CRUD serializers
- Part 4: API Interface Design and Schema Definition — parameter annotations, request/response schemas, OpenAPI docs
- Part 5: Business Logic Implementation — services layer, custom exceptions, database operations
- Part 6: Testing and Quality Assurance — Requestfactory, pytest fixtures, coverage
Features¶
- Configuration Module: settings
- Application Management: app
- Route Management: route
- Middleware Design: middleware
- Lifespan Management: lifespan
- Logging System: logging
- HTTP Related: request | response
- View Function Design: endpoint
- Tortoise-orm Related: ORM | Serializer
- Caching: cache
- Exception Handling: exception
- OpenAPI: openapi
- Command Line Design: command
- Test Client: test_client
- Concurrency: concurrency
Contrib¶
Dependencies¶
Unfazed stands on the shoulders of giants. We thank the following projects:
Unfazed Release Dependencies:
- starlette provides basic web framework capabilities
- pydantic provides data validation support
- tortoise-orm provides ORM support
- redis provides caching support
- click provides command-line support
- jinja2 provides template support
- anyio provides async support
- asgiref provides ASGI support
- uvicorn provides ASGI server support
- httpx provides test client
- itsdangerous provides session support
- python-multipart provides multipart/form-data support
- orjson provides json support
- aerich provides ORM migrate support
Unfazed Development Dependencies:
- mkdocs provides documentation support
- mkdocs-static-i18n provides multi-language support
- mypy provides static type checking support
- ruff provides code style checking support
- pytest provides testing support
- pytest-asyncio provides async testing support
- pytest-cov provides test coverage support
- asyncmy provides async mysql support
- pymysql provides mysql support
- types-pymysql provides mysql type checking support