Skip to content

Welcome to Ushka

/ᐠ ˵> ⩊ <˵マ

Ushka is a cute and agile Python web framework.

Ushka is a modern, ASGI-based web framework for Python, designed for simplicity, performance, and developer happiness. It provides a robust toolset for building everything from simple APIs to full-featured web applications.

Core Philosophy

  • Cute & Agile: Writing backend code should be a pleasant and productive experience. Ushka's APIs are designed to be intuitive and clean.
  • Convention over Configuration: Sensible defaults and project structure get you started quickly. For example, routes are automatically discovered from your function names in views.py files.
  • Batteries Included, but Pluggable: Ushka comes with a rich set of built-in features like an ORM, admin panel, caching, and task queuing. However, the framework is modular, allowing you to use only what you need.
  • Modern Python: Ushka leverages modern Python features like type hints and async/await to their full potential.

Key Features

  • ASGI Native: Built on the modern Asynchronous Server Gateway Interface for high performance.
  • Dependency Injection: A powerful, yet simple DI container for managing services and dependencies.
  • Integrated ORM: A fully asynchronous ORM built on SQLAlchemy, featuring an Active Record pattern for intuitive database interactions.
  • Pydantic-based Configuration: Type-safe and validated configuration loaded from ushka.toml files.
  • Auto-discovery: Automatic discovery of routes and services within your application modules.
  • Rich CLI Tool: A command-line interface for creating projects, managing database migrations, running dev servers, and more.
  • Built-in Admin Panel: An auto-generated admin interface for your database models.
  • Extensible: Includes support for caching, background task queuing, PWA features, and more.

Ready to get started? Check out our Getting Started Guide.