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 лучше
Metadata
Release files for kgrv 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 | Provenance | Actions |
|---|---|---|---|---|
| kgrv-0.1.2.tar.gz | 23.5 kB | Without provenance | Details for kgrv-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kgrv-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for kgrv-0.1.2-py3-none-any.whl |
Total release size: 33.2 kB
Release files / kgrv-0.1.2.tar.gz
| Download URL | kgrv-0.1.2.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1a4ad65dbafc7e6b92d1e878447e7cba743f3bd0e0e9b3195e0127d1ff1928e
|
|
BLAKE2b-256 checksum How to use checksums |
b324321e818e48f2228ce64f939dbf9388f8ac771629411b17e21cbac7edd699
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / kgrv-0.1.2-py3-none-any.whl
| Download URL | kgrv-0.1.2-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ef28633df054488de5359e9d04e716710ca10a90256acf75e6b9e151167ab00
|
|
BLAKE2b-256 checksum How to use checksums |
5136cd161c2144130e0d812d8d19f2fb9c17cffa5d7b8cfae9ca85cc6d6df70c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for kgrv 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.