Sage — это open-source система компьютерной математики, объединяющая множество существующих open-source пакетов единообразным интерфейсом при помощи Python. Она включает много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ, и ставит своей целью создание жизнеспособной альтернативы таким пакетам как Magma, Maple, Mathematica и Matlab.
Компания Jetbrains, известная целой серией IDE для различных языков программирования, объявила о выходе opensource редакции IDE для Python: PyCharm Community Edition.
Opensource версия включает:
редактор с функциями автодополнения, подсветки синтаксиса и ошибок;
автоматизицию рефакторинга кода и широкие возможности навигации по исходным текстам;
встроенный отладчик и поддержку unit-тестов;
работу с системами контроля версий;
широкие возможности по настройке, в том числе режим эмуляции VIM.
Коммерческая редакция IDE также включает поддержку фреймворков для веб-разработчиков; работу с javascript/css и некоторыми другими смежными технологиями; отладку на удаленных хостах; работу с базами данных из IDE.
Opensource версия доступна под лицензией Apache 2.
После долгого ожидания и многочисленных бета-версий вышла популярная привязка языка Python к библиотеке Qt.
PyQt5 не сохранила обратную совместимость с PyQt4, но принесла поддержку новых возможностей Qt5.
Краткий список изменений и отличий от предыдущей версии:
Поддержка Qt5. Теперь вы можете писать программы на python под новую версию Qt, используя все её возможности.
Поддерживается только Python 2.6 и выше (вплоть до 3.3).
PyQt5 не поддерживает никаких функций API, помеченных как устаревшие в Qt5.
GIL теперь освобождается только тогда, когда это необходимо.
Убран код вызова SIGNAL() и SLOT(). Возможно использование только API v2.
QtDeclarative удалён. На его замену предлагается использование QtQuick.
QtScript и QtScriptTools более не поддерживаются. На их замену предлагается QtQml.
QtXML не поддерживается, предлагается использование QXMLStreamReader / QXMLStreamWriter или встроенные средства питона.
Реализация QtOpenGL поддерживается только посредством трёх классов: QGLContext, QGLFormat и QGLWidget.
Экспериментальная среда проектирования для языка Python обновилась до версии 2.0.1, а быстрый и детальный парсер питона, разработанный в рамках проекта, обновился до версии 1.6.1.
Основные изменения по сравнению с предыдущими версиями:
Приложение django-qrauth позволяет добавить на Django-сайт возможность мгновенно входить с мобильных устройств (телефонов, планшетов, и так далее — то есть, по сути, любых мобильных устройств, на которых есть Интернет, камера и приложение для сканирования QR-кодов), сканируя авторизационный QR-код.
На мобильном устройстве при этом не требуется вводить ни адрес сайта, ни логин, ни пароль. Получить авторизационный QR-код можно хоть сразу же после авторизации на компьютере/ноутбуке.
9 мая вышла версия PyPy 2.0 с кодовым названием «Einstein Sandwich». PyPy — интерпретатор языка Python со встроенным tracing JIT. Основными изменениями по сравнению с PyPy 1.9 являются:
новая библиотека FFI - cffi (предложена и для включения в CPython).
Планируется, что версия 2.0 послужит стабильной базой для более частых релизов (вероятно, для создания действительно быстрых интерпретаторов Ruby и PHP).
Не вошли в официальный анонс, но тоже немаловажны:
Опубликован перевод очередной главы из 1 тома книги «Архитектура приложений с открытым исходным кодом» — «Архитектура системы управления пакетами в Python».
При разговоре о системах установки приложений обычно упоминают о двух подходах. Первый подход, характерный для Windows и Mac OS X, заключается в распространении самодостаточных пакетов приложений, процесс установки которых не должен зависеть от внешних факторов. Эта философия упрощает процесс управления приложениями: каждое приложение имеет свое отдельное «окружение» и его установка или удаление не влияет на другие части ОС. Если приложению для работы требуется нестандартная библиотека, эта библиотека включается в состав пакета для распространения приложения.
Второй подход, характерный для систем на основе ядра Linux, рассматривает программное обеспечение как набор небольших программных компонентов, называемых пакетами. Библиотеки добавляются в пакеты, причем любой пакет с библиотекой может зависеть от других пакетов. Процесс установки приложения может включать в себя процесс поиска и установки определенных версий множества других библиотек. Эти зависимости обычно доставляются из стандартного репозитория, содержащего тысячи пакетов. Данная философия обуславливает использование в дистрибутивах Linux таких сложных систем управления пакетами, как dpkg и RPM для отслеживания зависимостей и предотвращения установки двух приложений, использующих несовместимые версии одной и той же библиотеки.
У каждого подхода есть свои достоинства и недостатки.
Система управления пакетами в Python разрабатывалась с использованием второго подхода — использовалось множество зависимостей для каждого пакета, а также система должна была быть так дружелюбна к разработчику, администратору и пользователю, как это возможно. К сожалению, она имела (и имеет) различные дефекты, обуславливающие и приводящие к разного рода проблемам: использованию неинтуитивных схем записи версий, наличию необрабатываемых файлов с данными, сложностям с повторной упаковкой и другим. Три года назад группа разработчиков Python решили повторно разработать эту систему для устранения вышеописанных проблем.
Вышла новая версия транслятора из языка Python в представление на C++. Данное представление компилируется в исполняемый файл, использующий библиотеку libpython для управления объектами (аналогично CPython).
На данный момент Nuitka — хорошая замена интерпретатору Python, она поддерживает совместимость на уровне компиляции с CPython 2.6, 2.7 и 3.2.
В данной версии Nuitka на тесте pystone производительнее CPython на 258%, несмотря на то, что еще не сделаны все планируемые оптимизации.
Основные изменения:
поддержка FreeBSD;
опция для выявления исключений на этапе компиляции;
На сервисе Kickstarter идет сбор средств на новый движок для нелинейного видеоредактора с открытым исходным кодом OpenShot. Основными акцентами при разработке станут кроссплатформенность и стабильность.
Из других нововведений:
Python API.
Новый интерфейс, использующий HTML5, JQuery, CSS и WebKit.
Изменение параметров видео и аудио с помощью кривых Безье.
Компания «Redsolution» (известная как разработчик Xabber — свободного XMPP-клиента для Android) объявила о выпуске программы «Электроочередь» под лицензией GNU Affero GPL v3.
Программа предназначена для организации услуги электронной очереди в детские сады, отличается антикоррупционной прозрачностью и открытостью. Ну и, разумеется, распространяется бесплатно.
RapidDisk — проект, представляющий собой модуль ядра (rxdsk) в комплекте с утилитой для администрирования (rxadm). Разрабатывается с целью применения в высокопроизводительных системах. Аналог Ramdiskadm в Solaris.
По мнению разработчика данного проекта Petros Koutoupis'а (имеющего немалый опыт в разработке ядра Linux и использовании Solaris), несмотря на то, что в ядре есть поддержка нескольких типов ramdisk-модулей, они примитивны и не могут конкурировать с аналогами из Solaris или FreeBSD, и RapidDisk, осуществляющий динамическое постраничное выделение оперативной памяти в качестве блочных устройств, должен восполнить этот пробел.
Особенности:
динамическое подключение/отключение и изменение размеров RAM-дисков;
чтение/запись из блочного устройства на высоких скоростях (в 20-30 раз быстрее работы SATA-дисков);
создание и управление размерами от нескольких мегабайт до 1 терабайта (через CLI или GUI);
сжатие/распаковка и восстановление данных по мере необходимости;
привязка к кэшу физического диска для повышения производительности операций ввода/вывода, вследствие чего увеличивается его срок службы.
Изменения в этой версии:
очистка кода;
удаление неиспользуемых и нереализованных функций кэширования;
Eric — интегрированная среда разработки для Python и Ruby написанная в свою очередь на Python с пользовательским интерфейсом на Qt4 и использующая для редактирования исходных текстов компонент Scintilla.
Существуют две стабильные ветки: Eric4 на Python2 и Eric5 на Python3.
Особенности:
менеджер проектов;
графический отладчик с поддержкой интерактивного исследования во время приостановки и автоостановки на критических исключениях;
профайлер;
опции при запуске кода Python;
модульное тестирование;
отслеживание выполняемых задач (автообновляемый TODO-лист);
расширяемость за счёт плагинов (для Django, TurboGears, wxPython, PyLint и др.).
OpenEMM — веб-приложение для email-маркетинга (рассылки писем с маркетинговой информацией с согласия получателей, от которой, в свою очередь, в любой момент можно отказаться) с многофункциональным пользовательским интерфейсом, множеством графической статистики в режиме реального времени, системой управления контентом, сценариями для реализации отдельных задач и т.п.
OpenEMM, разработка которого начата ещё в 1999 году — первое приложение с открытым исходным кодом подобного рода.
Основное отличие от коммерческих аналогов автоматизации маркетинга (EMM), которые функционируют на нескольких серверах или «ПО как услуга» (SaaS), заключается в том, что OpenEMM можно установить на один сервер.
Используется такими компаниями, как IBM, Daimler, Siemens и Deutsche Telekom.
Особенности:
набор форм и шаблонов;
импорт/экспорт бизнес-процессов с помощью мастеров;
Editra — мощный и гибкий мультиплатформенный текстовый редактор, целью создания которого является простой в использовании интерфейс и функции помогающие в разработке ПО. В настоящее время поддерживает подсветку синтаксиса и множество других полезных функций для более чем 60 языков программирования. Проект находится в стадии разработки, но для загрузки доступны и стабильные версии. Лицензирован и находится в свободном доступе для использования в соответствии с WxWindows License.
Возможности редактора расширяются с помощью плагинов.
В этой версии:
Расширена поддержка подсветки каскадных таблиц стилей (CSS) и практически готова поддержка CSS3;