██████╗ ███████╗███████╗ █████╗ ███╗ ███╗██████╗ ██╗ ███████╗
██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ████║██╔══██╗██║ ██╔════╝
██║ ██║███████╗███████╗███████║██╔████╔██║██████╔╝██║ █████╗
██║ ██║╚════██║╚════██║██╔══██║██║╚██╔╝██║██╔══██╗██║ ██╔══╝
██████╔╝███████║███████║██║ ██║██║ ╚═╝ ██║██████╔╝███████╗███████╗
╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝
⚡ Мощный CLI-инструмент для генерации структуры проектов
Особенности • Установка • Использование • Примеры • Документация
🚀 Особенности
📦 Установка
Из 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
🤝 Вклад в проект
Мы приветствуем любой вклад в развитие проекта!
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/AmazingFeature) - Закоммитьте изменения (
git commit -m 'Add some AmazingFeature') - Запушьте в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
📝 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.
👨💻 Автор
Dan - Dasakami
🌟 Поддержка
Если проект оказался полезным, поставьте ⭐ на GitHub!
Metadata
Release files for dssamble 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dssamble-0.1.2.tar.gz | 14.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dssamble-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.4 kB
Release files / dssamble-0.1.2.tar.gz
| Download URL | dssamble-0.1.2.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15c5b7fabba8b00ac2a071a1bd79c95a5df9fe4b3e144135e407107cbf3742ba
|
|
BLAKE2b-256 checksum How to use checksums |
8e4175d94a947b81be72e6aa0721af18e4015a476be44234152538bc2fbfb4e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.5
|
Release files / dssamble-0.1.2-py3-none-any.whl
| Download URL | dssamble-0.1.2-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
de0e107d1a633f638f321aee644e777a9a2ad11de1369c4ac5c6cace0209ff56
|
|
BLAKE2b-256 checksum How to use checksums |
7781ccc6091bc4a635145d080d69842c624335b15dde08356d44723dcca1d1d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.5
|