← All posts tagged Python

masai
Python ? PyCharm Я слоупок. Внезапно узнал, что pycharm не умеет считать всякие метрики и даже не показывает, сколько LoC в проекте. Какой утилитой для подсчёта статистики сейчас модно пользоваться, чтобы прокрутить её к IDE?
masai
Python R Не вброс. Чем R лучше Python + библиотеки (pandas, scipy и прочие)? Чтоит ли учить его? А то я попробовал что-то сделать, но преимуществ особых не понял.
masai
Linux Python Debian Продолжение #2098764. Каким-то образом я сделал-таки нормальный пакет. Но, как бы это помягче сказать, не через парадный вход.
Вот для python2 при рабочем setup.py пакет сделать — как два байта переслать. Почему для python3 такие сложности? Или я просто не понял что-то, а там всё просто и логично на самом деле?
masai
Linux Python Debian жизнь fail Сдуру написал одну программку на третьем питоне (решил выпендриться), а теперь не могу deb-пакет собрать, так как все эти debhelper’ы под второй питон заточены. И, как я понял, в Debian минимум год в курсе проблемы (#597105), но что-то не особо чешутся исправлять. И вообще, у них это даже не баг. «Severity: wishlist»
Все советы сводятся к изготовлению костылей разной длины и окрашенности. Проще плюнуть и переписать под второй питон всё.
masai
soft math Mathematica Наткнулся на ещё одну реализацию языка Mathematica — Mathics (http://mathics.org). На этот раз на Python.

В качестве бэкэнда используется sympy. Какого-то интерфейса нет, всё сделано через веб, поэтому в зависимостях сидит Django. Можно это дело опробовать онлайн (внезапно, mathics.net). Оно даже графики умеет.

Привлёк проект тем, что более-менее активно пилится автором (в отличие от других подобных). Исходники лежат на гитхабе, так что присоединяйтесь! Глядишь, сделаем опенсорсный аналог математики! Покажем Вольфраму, так сказать, Кузькину мать!
masai
dev Хочется странного. Посоветуйте какой-нибудь встраиваемый в сишечные/плюсцовые программы легковесный JS-движок (или вообще скриптовой). Но чтоб не было стапятисот функций для его инициализации и уничтожения как в SpiderMonkey. Возиться со стеком как в Lua тоже неохота. Как встраивается Python устраивает (хотя писанины тоже многовато), но нужно что-то полегче. Цикл там крутануть, пару вычислений несложных сделать. Мне для мелких поделок нужно.
Идеально подходит Jint, в котором в три строчки всё делается, но он для .NET/Mono.
Можно, конечно, и guile попробовать. А то как-то не доводилось до сих пор.
masai
Python По аналогии с import this, предлагается сделать в NumPy свой Zen с го и гейшами → technicaldiscovery.blogspot.com :
Strided is better than scattered
Contiguous is better than strided
Descriptive is better than imperative (use data-types)
Array-oriented is often better than object-oriented
Broadcasting is a great idea — use where possible
Vectorized is better than an explicit loop
Unless it’s complicated --- then use numexpr, weave, or Cython
Think in higher dimensions
masai
dev math Тут недавно в коментах у меня спрашивали про быструю реализацию на питоне целочисленного дискретного косинус-преобразования. Набросал сейчас на основе классической реализации, использованной в libjpeg → gist.github.com
Работает для блоков в 8 чисел. В return я вставил перенормировку — деление на 1/sqrt(8). Ваще можно поменять коэффициенты и тогда перенормировка не потребуется, но она и так лишняя, если использовать одномерное ДКП только для вычисления двумерного.
Если нужно двумерное ДКП, то перенормировку убираем нафиг (возвращаем просто data) и применяем одномерное ко всем строчкам и ко всем столбикам. Итого — 16 одномерных получается.
Работает только с целыми числами, так что безвозмездно (т.е. нахаляву) получаем квантование значений, что делает преобразование не совсем обратимым, но вполне пригодным для того, чтоб какую-то метрику посчитать или сжать картинку.
Даже реализация на Python рвёт чистый dct из scipy в два раза по скорости.
masai
Yandex python-fotki Внезапно, при загрузке фотографий API яндекс-фоток появились редиректы, которых httplib не умеет. Придётся исправлять библиотечку, заодно альбомы в неё впилю. Пора уже, а то забросил на неделю, ждал, когда баг с summary и ошибкой 500 починят (пока что не починили, как вижу).
masai
Python dev Жуйк, как ты считаешь, проверять типы аргументах в функциях вручную — это pythonic way? А то мнения в интернетах разделились.
masai
python-fotki Я тут подумал и решил, что когда сервер выдаёт «500 INTERNAL SERVER ERROR» — это значит, что косяк не только в моей программе…