Статистика Использования Модулей Python – Февраль 2011 Г.

Ниже приведен список из 30 наиболее часто используемых «основных модулей», основанный на количестве загрузок из проекта PyPI. Эти результаты основаны на 11 204 загруженных пакетах.

Подробности ниже.



Результаты



Статистика использования модулей Python – февраль 2011 г.
</p><p>



Обсуждение

Некоторые наблюдения:
  • Похоже, что 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

Вместе с данным постом часто просматривают: