Python продукты pd.refchecker pd.subversion.notify

pd.requires

Андрей Орлов  2007-11-10 08:16

Продукт основан на попытке создать систему автоматического определения зависимостей языка питон в дистрибутиве AltLinux. Оригинальная версия проекта лежит здесь: http://code.dreambot.ru/svn/rpm-build-python, но в таком виде этот проект закрыт. Хотя, возможно, он даже не является последней версией - т.е. много версий уже было написано после нас совсем другим людьми.

Новая попытка создать продукт такого типа ориентирована на то, что бы быть универсальным аналитическим инструментом, причем, возможно не только питоновскими. Но пока получился наскоро выдранный питоновский код, который, правда, худо-бедно работает - хотя никто уже не помнит как и почему.

Репозиторий программы: http://code.dreambot.ru/svn/pd.requires/trunk/ . Последняя версия продукта залита в PYPI.

Краткое описание пакета

Краткое описание пакета

Пакет разработан для анализа зависимостей в модулях на питоне. Помимо библиотеки, предоставляет три утилиты:

find_requires

находит все зависимости, требуемые питоновским пакетом. Зависимости распечатываются (пока) в формате "python<X>.<Y>(<DEPENDENCE>)", где X,Y - номера версии питона, а DEPENDENCE -- путь к модулю так, как он указывается в операторе import. Для каждой зависимости указывается в каком файле она возникла.

Формат вызова:

find_requires <FULL MODULE PATH> [<FULL MODULE PATH>]

Ключи:

"-f (RPM|PYPI)"
Различный формат вывода списка зависимостей, по умолчанию PYPI;
"-r"
Выводить файл из которого возникла данная зависимость;
find_provides

находит все зависимости, требуемые питоновским пакетом. Зависимости распечатываются (пока) в формате "python<X>.<Y>(<DEPENDENCE>)".

Формат вызова:

find_provides <FULL MODULE PATH> [<FULL MODULE PATH>]

Ключи:

"-f (RPM|PYPI)"
Различный формат вывода списка зависимостей, по умолчанию PYPI;
imalyzer

утилита анализатор зависимостей между файлами модулей питона, файлы передаются в утилиту единым списком, и утилита составляет отчет об их использовании.

Предполагаемое назначение - первичный анализ модулей на разбивку на пакеты и субпакеты. В настоящее время в этом качестве не пригодна. Рекомендуемый формат запуска:

imalyzer $(find $PWD -name "*.py")

Предполагается что все пакеты запускается из того каталога, в который установлены анализируемые модули, это не очень удобно, но такого решения требует унаследованный код. Упомянутый выше FULL MODULE PATH -- это путь к модулю, включающий в себя все каталоги.

Вложено:

pd.requires cray-1 TODO.txt 2007-11-19 00:05 Андрей Орлов 

...

pd.requires README.txt 2007-11-10 16:06 Andrey Orlov 

Dependence analysis utils This packages to provide tools for dependence analysis of python modules. Programs -------- find_requires Program find all dependences required by python module or module set. [-f (RPM|PYPI)] [-r] -f Dependencies will be printed in RPM or PYPI format, it is PYPI by default; find_provides Programm find all dependencies provided by python module or module set. [-f (RPM|PYPI)] -f Dependencies will be out in RPM or PYPI format, it is PYPI by default; ...

Эпицентр Zope3 Учат тут Нейросети Репозиторий Статистика Редакторам Проекты
Подписаться на RSS Feed Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml