Как стать автором
Поиск
Написать публикацию
Обновить
386.25

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Новый дизайн Python.org

Время на прочтение1 мин
Количество просмотров14K
На проходящем в Санта Кларе(США) PyCon 2013 была представлена бета версия нового сайта Python.orgpreview.python.org.
Новая адаптивная версия сайта выглядит приятней и современней, навигация по сайту стала более удобной и понятной.

Последний раз дизайн сайта был обновлен в 2006 году. Хотя если смотреть глубже, структура сайта не менялась с конца 90-х.

Новый сайт сделан на платформе Django 1.5 (Python 3.3)

Администрация просит желающих принять участие в бета тестинге сайта и сообщать о проблемах или конструктивных предложениях через форму обратно связи.

Grab — новый интерфейс для работы с DOM-деревом HTML-документа

Время на прочтение5 мин
Количество просмотров36K

Исторический экскурс


Ранее я уже писал на хабре о Grab — фреймворке для написания парсеров сайтов: раз, два, три, четыре. В двух словах, Grab это удобная оболочка поверх двух библиотек: pycurl для работы с сетью и lxml для разбора HTML-документов.
Читать дальше →

Настройка Vim для работы с Python и Django

Время на прочтение4 мин
Количество просмотров47K


Vim — уникальный по своей гибкости редактор, который при должной настройке может едва ли не идеально удовлетворять все пожелания работающего с ним. Правда эта настройка может продолжаться месяцы, а то и годы, что является и достоинством, и недостатком vim’а. Существует множество статей и туториалов по использованию Vim для разработки на Python и Django, надеюсь мне удастся рассказать что-то новое. В своей статье я постараюсь по минимуму упоминать плагины общего назначения, вроде NERDTree или surround.vim и опишу несколько более специализированных расширений и настроек, которые существенно упростили процесс работы на Python.
Читать дальше →

Щелевая съёмка: Ловля птичек с помощью питона

Время на прочтение3 мин
Количество просмотров22K


Прочитав несколько месяцев назад статью про щелевую съемку, я твердо решил написать небольшую утилитку, позволяющую создавать щелевые фотографии. Перетряхнув закрома, я обнаружил следующие ресурсы: отложенный в долгий ящик учебный курс по Python, старенький ноутбук, камеру GoPro, несколько часов свободного времени, март месяц и кормушку для птиц.
Читать дальше →

Препроцессинг данных и анализ моделей

Время на прочтение8 мин
Количество просмотров32K
Всем привет. В прошлом посте я рассказывал про некоторые базовые методы классификации. Сегодня, в силу специфики последней домашки, пост будет не столько про сами методы, сколько про обработку данных и анализ полученных моделей.

Задача


Данные были предоставлены факультетом статистики Мюнхенского университета. Вот здесь можно взять сам датасет, а также само описание данных (названия полей даны на немецком). В данных собраны заявки на предоставление кредита, где каждая заявка описывается 20 переменными. Помимо этого, каждой заявке соответствует, выдали ли заявителю кредит, или нет. Вот здесь можно подробно посмотреть, что какая из переменных означает.

Нашей задачей стояло построить модель, которая предсказывала бы решение, которое будет вынесено по тому или иному заявителю.


Читать дальше →

Про отток разработчиков из свободных проектов, преподавание Python в качестве первого языка и другие темы

Время на прочтение2 мин
Количество просмотров33K
Долго думал над заголовком, в итоге в него попали пара интересных вопросов из докладов прошедшей недавно, уже восьмой по счету, конференции «Свободное программное обеспечение в высшей школе».

Мероприятие это традиционно проводится зимой в уютном здании Университета города Переславля-Залесского Ярославской области, в несколько как бы семейной обстановке, а потому совсем широкой общественности не известное. А меж тем, каждый год бывают весьма любопытные доклады, и еще более интересные докладчики. Четыре из них хотелось бы выделить в этом топике, хотя внимания заслуживают все. По традиции тематика докладов (особенно в первый день) выходит за рамки тематики конференции, и тем интереснее их слушать.

1) «СПО. Кризис среднего возраста?» (Хотел вынести в заголовок топика один из слайдов доклада — «Куда уехал цирк?», но воздержался)
В преддверии 30-летнего юбилея движения GNU, известный аналитик Антолий Якушин, человек широчайших познаний в области программного обеспечения, подводит некоторые итоги и, в частности, рассказывает: куда направлен отток разработчиков свободных проектов, так ли это страшно, почему в MIT сейчас так мало свободных проектов, почему Столлман не является социалистом и прочие животрепещущие вопросы



Читать дальше →

«Бар желаний» к 8 марта на Python и Pyramid

Время на прочтение12 мин
Количество просмотров23K
Как поздравить девушек на работе с прекрасным праздником весны? В этом году хотелось сделать что-то необычное, чем-то удивить их в дополнение к традиционным подаркам и цветам. Так появилось веб-приложение «Бар желаний», созданное за один день с помощью Python и Pyramid.



Может быть, после прочтения статьи кто-то решит повторно использовать «Бар желаний» для поздравлений. Возможно, кто-то откроет для себя Pyramid — веб-фреймворк, прекрасно подходящий для быстрого создания небольших веб-проектов. Наконец, можно просто забрать исходный код приложения с GitHub для использования в своих целях.

В статье показан процесс разработки небольшого веб-приложения, начиная с постановки задачи и проектирования и заканчивая развертыванием приложения на сервере. По ходу статьи приведены комментарии к реализации, которые объясняют на примерах некоторые принципы работы веб-приложений в общем и Pyramid в частности. Таким образом, статью можно рассматривать также как руководство по Pyramid для начинающих на примере реальной задачи.
Читать дальше →

Выкладка python-проектов с помощью pip и wheel

Время на прочтение4 мин
Количество просмотров9K
Привет, Хабрахабр!

В этом посте я буду говорить о выкладке Python-проектов: о том как положить на сервер код и все требуемые сторонние модули. Многие из нас сталкивались с проблемой развертки проекта на боевой машине, но на хабре об этом мало пишут; я хочу поделиться своим опытом.

image

Читать дальше →

Экспорт фотоальбомов из ВКонтакта

Время на прочтение4 мин
Количество просмотров85K

Преамбула


Дело было вечером, делать было нечего и тут мне в голову пришла мысль: «Как же мне выгрузить все фотографии из ВКонтакта на компьютер?» Недолго думая, я написал утилиту для этого и решил поделиться с общественностью, возможно я не один такой.

Поехали


В качестве инструмента для работы с API, путём кратких поисков, была выбрана библиотека vk_api. Для работы с сетью она использует Requests, поэтому и эта библиотека требуется для запуска.

Пощупать


GitHub Pages проекта
Исходный код с примерами

Простой классификатор на PyBrain и PyQt4 (Python3)

Время на прочтение12 мин
Количество просмотров34K
Изучая Python3, я портировал (как смог) библиотечку PyBrain. Об этом я уже писал здесь.
image
Теперь же я хочу немного «поиграть» с данной библиотечкой. Как я уже говорил в предыдущем посте, питон я только начал изучать, так что все написанное в этой статье не стоит воспринимать как Истину. Изучение — это путь, и он извилист.

Задачу поставим перед искусственной нейронной сетью (ИНС) весьма простую — классификацию, а именно: распознавание букв латинского алфавита.

Вроде бы классический пример, про него уже писали на хабре неоднократно: «Что такое искусственные нейронные сети?», «Нейронные сети и распознавание символов» и т.д.
Но моей целью стоит изучение питона на не самых простых примерах. Т.е. учимся сразу на сложном и незнакомом. Так мы найдем в два раза больше граблей, что позволит нам копнуть в глубины языка, разбираясь с «почему не работает?».

