Этот проект предоставляет интерфейс командной строки (CLI) для управления и запуска вашего приложения. Утилита включает команды для инициализации структуры проекта и запуска сервера с использованием Uvicorn. Проект Puff построен на современном стеке технологий, включая PeeWee, MySQL, FastAPI, Jinja2 и JQuery, что делает его мощным инструментом для разработки веб-приложений.
Вы можете установить CLI-утилиту Puff из PyPI с помощью pip:
pip install puff-webПосле установки вы можете использовать CLI-утилиту, выполняя команду puff в терминале.
Чтобы создать новый проект с указанным именем, используйте команду init:
puff init --name my_project--nameили-n: Имя проекта (по умолчанию — "puff").
Эта команда создаст структуру проекта в текущей рабочей директории.
Чтобы запустить сервер с использованием Uvicorn, используйте команду runserver:
puff runserver --host 0.0.0.0 --port 8080--hostили-H: Имя хоста или IP-адрес, на котором будет запущен сервер (по умолчанию — "localhost").--portили-p: Порт, на котором сервер будет ожидать подключений (по умолчанию — 8000).
Эта команда запустит сервер с указанным хостом и портом, а также автоматически перезагрузит его при обнаружении изменений.
Проект Puff использует следующие технологии:
- PeeWee: Легковесная ORM (Object-Relational Mapping) для работы с базой данных. PeeWee позволяет легко управлять моделями данных и выполнять запросы к базе данных.
- MySQL: Популярная реляционная база данных, используемая для хранения данных приложения. MySQL обеспечивает высокую производительность и надежность.
- FastAPI: Современный фреймворк для создания API на Python. FastAPI отличается высокой скоростью работы и поддержкой асинхронных запросов.
- Jinja2: Шаблонизатор для генерации HTML-кода. Jinja2 позволяет легко создавать динамические веб-страницы с использованием шаблонов.
- JQuery: Библиотека JavaScript, упрощающая работу с DOM, обработку событий и выполнение AJAX-запросов. JQuery используется для создания интерактивных элементов на стороне клиента.
После инициализации проекта с помощью команды puff init, создаётся следующая структура файлов и директорий:
my_project/
├── app/ # Основная директория приложения
│ ├── __init__.py # Инициализация приложения
│ ├── main.py # Точка входа для FastAPI
│ ├── models/ # Модели данных (PeeWee)
│ ├── routes/ # Маршруты API (FastAPI)
│ ├── templates/ # Шаблоны Jinja2 для HTML
│ └── static/ # Статические файлы (CSS, JS, изображения)
└── requirements.txt # Зависимости проекта
-
Создайте новый проект с именем "my_app":
puff init --name my_app
-
Запустите сервер на
0.0.0.0и порту8080:puff runserver --host 0.0.0.0 --port 8080
Этот проект распространяется под лицензией MIT. Это означает, что вы можете свободно использовать, изменять и распространять код с минимальными ограничениями. Подробности можно найти в файле LICENSE.
Если у вас возникли вопросы или проблемы, пожалуйста, создайте issue в репозитории на GitHub.