Skip to content

lyakhliliana/pyflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyFlow

CLI инструмент для работы с Python проектами.

Описание

PyFlow - это инструмент командной строки, разработанный для упрощения работы с Python проектами. Он предоставляет интерфейс для управления зависимостями и визуализацией для анализа структуры кода и других задач разработки.

Основные возможности

Анализ кода

  • Автоматическое извлечение структуры Python проекта, включая:
    • Иерархию директорий и файлов
    • Классы и их методы
    • Функции
    • Импорты и зависимости между модулями
  • Поддержка анализа как локальных проектов, так и удаленных репозиториев

Визуализация

  • Генерация интерактивных HTML-графов для визуализации структуры проекта
  • Два режима визуализации:
    • Базовый режим для стандартного отображения
    • Режим сравнения для выделения различий между версиями

Управление графами

  • Объединение графов с дополнительными элементами
  • Фильтрация графов по типам узлов и рёбер
  • Сжатие архитектурных элементов
  • Поиск зависимостей:
    • Поиск элементов, используемых указанными компонентами
    • Поиск элементов, зависящих от указанных компонентов
    • Настраиваемая глубина поиска зависимостей

Требования

  • Python >= 3.10
  • Зависимости указаны в requirements.txt

Установка

pip install -e .

Основные зависимости

  • gitpython==3.1.43 - для работы с Git репозиториями
  • pyvis==0.3.2 - для визуализации
  • networkx==3.2.1 - для работы с графами
  • yapf==0.43.0 - для форматирования кода
  • black==24.1.1 - для форматирования кода
  • pytest==8.0.0 - для тестирования

Структура проекта

.
├── src/                   # Исходный код
│   ├── core/              # Основная логика
│   ├── interfaces/        # Интерфейсы (CLI)
│   └── utils/             # Вспомогательные функции
├── tests/                 # Тесты
├── requirements.txt       # Зависимости проекта
├── setup.py               # Конфигурация установки

Использование

После установки вы можете использовать команду pyflow в терминале:

pyflow --help

Тестирование

pytest tests/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors