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.7.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.7-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

File details

Details for the file puff_web-1.0.7.tar.gz.

File metadata

  • Download URL: puff_web-1.0.7.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.7.tar.gz
Algorithm Hash digest
SHA256 5b45719266dce3fcf756a07e9e5876d5f6bfbd4d1814bba880c18426d5b12c2b
MD5 ae23e9839e7d11dff53c8e571a3748c4
BLAKE2b-256 01bb55b30d54da33d46f49e0073a05b5d0a2067500acf37bf8bafb25bda043d3

See more details on using hashes here.

File details

Details for the file puff_web-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: puff_web-1.0.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5a5dd93d1a4f49158b32e67b70c49b88fb518b0efb347661415f9ca7c55634af
MD5 4a4163e78462ec60ca5c56becf90fed3
BLAKE2b-256 caca34ba506686795e0928441244eeaae272b1b21d1dd175d215defbe3e62f3a

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