Обновить
512K+

Python *

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

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

Организация OLAP куба средствами Python

Время на прочтение4 мин
Охват и читатели27K
Добрый день, уважаемые читатели.
Сегодня я расскажу вам о том, как можно построить простенькую систему анализа данных на Python. В этом мне помогут framework cubes и пакет cubesviewer.
Сubes представляет собой framework'ом для работы с многомерными данными с помощью Python. Кроме того он включает в себя OLAP HTTP-сервер для упрощенной разработки приложений отчетности и общего просмотра данных.
Сubesviewer представляет собой web-интерфейс для работы с вышеуказанным сервером.

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

Python Webmoney API

Время на прочтение4 мин
Охват и читатели14K
Потребовалось мне как то реализовать поддержку Webmoney API (Документация) в проекте. Библиотек на питоне я не нашел, поэтому решил написать свою.
Читать дальше →

Python-digest #26. Новости, интересные проекты, статьи и интервью [4 мая 2014 — 11 мая 2014]

Время на прочтение3 мин
Охват и читатели15K
Очередной выпуск новостей, статей ссылок на интесные проекты на python и околоpython-тематику. В этот раз о динамическом программировании, яблоках и бананах, подземке и даже о яках. В общем, надеюсь вам понравится, несмотря на то что эта неделя была не очень богатой на новости.

Выражаю традиционную благодарность owlman75 за иллюстрацию к выпуску. И просто огромное спасибо axce1 — я наконец то влил его изменения касающиеся импорта rss и теперь вероятность того, что я пропущу интересную новость в частности с Планеты python стремится к нулю.

Присылайте мне, пожалуйста, ваши новости/исправления/предложения, а если хотите поучаствовать в создании дайджеста и освободить меня от мониторинга какого-то направления — можно ко мне даже в скайп постучаться: alrusdi

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

И снова про опасность eval()

Время на прочтение6 мин
Охват и читатели126K
Сколько было сломано копий при обсуждении вопроса «Возможно ли сделать eval безопасным?» — невозможно сосчитать. Всегда находится кто-то, кто утверждает, что нашёл способ оградиться от всех возможных последствий выполнения этой функции.
Когда мне понадобилось найти развёрнутый ответ на этот вопрос, я наткнулся на один пост. Меня приятно удивила глубина исследования, так что я решил, что это стоит перевести.

Коротко о проблеме


В Python есть встроенная функция eval(), которая выполняет строку с кодом и возвращает результат выполнения:
assert eval("2 + 3 * len('hello')") == 17

Это очень мощная, но в то же время и очень опасная инструкция, особенно если строки, которые вы передаёте в eval, получены не из доверенного источника. Что будет, если строкой, которую мы решим скормить eval'у, окажется os.system('rm -rf /')? Интерпретатор честно запустит процесс удаления всех данных с компьютера, и хорошо ещё, если он будет выполняться от имени наименее привилегированного пользователя (в последующих примерах я буду использовать clear (cls, если вы используете Windows) вместо rm -rf /, чтобы никто из читателей случайно не выстрелил себе в ногу).
Читать дальше →

Разработка ERP на tryton: Часть 1

Время на прочтение28 мин
Охват и читатели17K
К нам пришел крупный проект по созданию ERP-системы для компании производителя. В качестве сервера выбор пал на tryton. Однако у них с документацией достаточно плохо. На просторах интернета удалось найти официальную документацию, куски кода с описанием и логи irc канала tryton. Данной информации очень мало для разработки какой-либо системы на tryton. Что б закрыть этот пробел, было решено документировать весь процесс разработки, в особенности подводные камни, с которыми пришлось столкнуться. Итак приступим.
Читать дальше →

Python-digest #25. Новости, интересные проекты, статьи и интервью [28 апреля 2014 — 4 мая 2014]

Время на прочтение2 мин
Охват и читатели12K
Юбилейный 25-й выпуск для хабры подборки статей, релизов, описаний интересных проектов о python и близлежащих технологиях.

Спасибо owlman75 за первомайскую иллюстрацию. Кстати, всех поздравляю с первомаем и наступающим днем Победы.

Благодарю хабраюзеров за плюсики в прошлую публикацию их оказалось неожиданно много, но правила я, оказывается, не дочитал и одного поста с 50+ недостаточно для вывода денежки — их должно быть минимум два. Но ничего, все равно очень приятно было.

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

Легкий python веб-фреймворк: Bottle

Время на прочтение3 мин
Охват и читатели90K

Введение


Недавно я осознал, что на Хабре нет ни одной статьи, посвящённой прекрасному фреймворку Bottle, которым, кстати говоря, пользуется не мало людей, поэтому в этой статье я попытаюсь рассказать вам о нем.
Читать дальше →