Под хабракатом вас ждёт: описание способа подготовки данных на PyQt4, использование модуля argparse, ну и конечно же PyBrain!
Читать дальше →

Распознавание рукописных символов с использованием Python и scikit

Время на прочтение5 мин
Количество просмотров30K
Привет. Наверняка многие интересуются методами машинного обучения и решения различных задач, которые обычными подходами не решаются. Недавно мне посчастливилось попасть на курс Data Mining, организованный в рамках программы GameChangers. Первым же домашним заданием было сделать сабмит на Kaggle — решить задачу Digit Recognizer.
Читать дальше →

Самый быстрый SAX-парсер для python

Время на прочтение2 мин
Количество просмотров20K
Внезапно захотелось пересчитать все xml-теги в 240 тысячах xml-файлов общим весом 180 GB. Питоном — и побыстрее.
Читать дальше →

DataEngine и Python2 или Как я писал свой виджет

Время на прочтение4 мин
Количество просмотров4.1K

Вместо предисловия


Посидев немного в awesome, я решил вернуться на более привычные, обвешанные множеством нужных и не очень плюшек, кеды (KDE4). Через некоторое время, я решил убрать страшненький самописный виджет карамбы (SuperKaramba) и заменить его более элегантным и простым виджетом плазмы. Требования к нему были простые: это должен быть простенький виджет на панели, который бы отображал в виде текста всю основную (вернее, востребованную мной) информацию. Порыскав по kde-look.org, я нашел один виджет, который устраивал меня в достаточной мере. Однако, мне нужны были некоторые дополнительные функции, которые не были реализованы в этом виджете. Также, автор не предусмотрел возможность легкой конфигурации виджета, и для его настройки приходилось лезть в исходный скрипт, написанный на JavaScript.
Через несколько итераций настройки уже имеющегося виджета, ввиду отсутствия у меня каких либо представлений о JS, я решил написать свой виджет. Из языков программирования был выбран Python2, в котором я более-менее смыслю. Сказано — сделано. За вечер я написал первую версию виджета, вполне работоспособную. Позже, при тестировании обнаружилось, что он имеет неприятную особенность подвисать во время обновления. Во-первых, это было связано с тем, что все поля обновлялись одновременно. А во-вторых, и это, пожалуй, самое главное — для парсинга файлов с данными (среди них /proc/stat и файл, в котором содержится информация о переданном/полученном трафике) нужна некоторая задержка. Если выставить на них по 0.2 секунды, то в итоге виджет подвисает почти на 0.5 секунд, что заметно даже невооруженным глазом.
Тогда мной была предпринята попытка переписать код, включив DataEngine, который я подсмотрел в исходном виджете. Ниже пойдет речь об использовании этого модуля в Python2.
Читать дальше →

Ближайшие события

История одной оптимизации

Время на прочтение7 мин
Количество просмотров6.1K
Речь пойдет о unity-launcher-editor — редакторе элементов и контекстного меню (quicklists) панели Unity для Ubuntu. Редактор написан с использованием связки python+gtk, с обязанностями справляется сносно. Раздражает время запуска: до появления главного окна проходит непозволительно много времени.

Можно пенять на Python, Unity или разработчиков, а можно попробовать разобраться в чем же дело, проект ведь с открытым кодом. Во время «исследования» делал пометки, которые и легли в основу этой заметки. Любопытных прошу под кат.

Читать дальше →

Наконец-то. Зарелизился Django 1.5

Время на прочтение1 мин
Количество просмотров16K

Поздравляю, уважаемые хабражители. Пройдя через откладывание релиза, проблемы с безопасностью и др. преграды, Джанго освобо один-пятый наконец получил статус стабильного релиза.

Как пишут разработчики, была проделана довольно большая работа по выпуску очередной версии. Полный список изменений и новшеств как обычно можно посмотреть в примечаниях к релизу, а вот краткий список основных:
Читать дальше →

Как мы создавали кластер из Raspberry Pi

Время на прочтение4 мин
Количество просмотров110K

