Fork me on GitHub
24/3/2008

Py-проекты в Google Summer of Code 2008

Сегодня начался набор студентов для Google Summer of Code 2008. Я решил написать небольшой обзор Python-проектов, подавших идеи для GSoC. Все они хорошо известны (Django, Plone, Zope, MoinMoin, Mercurial, wxPython) и служат "визиткой" Python, так что особо расписывать про них не буду, кратко пробегусь по идеям.

Django

Сайт: http://www.djangoproject.com/
Идеи: http://code.djangoproject.com/wiki/SummerOfCode2008

  • Поддержка новых СУБД: MS SQL, Firebird, IBM DB2 и т.д.
  • Поддержка агрегатных функций в ORM
  • Улучшение встроенного веб-сервера для отдачи статических данных
  • Улучшение шаблонов: пространства имен,
  • Доработка поддержки нескольких БД (multi-db branch)
  • Комплексные поля и/или составные ключи

Mercurial

Сайт: http://www.selenic.com/mercurial
Идеи: http://www.selenic.com/mercurial/wiki/index.cgi/SummerOfCode

  • Создания аналога inotify-плагина для Windows и MacOS X.
  • Улучшение поддержки именованных бранчей
  • Частичное клонирование (выборка поддерева репозитория, выборка части ревизий)
  • Легкое копирование/переименование
  • Доработка MQ (Mercurial Queues)
  • Подключение внешнего репозитория как поддерева (аналог svn:externals)
  • Доработка TortoiseHg - GUI-оболочки для hg
  • Доработка инструментов конвертации репозиториев других VCS

MoinMoin

Сайт: http://moinmo.in/
Идеи: http://moinmo.in/GoogleSoc2008/InitialProjectIdeas

  • Доработка подсистемы хранения данных (ACL, аттач файлов, скрипты миграций, документация, SQL-бэкенд) и поиска (поиск по wiki-farms, юниттесты, исправление багов, работа под Windows)
  • Использование LDAP и других внешних источников для групп в MoinMoin
  • Редизайн пользовательского интерфейса (в том числе и web-инсталлятор/админка)
  • Доработка RSS-фидов, реализация Atom

Plone

Сайт: http://plone.org
Идеи: http://www.openplans.org/projects/plone-summer-of-code-2008/project-ideas

Если честно, то "ниасилил". Идеи достаточно специфичны, а я в Plone - ноль без палочки, так что очень поверхностно:

  • Поддержка AJAX-форм для PloneFormGen
  • Упрощение развертывания при помощи buildout
  • Поддержка WSGI-аутентификаци
  • Улучшение поиска по китайскому, корейскому, японскому языкам
  • Доработка трансформаций текста (подсветка синтаксиса, поддержка TeX)

Кое-какие идеи уже "в разработке":

  • Базовая функциональность социальных сетей
  • Микроформаты на входе/выходе
  • Поддержка atompub

Python/core

Сайт: http://python.org
Идеи: http://wiki.python.org/moin/CodingProjectIdeas/PythonCore

  • Аудит кода, по возможности используя автоматический анализ на сколько это возможно.
  • Подчистка ifdef'ов в кроссплатформенном код, включая модули os и posix
  • Оптимизация производительности: уменьшение потребления памяти, увеличение скорости запуска интерпретатора, оптимизация математических алгоритмов, оптимизация сборщика мусора, увеличение скорости доступа к встроенному пространству имен
  • Профайлер использования памяти, отладчик счетчика ссылок, сборщика мусора и др.
  • Виртуальная машина: использование регистровой виртуальной машины вместо стековой.
  • Добавление тестов на покрытие кода в систему сборки, улучшение интроспекции C-модулей
  • Анализ AST-компилятора: обход AST, анализ, модификация, перекомпилирование модифицированного дерева в байткод и др.
  • Статистический профайлер для включения в ядро Python, профайлер с поддержкой потоков
  • Новый базовый тип массивов высокой размерности - basearray или dimarray, по аналогии с массивами NumPy
  • Улучшение производительности в многопоточных операциях, возможно избавление от GIL.
  • Улучшение поддержки различных компиляторов C.
  • Управление пользователем степенью оптимизации, отказ от .pyo.
  • Пробная реализация импорта на "чистом" Python

TurboGears

Сайт: http://turbogears.org/
Идеи: http://docs.turbogears.org/GSoC/Ideas2008

  • Создание CMS, основанной на TurboGears
  • Запуск TurboGears на Jython (основная проблема с Genshi)
  • Доработка инструментов для ToscaWidgets, популяризация ToscaWidgets
  • Создание платформы для автоматических тестов (билдботы, автоматические тесты установки, развертывания, и т.д.)
  • Создание автоматической системы документирования (создание туториалов и документации по api из исходных текстов фреймворка и проектов-примеров).
  • Оптимизация Genshi
  • Использование Routes для диспетчеризации URLов
  • Использование Elixir в моделях, доработка Elixir

wxPython

Сайт: http://wxpython.org
Идеи: http://wiki.wxpython.org/Google%20SoC%20Project%20Ideas

  • Переход на новую схему сборки (bakefile вместо distutils)
  • Сборка wxPython как Python Egg
  • Подчистка примеров из вики
  • Интеграция wxBitmap и PIL
  • Интеграция wxPython и numpy
  • Переработка GUI2Exe, кроссплатформенного аналога py2exe
  • Доработка демонстрационного приложения
  • Доработка документации: создание скринкастов, туториалов

Zope

Сайт: http://zope.org
Идеи: http://wiki.zope.org/gsoc/SummerOfCode2008

  • Поддержка Python 2.5 в Zope2
  • Доработка интроспекции в Grok
  • Интеграция Grok с реляционными БД (используя ORM, как например, SQLAclhemy или Storm), возможность развертывания Grok ZODB+реляционная БД либо только на реляционной БД.
  • Доработка скинов в Grok (упрощение, доработка модели безопасности)
  • Доработка управления пользователями и группами в Grok
  • Создание архитектуры и реализации интеграции компонент Zope и плагинов setuptools
  • Правильная обработка "поломанных" объектов (т.е. описание классов для которых не существует) в ZODB.
  • Улучшение репликации ZODB через ZEO
  • Поддержка MS SQL для RelStorage бэкенда ZODB (бэкенд для хранения данных в РСУБД)
  • Возможность ограничения размера blob-кеша в ClientStorage (клиент ZODB/ZEO)
  • Альтернативная стратегия кеширования в ZODB
  • OCQL: язык запросов (и не только) для ZODB

В обзор не попали мелкие Py-проекты, не появившиеся на странице Summer of Code, но представленные как идеи к Python.

Комментарии

Все статьи