Анализ дружеских связей VK с помощью Python

Время на прочтение6 мин
Охват и читатели81K
Совсем недавно на Хабре появилась статья о реализации дружеских связей в ВКонтакте с помощью Wolfram Mathematica. Идея мне понравилась, и, естественно, захотелось сделать такой же граф, используя Python и d3. Вот, что из этого получилось.
Читать дальше →

Программа PyCon Russia 2014

Время на прочтение5 мин
Охват и читатели5.4K
Привет, хабр!

Осталось чуть больше месяца до PyCon Russia 2014 и мы рады рассказать вам о том, кто же в этом году приедет на конференцию и выступит с докладом. Хотя доклады и мастер-классы — далеко не все, что ждет питонистов 2-3 июня в Екатеринбурге.

Вот что попало в программу

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

Python-digest #24. Новости, интересные проекты, статьи и интервью [20 апреля 2014 — 27 апреля 2014]

Время на прочтение3 мин
Охват и читатели15K
И снова подборка статей, релизов и интересных проектов о python и близлежащих технологиях. Сегодня будут Haskell, ниндзя, клики, кокаин — в общем все что нужно для хорошего шоу.

Не перестаю благодарить owlman75 за иллюстрацию. Даже отпуск ему не помеха. И большое спасибо за новости, которые вы присылаете — они мне очень помогают верить в то, что проект нужен не одному мне.

Прошу не забывать ставить плюсики — если пост наберет их больше 50 (а я верю, что такое хоть когда-нибудь случится), то доброхабр даст мне денежку.

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

Съёмка показаний счетчика на телефон с последующим распознаванием

Время на прочтение20 мин
Охват и читатели192K

Вступление


Так сложилось, что я живу в коттеджном поселке, где нет центрального отопления, а значит, каждый греет свою квартиру самостоятельно. Чаще всего для этих целей используются газовые котлы, метод достаточно дешевый, жаловаться не на что, но есть одна тонкость. Для корректной работы газового котла (внезапно) необходимо наличие газа в трубе.

Возможно, так ведут себя не все котлы, но наш отключается даже при кратковременном перебое с подачей газа и не включается обратно, если подача восстановится. Если кто-то есть дома, то это не проблема, нажал кнопку и котел греет дальше, но если вдруг так сложилось, что мы решили всей семьей поехать в отпуск, а на дворе зима, хорошая такая, чтоб -20°C, то последствия могут быть плачевными.

Решение простое — оставить ключи родственникам/друзьям/соседям, чтобы они могли приехать и включить котел, случись какая-нибудь неприятность. Хорошо, если есть сосед, который будет каждый день заходить и проверять, всё ли в порядке. А если нет? Или он тоже решит уехать куда-нибудь на выходные?

Итак, я решил наладить выкладывание показаний счётчика куда-нибудь в Интернет, чтоб я мог находясь где-нибудь в дальней поездке периодически проверять, тратится ли газ, а если вдруг перестанет тратиться, то срочно звонить родственникам/друзьям/соседям (или кому там я оставил ключи), чтобы приехали и нажали кнопку.

Конечно, после простого выкладывания показаний в Интернет я решил не останавливаться на достигнутом и замутил ещё распознавание показаний и графическое представление, об этом читайте в части 2 данного топика.
Читать дальше →

import sphinxapi без танцев или простая установка sphinxapi.py через pip

Время на прочтение1 мин
Охват и читатели4.4K
Немного облегчил установку sphinxapi.py через pip.
Просто
pip install https://github.com/Romamo/sphinxapi/zipball/master

Используем
import sphinxapi

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

Основы парсинга с помощью Python+lxml

Время на прочтение6 мин
Охват и читатели200K
Добрый день, уважаемые читатели.
В сегодняшней статье я покажу основы разбора HTML разметки страниц с помощью библиотеки lxml для Python.
Если вкратце, то lxml это быстрая и гибкая библиотека для обработки разметки XML и HTML на Python. Кроме того, в ней присутствует возможность разложения элементов документа в дерево. В статье я постараюсь показать, насколько просто ее применение на практике.

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

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

Python-digest #23. Новости, интересные проекты, статьи и интервью [13 апреля 2014 — 20 апреля 2014]

Время на прочтение3 мин
Охват и читатели11K
Подоспела очередная подборка новостей, статей и интересных проектов из мира python и близлежащих технологий. Главной новость, пожалуй, можно назвать просто шикарную подборку видео с конференции PyCon 2014, которая сама по себе способна увлечь на много часов. Но и другие материалы вполне достойные. А вы хотите python 2.8?

