Skip to main content

Инструмент для быстрого развёртывания веб-приложений на стеке 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      # Зависимости проекта

Пример использования

  1. Создайте новый проект с именем "my_app":

    puff init --name my_app
    
  2. Запустите сервер на 0.0.0.0 и порту 8080:

    puff runserver --host 0.0.0.0 --port 8080
    

Лицензия

Этот проект распространяется под лицензией MIT. Это означает, что вы можете свободно использовать, изменять и распространять код с минимальными ограничениями. Подробности можно найти в файле LICENSE.

Поддержка

Если у вас возникли вопросы или проблемы, пожалуйста, создайте issue в репозитории на GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puff_web-1.0.5.tar.gz (40.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

puff_web-1.0.5-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

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

Hashes for puff_web-1.0.5.tar.gz
Algorithm Hash digest
SHA256 1dfdc3ca758dbe4694f85bee67a102f639356ce8ecff34fb2bf1b592e6ccdd50
MD5 b29aacb49f15301b9edc77cc8ad79e62
BLAKE2b-256 4019929c38f41538058918435c5d86c951ca51dff7904923f58c7cb7d6ecb6e1

See more details on using hashes here.

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

Hashes for puff_web-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a75d197781026cd4d97dc9edfcb05293255b856f779f3f8ba2e37823f05c607
MD5 ad0dcb82a9451ba4498a0683d982c2e4
BLAKE2b-256 c0706a15854dbce4c42d3e8f44e1f0e4a5ad3c577dd9b6ed56ed37fa49a71b9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page