Skip to main content

⚡ CLI инструмент для генерации структуры проектов

Project description

██████╗ ███████╗███████╗ █████╗ ███╗   ███╗██████╗ ██╗     ███████╗
██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗██║     ██╔════╝
██║  ██║███████╗███████╗███████║██╔████╔██║██████╔╝██║     █████╗  
██║  ██║╚════██║╚════██║██╔══██║██║╚██╔╝██║██╔══██╗██║     ██╔══╝  
██████╔╝███████║███████║██║  ██║██║ ╚═╝ ██║██████╔╝███████╗███████╗
╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚══════╝╚══════╝

⚡ Мощный CLI-инструмент для генерации структуры проектов

Python License Version Stars

ОсобенностиУстановкаИспользованиеПримерыДокументация


🚀 Особенности

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

Создавайте готовые структуры проектов одной командой. Больше не нужно тратить время на создание папок и файлов вручную!

🎯 Готовые шаблоны

Профессиональные структуры для FastAPI проектов с лучшими практиками из коробки.

🔧 Гибкость

Массовое создание файлов и папок с автоматической генерацией вложенных директорий.

💡 Простота

Интуитивный интерфейс командной строки с подробной справкой и автодополнением.

📦 Установка

Из PyPI (рекомендуется)

pip install dssamble

Из исходников

# Клонируйте репозиторий
git clone https://github.com/Dasakami/dssamble.git
cd dssamble

# Установите в режиме разработки
pip install -e .

Проверка установки

dssamble --version

🎮 Использование

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

# Посмотреть доступные команды
dssamble --help

# Узнать о доступных типах структур
dssamble info

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

1️⃣ Базовая структура FastAPI

dssamble create basic my_api_project

Сгенерированная структура:

my_api_project/
├── app/
│   └── __init__.py
├── module/
│   └── __init__.py
├── services/
│   └── __init__.py
├── test/
│   └── __init__.py
└── main.py

2️⃣ Fullstack приложение с аутентификацией

dssamble create fullstack my_fullstack_app

Сгенерированная структура:

my_fullstack_app/
├── backend/
│   └── test/
│       └── __init__.py
└── frontend/
    └── public/

Массовое создание файлов

# Создать несколько файлов
dssamble createfiles main.py config.py readme.md

# Создать файлы в папках (папки создаются автоматически)
dssamble createfiles utils/helpers.py models/user.py static/css/style.css

# Создать сложную структуру за раз
dssamble createfiles \
  src/core/config.py \
  src/api/routes.py \
  src/db/models.py \
  tests/test_api.py \
  docs/README.md

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

Пример 1: REST API проект

# Создаем базовую структуру
dssamble create basic blog_api

# Добавляем необходимые файлы
cd blog_api
dssamble createfiles \
  app/models/post.py \
  app/models/user.py \
  app/routes/posts.py \
  app/routes/auth.py \
  app/database.py \
  app/schemas.py \
  requirements.txt \
  .env.example

Пример 2: Микросервис с тестами

# Создаем проект
dssamble create basic user_service

# Добавляем структуру тестов
cd user_service
dssamble createfiles \
  test/unit/test_models.py \
  test/integration/test_api.py \
  test/conftest.py \
  app/config/settings.py \
  app/middleware/auth.py \
  docker-compose.yml

Пример 3: Fullstack приложение

# Создаем fullstack структуру
dssamble create fullstack webapp

# Расширяем структуру
cd webapp
dssamble createfiles \
  backend/app/main.py \
  backend/app/routes/api.py \
  backend/requirements.txt \
  frontend/src/App.js \
  frontend/src/components/Header.js \
  frontend/package.json

📚 Документация

Команды

dssamble create - Создание структуры проекта

Синтаксис

dssamble create [TYPE] [NAME]

Параметры

  • TYPE - Тип структуры (basic или fullstack)
  • NAME - Имя проекта (будет создана папка с этим именем)

Примеры

dssamble create basic api_project
dssamble create fullstack my_webapp

Возможные ошибки

  • Если папка с таким именем уже существует, команда выдаст ошибку
  • Решение: используйте другое имя или удалите существующую папку
dssamble createfiles - Массовое создание файлов

Синтаксис

dssamble createfiles [FILE1] [FILE2] [FILE3] ...

Параметры

  • FILE - Путь к файлу (может включать вложенные папки)
  • Можно указать любое количество файлов

Особенности

  • Автоматически создает все необходимые промежуточные папки
  • Каждый файл получает базовое содержимое

Примеры

# Простые файлы
dssamble createfiles main.py config.py

# С вложенными папками
dssamble createfiles src/utils/helper.py models/user.py

# Множество файлов
dssamble createfiles \
  app/core/config.py \
  app/api/routes.py \
  app/db/session.py \
  tests/test_main.py
dssamble info - Справочная информация

Синтаксис

dssamble info

Описание

Показывает список доступных типов структур проектов с описанием.

Пример вывода

Доступные типы структур
1. basic - Базовая структура FastAPI проекта
2. fullstack - Fullstack приложение с аутентификацией

Типы структур

📁 Basic

Идеально подходит для:

  • REST API приложений
  • Микросервисов
  • Backend сервисов
  • Быстрого прототипирования

Включает:

  • Модульную структуру с разделением ответственности
  • Готовую точку входа FastAPI
  • Папки для тестов, модулей и сервисов
  • Инициализационные файлы Python

🌐 Fullstack

Идеально подходит для:

  • Веб-приложений с frontend и backend
  • SPA приложений
  • Проектов требующих разделения на клиент и сервер

Включает:

  • Разделенные папки для backend и frontend
  • Структуру для тестирования backend
  • Папку для статических файлов frontend

🛠 Разработка

Требования

  • Python 3.10+
  • pip

Структура проекта

dssamble/
├── dssamble/
│   ├── __init__.py
│   ├── cli.py              # Главная точка входа CLI
│   ├── utils.py            # Утилиты для работы с файлами
│   ├── commands/           # Команды CLI
│   │   ├── create.py       # Команда create
│   │   ├── createfiles.py  # Команда createfiles
│   │   └── info.py         # Команда info
│   └── security/           # Генераторы структур
│       ├── basic.py        # Генератор basic структуры
│       ├── fullstack.py    # Генератор fullstack структуры
│       └── createfiles.py  # Генератор файлов
├── pyproject.toml
└── README.md

Запуск в режиме разработки

# Установка в режиме разработки
pip install -e .

# Тестирование команд
dssamble --help

🤝 Вклад в проект

Мы приветствуем любой вклад в развитие проекта!

  1. Форкните репозиторий
  2. Создайте ветку для новой функции (git checkout -b feature/AmazingFeature)
  3. Закоммитьте изменения (git commit -m 'Add some AmazingFeature')
  4. Запушьте в ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

📝 Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.

👨‍💻 Автор

Dan - Dasakami

🌟 Поддержка

Если проект оказался полезным, поставьте ⭐ на GitHub!

📬 Контакты и поддержка

GitHub Issues GitHub Discussions


Made with ❤️ by Dan

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

dssamble-0.1.2.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

dssamble-0.1.2-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file dssamble-0.1.2.tar.gz.

File metadata

  • Download URL: dssamble-0.1.2.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for dssamble-0.1.2.tar.gz
Algorithm Hash digest
SHA256 15c5b7fabba8b00ac2a071a1bd79c95a5df9fe4b3e144135e407107cbf3742ba
MD5 eb4452b9c53a0feb2eb1bc18ce4a2d28
BLAKE2b-256 8e4175d94a947b81be72e6aa0721af18e4015a476be44234152538bc2fbfb4e2

See more details on using hashes here.

File details

Details for the file dssamble-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dssamble-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for dssamble-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 de0e107d1a633f638f321aee644e777a9a2ad11de1369c4ac5c6cace0209ff56
MD5 37e223e11ee704e6d2cf0858278e205b
BLAKE2b-256 7781ccc6091bc4a635145d080d69842c624335b15dde08356d44723dcca1d1d5

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