Ниже приведен список из 30 наиболее часто используемых «основных модулей», основанный на количестве загрузок из проекта PyPI. Эти результаты основаны на 11 204 загруженных пакетах.
Подробности ниже.
Результаты
Обсуждение
Некоторые наблюдения:- Похоже, что django набрал «некоторую популярность», а Zope значительно продвинулся вверх по списку.
- Количество проектов, использующих unittest, очень удручает, особенно по сравнению с setuptools.
- optparse 1875 против getopt 515.
- cPickle 690 против Pickle 598.
- simplejson 760 против json 593.
В прошлом
Еще в 2007 году я написал простой скрипт, рассчитывающий в коде импорт модулей.Я использовал его для генерации статистики.
Неделю-две назад я решил повторить этот эксперимент — и посмотреть на разницу между 2007 и 2011 годами.
Я начал работать над своим старым кодом и решил обновить его.
Анализ импорта в коде — не простая задача, как кажется на первый взгляд. Я думал об использовании модулей tokenize и parser, но отказался от этой идеи.
Использование парсера сделало мою версию кода зависимой, и через некоторое время я решил использовать токенизацию, потому что.
у меня уже было громоздкое регулярное выражение для этой цели.
Методология
Вход : PyPI и исходники стандартной библиотеки версии 2.7. Я написал простой скрипт (cheese_getter.py) для работы с модулями.Он прочитал страницу PyPI, а затем использовал easy_install для получения каждого модуля.
Поскольку в проекте PyPI более 13 000 модулей, это заняло некоторое время.
Разбор : Я написал простой код для поиска в коде выражений «импортировать x» и «из x импортировать y».
Были некоторые трудности: выражения «из х импортировать а, б», «из.
импортировать бла" и
также следует поддерживать.from bla import \ some_module\ some_module2
Я преобразовал каждый оператор импорта в серию точечных модулей.
Например, «import a.b» заменено на «a» и «a.b», а «from b import c,d» заменено на «b», «b.c» и «b.d».
Обработка : я создал три типа результатов.
- Полное количество импорта.
- Количество пакетов, импортирующих модуль.
- Количество пакетов, импортирующих модуль, только для первого модуля в записи с точкой.
Код : Полный код доступен .
Теги: #python #статистика #модули #python
-
Сэд В Формате Saas: Плюс И Минус
19 Oct, 24 -
Радиола Настроение
19 Oct, 24 -
Интернет-Искушение
19 Oct, 24