Skip to main content

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 лучше

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)

Source distribution for kgrv 0.1.2
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)

Table of built distributions (wheels) for kgrv 0.1.2
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page