Skip to content

Home

FastTower

FastTower — это молодой фреймворк основанный на FastAPI для быстрого создания серверных приложений с Django-like структурой.

PyPI - Downloads Supported Python versions

Features

  • Легкая настройка
  • Высокая производительность
  • Простота в использовании
  • Админ панель

Быстрый старт

Установка

В настоящее время официально поддерживаться только tortoise orm и админ панель для нее, но вы можете легко добавить свою поддержку бд модернизируя FastTower app в asgi.py файле

pip install fasttower[tortoise]
pip install git+https://github.com/pysashapy/taerich.git@0.0.1
poetry add fasttower[tortoise] git+https://github.com/pysashapy/taerich.git@0.0.1

Временная проблема

В настоящее время обязательно требуется установка именно fasttower[tortoise] и taerich.git, в будущих релизах мы избавим вас от этих обязательных зависимостей!

Создание проекта

Для начала создайте проект командой:

tower g p example
После выполнения команды, вы можете обнаружить Django-like структуру проекта и сразу же запустить сервер Он будет доступен по адресу http://127.0.0.1:8000/docs

python manage.py run
tower run

Note

Перед испольвазнием tower для запуска сервера, работы с бд и т.д. Убедитесь что установлена переменная окружения FASTTOWER_SETTINGS_MODULE

uvicorn example.asgi:app 
hypercorn example.asgi:app 

Полный пример

Пример содержит отправку писем по SMTP, кэширование, добавление новых команд, tortoise-orm, lifespans Github

Команды

Список доступных команд и их описания вы можете получить используя

tower --help
 Usage: tower [OPTIONS] COMMAND [ARGS]...                                                                                                                                                                                         

╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion          Install completion for the current shell.                                                                                                                                                        │
│ --show-completion             Show completion for the current shell, to copy it or customize the installation.                                                                                                                 │
│ --help                        Show this message and exit.                                                                                                                                                                      │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ db          Database commands                                                                                                                                                                                                  │
│ g           Generate project structures and app components for FastTower.                                                                                                                                                      │
│ run         Start the FastTower server                                                                                                                                                                                         │
│ shell       Launch an interactive shell.                                                                                                                                                                                       │
│ superuser   Create a superuser.                                                                                                                                                                                                │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