Инструмент для быстрого развёртывания веб-приложений на стеке PeeWee + MySQL + FastAPI + Jinja2 + JQuery
Project description
CLI-утилита для управления проектом Puff
Этот проект предоставляет интерфейс командной строки (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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file puff_web-1.0.5.tar.gz.
File metadata
- Download URL: puff_web-1.0.5.tar.gz
- Upload date:
- Size: 40.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dfdc3ca758dbe4694f85bee67a102f639356ce8ecff34fb2bf1b592e6ccdd50
|
|
| MD5 |
b29aacb49f15301b9edc77cc8ad79e62
|
|
| BLAKE2b-256 |
4019929c38f41538058918435c5d86c951ca51dff7904923f58c7cb7d6ecb6e1
|
File details
Details for the file puff_web-1.0.5-py3-none-any.whl.
File metadata
- Download URL: puff_web-1.0.5-py3-none-any.whl
- Upload date:
- Size: 38.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a75d197781026cd4d97dc9edfcb05293255b856f779f3f8ba2e37823f05c607
|
|
| MD5 |
ad0dcb82a9451ba4498a0683d982c2e4
|
|
| BLAKE2b-256 |
c0706a15854dbce4c42d3e8f44e1f0e4a5ad3c577dd9b6ed56ed37fa49a71b9d
|