Python пакет для экспериментов и обучения
Project description
KGRV
Python пакет для экспериментов и обучения созданию Python пакетов.
🎯 Описание
KGRV - это демонстрационный Python пакет, который показывает лучшие практики:
- 📦 Организации структуры Python пакета
- 📚 Документирования кода и API
- 🧪 Написания тестов
- 🚀 Публикации на PyPI
- ⚙️ Настройки инструментов разработки
✨ Возможности
- Класс About - для отображения информации о разработчике
- Управление навыками и проектами - добавление и просмотр
- CLI интерфейс - командная строка для взаимодействия
- Демонстрационные скрипты - примеры использования
- Полное покрытие тестами - unit-тесты для всех компонентов
🏗️ Структура проекта
kgrv/
├── kgrv/ # 📦 Основной пакет (для PyPI)
│ ├── __init__.py # Инициализация и экспорты
│ ├── about.py # Модуль About
│ └── cli_click.py # CLI интерфейс (click-based)
├── scripts/ # 🎮 Демонстрационные скрипты
│ ├── demo.py # Интерактивная демонстрация
│ ├── cleanup.sh # Скрипт очистки (Bash)
│ └── cleanup.ps1 # Скрипт очистки (PowerShell)
├── docs/ # 📚 Документация
│ ├── publishing.md # Руководство по публикации
│ └── publish/ # Инструкции по публикации
│ ├── cleanup-instructions.md
│ └── build-instructions.md
├── tests/ # 🧪 Тесты
│ └── test_about.py # Тесты для модуля about
├── pyproject.toml # 🔧 Современная конфигурация
├── requirements.txt # 🛠️ Зависимости для разработки
├── MANIFEST.in # 📋 Файлы для дистрибутива
├── LICENSE # 📄 Лицензия MIT
└── CHANGELOG.md # 📝 История изменений
🚀 Быстрый старт
Установка
# Клонирование репозитория
git clone https://github.com/kogriv/kgrv.git
cd kgrv
# Создание виртуального окружения
python -m venv venv
# Активация (Windows)
venv\Scripts\activate
# Активация (Linux/Mac)
source venv/bin/activate
# Установка в режиме разработки
pip install -e .
Использование
Python API
from kgrv import About
# Создание объекта
about = About("Ваше имя")
# Вывод информации
about.print_info()
# Добавление навыков
about.add_skill("Python")
about.add_skill("Machine Learning")
# Получение данных
skills = about.get_skills()
info = about.get_info() # Все данные в JSON формате
CLI интерфейс
# Показать помощь
kgrv --help
# Показать информацию о разработчике
kgrv info
# Показать информацию с кастомным именем
kgrv info --name "John"
# Показать информацию в JSON формате
kgrv info --format json
# Показать навыки разработчика
kgrv skills
# Показать проекты разработчика
kgrv projects
# Проверить валидность GitHub профиля
kgrv validate
# Добавить навык
kgrv add-skill
# Добавить проект
kgrv add-project
# Запустить интерактивную демонстрацию
kgrv demo
Демонстрация
# Запуск интерактивной демонстрации
python scripts/demo.py
# Или через CLI
kgrv demo
📋 Подробное описание CLI команд
Основные команды:
kgrv info - Показать полную информацию о разработчике
# Базовый вывод
kgrv info
# С кастомным именем
kgrv info --name "John"
# В JSON формате
kgrv info --format json
# С добавлением навыков и проектов
kgrv info --add-skill "Django" --add-project "Web App"
kgrv skills - Показать навыки разработчика
# Текстовый формат
kgrv skills
# JSON формат
kgrv skills --format json
kgrv projects - Показать проекты разработчика
# Текстовый формат
kgrv projects
# JSON формат
kgrv projects --format json
kgrv validate - Проверить валидность GitHub профиля
# Проверка профиля
kgrv validate
# С кастомным именем
kgrv validate --name "username"
Команды управления:
kgrv add-skill - Добавить навык
# Интерактивный ввод
kgrv add-skill
# С указанием навыка
kgrv add-skill --skill "React"
kgrv add-project - Добавить проект
# Интерактивный ввод
kgrv add-project
# С указанием проекта
kgrv add-project --project "E-commerce Platform"
kgrv demo - Интерактивная демонстрация
# Полная демонстрация функционала
kgrv demo
🧪 Тестирование
# Установка зависимостей для разработки
pip install -r requirements.txt
# Запуск тестов
python -m pytest tests/ -v
# Запуск конкретного теста
python tests/test_about.py
# Запуск с покрытием (если установлен pytest-cov)
pytest --cov=kgrv --cov-report=html
📦 Публикация на PyPI
# Очистка проекта
./scripts/cleanup.ps1 # Windows
./scripts/cleanup.sh # Linux/Mac
# Сборка пакета
python -m build
# Проверка пакета
twine check dist/*
# Загрузка на Test PyPI
twine upload --repository testpypi dist/*
# Тестирование установки из Test PyPI
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ kgrv
# Загрузка на PyPI
twine upload dist/*
Подробное руководство по публикации: docs/publishing.md
🛠️ Разработка
Настройка окружения
# Установка зависимостей для разработки
pip install -r requirements.txt
# Установка в режиме разработки
pip install -e .
Инструменты качества кода
# Форматирование кода
black kgrv/ scripts/ tests/
# Проверка типов
mypy kgrv/
# Линтинг
flake8 kgrv/ scripts/ tests/
📚 Документация
Подробная документация доступна в папке docs/:
- Руководство по публикации - полное руководство по публикации на PyPI
- Инструкции по очистке - очистка проекта перед публикацией
- Инструкции по сборке - сборка пакета
🤝 Вклад в проект
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
📄 Лицензия
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
👨💻 Автор
kogriv - GitHub
🙏 Благодарности
- Python сообществу за отличные инструменты
- Всем, кто делает open source лучше
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 kgrv-0.1.2.tar.gz.
File metadata
- Download URL: kgrv-0.1.2.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1a4ad65dbafc7e6b92d1e878447e7cba743f3bd0e0e9b3195e0127d1ff1928e
|
|
| MD5 |
08f7f4bbf944b8b5e01b89916dcdcd92
|
|
| BLAKE2b-256 |
b324321e818e48f2228ce64f939dbf9388f8ac771629411b17e21cbac7edd699
|
File details
Details for the file kgrv-0.1.2-py3-none-any.whl.
File metadata
- Download URL: kgrv-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ef28633df054488de5359e9d04e716710ca10a90256acf75e6b9e151167ab00
|
|
| MD5 |
82fb1521a16d77b734da73bbc3e309d0
|
|
| BLAKE2b-256 |
5136cd161c2144130e0d812d8d19f2fb9c17cffa5d7b8cfae9ca85cc6d6df70c
|