Skip to main content

Python пакет для экспериментов и обучения

Project description

KGRV

Python 3.7+ License: MIT Code style: black

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/:

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

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

📄 Лицензия

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

👨‍💻 Автор

kogriv - GitHub

🙏 Благодарности

  • Python сообществу за отличные инструменты
  • Всем, кто делает open source лучше

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

kgrv-0.1.2.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

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

kgrv-0.1.2-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for kgrv-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f1a4ad65dbafc7e6b92d1e878447e7cba743f3bd0e0e9b3195e0127d1ff1928e
MD5 08f7f4bbf944b8b5e01b89916dcdcd92
BLAKE2b-256 b324321e818e48f2228ce64f939dbf9388f8ac771629411b17e21cbac7edd699

See more details on using hashes here.

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

Hashes for kgrv-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ef28633df054488de5359e9d04e716710ca10a90256acf75e6b9e151167ab00
MD5 82fb1521a16d77b734da73bbc3e309d0
BLAKE2b-256 5136cd161c2144130e0d812d8d19f2fb9c17cffa5d7b8cfae9ca85cc6d6df70c

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