Большое спасибо owlman75 — несмотря на то, что у него не оказалось времени нарисовать тематическую иллюстрацию — он очень ответственно и профессионально отнесся к делу, выполнив иллюстрацию заранее. Огромное спасибо и тем кто присылает новости. Если вам не трудно — подписывайтесь — я буду показывать кто именно прислал ту или иную новость — народ доложен знать своих героев.

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

BDD-разработка на django

Время на прочтение6 мин
Охват и читатели17K
Программисты очень по разному относятся к тестированию, и многие не любят писать тесты. Процесс TDD же для новичков не особенно понятен — ведь приходится вместо функционала программы писать вначале тест, который его проверяет, то есть количество работы увеличивается. Однако со временем приходит осознание того, что автоматическое тестирование необходимо. К примеру, возьмем процесс разработки даже несложного проекта на django, пока в проекте пара вьюх и моделек все просто. Когда приложение обрастает функциями, внезапно обнаруживается, что совершать такое тестирование все сложнее — кликов больше, надо вносить какие-то данные и т.д., вот тут-то и на помощь приходит behavior-driven development (BDD).

image

Я хочу рассказать о BDD на примере создания примитивного приложения — рейтинга сайтов. Идея тривиальна — на странице отображается список сайтов, пользователь голосует за сайт, сайт поднимается в рейтинге и соответственно изменяет положение на странице.
Читать дальше →

Добавляем IP телефоны в отдельный Pool IP адресов по Mac адресу

Время на прочтение4 мин
Охват и читатели9.2K
Всем привет!
Этот топик о том, как я использовал Python для написания скрипта, который производит следующие действия:

  1. Выгружает список активных мак адресов с Микротика
  2. Выбирает мак адреса IP телефонов
  3. Помещает их в отдельный pool IP адресов

Кому интересно прошу пожаловать под кат.
Читать дальше →

Непайтоновый Пайтон

Время на прочтение2 мин
Охват и читатели32K

FizzBuzz


Когда я подавал заявку на вступление в Hacker School, я столкнулся со следующей задачкой:
Напишите программу, которая выводит числа от 1 до 100 (включительно). Если число делится на 3, выведите Fizz вместо числа. Если оно делится на 5, выведите Buzz. Если оно делится как на 3, так и 5, выведите FizzBuzz. Вы можете использовать любой язык программирования.

(С тех пор сотрудники Hacker School слегка изменили задачку, скорее всего, для того, чтобы затруднить её решение с помощью интернет-поисковиков. Я намеренно не включил сюда изменённое условие, чтобы минимизировать эффект моего поста на гуглобельность.)

Задачка довольно проста и не требует обдумывания, поэтому хорошо подходит как пример для разных языков и стилей программирования словно Hello, World или задача на поиск чисел Фибоначчи.
Читать дальше →

Высоконагруженные сайты и приложения на Python / Django (29 проектов)

Время на прочтение9 мин
Охват и читатели141K
Наша компания довольно давно занимается разработкой больших веб-приложений на Python / Django. В рунете крайне мало информации об этом замечательном языке программирования и фремворке на его основе. Мы решили исправить эту ошибку и рассказать о популярных высоконагруженных сайтах на этой технологии, а также дать много интересных технических подробностей. Для удобства сравнения сайтов между собой мы приводим еще и немного статистики к каждому из проектов. В целом сайтов на Python / Django, конечно, очень много в мире, мы охватим только наиболее интересные по нашему мнению.

Небольшая таблица известных проектов (на основе данных http://builtwith.com/), кликабельно:
Читать дальше →

Обзор IPython Notebook 2.0

Время на прочтение2 мин
Охват и читатели57K
Здравствуйте, уважаемые читатели.
3 апреля 2014 вышел долгожданный релиз IPython под номером 2.0.
Для тех кто не знает, IPython это интерактивная оболочка для языка программирования Python, которая предоставляет расширенную интроспекцию, дополнительный командный синтаксис, а также подсветку и автоматическое дополнение кода.
Далее я постараюсь описать наиболее значимые изменения по сравнению с предыдущей версией. Основные изменения в ней претерпела среда IPython Notebook, о нововведениях которой я напишу ниже.

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

Java Virtual Machine in pure python

Время на прочтение1 мин
Охват и читатели12K
Коллеги,

Некоторое время назад я начал работать над обучающим проектом, совмещающим java + python + некоторые базовые алгоритмы. Промежуточный этап разработки — имплементация спецификации jdk7 на python. (Java исполняемая в python)

Код доступен www.pyjvm.org или github: github.com/andrewromanenco/pyjvm

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