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.