12-14 февраля прошла известная конференция WSO2Con 2013. И её ведущим был Эбен Аптон (Eben Upton) — основатель и попечитель фонда Raspberry Pi Foundation.

Как все однажды началось...


Raspberry Pi будоражит умы гиков с тех самых пор, как была первый раз анонсирована. Мы были взволнованы услышать о том, что Эбен будет представлять конференцию и ещё больше удивлены, когда Sanjiva (прим. пер.: CEO WSO2, главный организатор конференции) предложил нам разместить бэкенд официального приложения WSO2Con на кластере из Raspberry Pi. Предложил что? Да, он всегда полон безумных идей. Первое совещание прошло 23 декабря 2012, за день перед уходом команды на рождественские каникулы. В то время мы даже не были уверены, возможно ли вообще запустить enterprise middleware на Raspberry Pi. Но исследование неизведанного — это обычное дело для WSO2, и достижение недостижимого — то, что мы делаем здесь на регулярной основе. Таким образом, группа отважных гиков бросила вызов созданию такой системы. Проект официально сдвинулся с мёртвой точки 2 января этого года.
Осторожно, трафик!

PyCon для студентов

Время на прочтение2 мин
Количество просмотров5.2K
Строго говоря, PyCon Russia — не совсем студенческое мероприятие (мы очень старались сделать программу интересной именно для опытных разработчиков). Но поскольку подобного рода гости нечасто бывают на Урале, да и мы в IT-People как-то традиционно переживаем за формирование интересной профессиональной среды, то вот два шага, на которые мы идём в этот раз:
Читать дальше →

Путешествие исключений между C++ и Python или «Туда и обратно»

Время на прочтение11 мин
Количество просмотров19K
В этой главе сказа про дружбу C++ и Python будет на удивление мало использования Boost.Python. Передача исключений туда и обратно является по сути слабым местом данной библиотеки. Будем обходиться родным API языка Python, а где это возможно использовать Boost.Python.
Тем не менее Boost.Python создаёт окружение, в котором исключения из C++ попадают в Python в виде стандартного RuntimeError, а обратно из Python генерируется исключение C++ типа error_already_set, что означает «тебе что-то прилетело, сходи сам почитай что там». И вот здесь нам как раз будет не лишним использовать C-API языка Python, чтобы вычитать необходимую информацию об исключении и преобразовать в соответствующий класс сообразно логике приложения.
К чему такие сложности? — Дело в том, что в Python, в отличие от C++, кроме текста исключения и его типа приходит ещё и traceback — стек до места возникновения исключения. Давайте немного расширим стандартный std::exception дополнительным параметром для этого stacktrace, а заодно напишем конвертер исключений туда и обратно из классов C++ в классы исключений Python.
Читать дальше →

Python в Европе под угрозой

Время на прочтение2 мин
Количество просмотров46K
Некоммерческая организация Python Software Foundation бьёт тревогу: объявилась некая британская фирма, которая пытается зарегистрировать торговую марку Python для программного обеспечения, сервисов и т.д. на территории всего Евросоюза.

Эта компания 13 лет назад зарегистрировала домен python.co.uk. Раньше она просто направляла трафик с этого домена на свои сайты veber.co.uk и pobox.co.uk, но теперь родительская компания приняла решение, что может использовать название Python в своём бизнесе.

Организация Python Software Foundation нуждается в свидетельских показаниях, что слово Python использовалось до того, как был зарегистрирован домен python.co.uk. Организация обращается ко всем компаниям в ЕС, которые используют программное обеспечение на Python, с просьбой прислать письмо, которое можно предъявить в суде.
Читать дальше →

Можно ли автоматически разгадать головоломку Mercator от Google?

Время на прочтение4 мин
Количество просмотров25K
Недавно была статья о крутой картографической головоломке от Google. После того, как я потратил около 20 минут на разгадывание, захотелось понять можно ли сделать это автоматически?

Подробности

Вклад авторов