Собрали в одном месте самые важные ссылки
читайте авторский блог
Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/
(14.03.2016 - 20.03.2016)
18 марта, в пятницу, прошел на Moscow Python Meetup 33 в офисе Mail.Ru Group.
В прошлый раз мы подробно рассмотрели многообразие линейных моделей. Теперь перейдем от теории к практике и построим самую простую, но все же полезную модель, которую вы легко сможете адаптировать к своим задачам. Модель будет проиллюстрирована кодом на R и Python, причем сразу в трех ароматах: scikit-learn, statsmodels и Patsy.
Генераторы могут быть переданы функции, и затем использоваться в пределах этих функций. Что это дает - читайте по ссылке.
Новый PyCharm уже доступен.
Начиная с этой версии PyCharm меняет версионирование. Теперь версии будут иметь названия в формате YYYY.R
С версией Visual Studio 2015 Community компания Microsoft впервые предложила разработчикам совершенно бесплатно пользоваться полнофункциональной версией своего мощного инструмента для разработки. Напомню, что функционал Visual Studio 2015 Community почти полностью предоставляет функционал версии Professional, но имеет некоторые лицензионные ограничения по использованию в коммерческой разработке.
Visual Studio 2015 Community так же, как и остальные версии инструмента, расширяема, благодаря Visual Studio Marketplace и всем официальным обновлениям инструмента. То есть огромное, постоянно увеличивающееся количество функционала доступно разработчикам совершенно бесплатно. Это касается и инструментов для разработки на языке Python.
Поддержка Python станет доступна, если отметить соответствующий пункт при установке среды. Это касается и CPython, PyPy, IronPython, поддержки IntelliSense, интерактивной отладки, интеграции и других возможностей Visual Studio для Python
Есть отличный инструмент для обучения/отчётов/написания умных книг про код — Jupyter Notebook. Если отчёт или книга, например, пишутся на кириллице, а нужно быстро сделать из этого PDF с красивыми формулами и тире правильной длины, то сразу обнаруживается проблема: в стандартном шаблоне, который Jupyter использует для конвертации блокнотов в PDF через LaTeX, нет подключения нужных пакетов с нужными параметрами, поэтому LaTeX просто не компилируется и PDF не получить.
“Absolute statements are the root of all evil.
The key is balance. There are no answers, only questions.”
????
Когда говорят про оптимизацию в контектсте программного обеспечения, то при этом часто подразумевают оптимизацию производительности программиста и/или оптимизацию самого программного обеспечения.
Исходя из YAGNI принципа, Python позволяет программисту сосредоточиться на реализации ПО, избавив его от необходимости заботиться о низкоуровневых вещах таких как регионых памяти, в которых выделяются объекты, об её освобождении или о соглашениях о вызовах.
На обратную проблему в одной из его лекций о Haskell указал Саймон Джонс. У него был слайд, на котором была нарисована стрелка, закрашенная градиентом: в начале было написано “no types”, посередине — “Haskell”, в конце — “Coq”. При этом, когда он указал на Coq, он сказал такую фразу: “This stresses power over usability. Right?! You need a PhD here!”[1]. Несмотря на то, что это была шутка, мантара Python – одна из любимых программистами особенностей этого языка. И из моего опыта, это то, что позволяет выпускать готовый продукт несколько быстрее.
Статья описывает опыт профилирования кода прям в продакшене. Автору удалось сократить потребление CPU на 80%
В этой статье я хочу рассмотреть один из наиболее известных примеров парадокса Симпсона, попутно немного рассказав о MultiIndex в Pandas.
Обо всем по порядку.
В этой статье я бы хотела рассказать о применении python-библиотеки Pandasql.
Многие люди, сталкивающиеся с задачами анализа данных, уже, скорее всего, знакомы с библиотекой Pandas. Pandas позволяет быстро и удобно работать с табличными данными: фильтровать, группировать, делать join над данными; строить сводные таблицы и даже рисовать графики (для простых визуализации достаточно функции plot(), а если хочется чего-то позаковыристее, то поможет библиотека matplotlib). На Хабре не раз рассказывали о применении этой библиотеки для работы с данными: раз, два, три.
Но по моему опыту далеко не все знают о библиотеке Pandasql, которая позволяет работать с Pandas DataFrames как с таблицами и обращаться к ним, используя язык SQL. В некоторых задачах проще выразить желаемое с помощью декларативного языка SQL, поэтому я считаю, что людям, работающим с данными, полезно знать о наличии такой функциональности. Если говорить о реальных задачах, то я использовала эту библиотеку для решения задачи join'a таблиц по нечетким условиям (необходимо было объединить записи о событиях из разных систем по примерно совпадающему времени, разрыв порядка 5 секунд).
Рассмотрим использование этой библиотеки на конкретных примерах.
В посте вы найдете введение в теорию вероятности, об ее основах и некоторое количества кода на Python
В статье рассмотрены базовые строительные блоки для обработки изображений. Все написано на Python + OpenCV
from autobot import Autobot with Autobot('irc.freenode.net', '#python', '[Wally]', log='transcript.log') as bot: while True: r = bot.read() # read will write to the specified log if "some trigger" in r['message']: bot.send("some message back to the chat") #respond to privmsg if r['command'] == 'PRIVMSG': bot.send("some message or command")
Список удивительных ресурсов: книги, видео, статьи об использовании TDD (Test Driven Development) в разных языках программирования, на данным момент имеются разделы по Python, PHP, Javascript, Ruby
Утилита позволяет сразу загрузить изображение на хостинг
Библиотека реализована на threading и multiprocessing
from streampie import *
ints = [2498834631017, 14536621517459, 6528633441793, 1941760544137, 7311548077279,
8567757849149, 5012823744127, 806981130983, 15687248010773, 7750678781801,
2703878052163, 3581512537619, 12656415588017, 468180585877, 19268446801283,
5719647740869, 11493581481859, 366611086739]
def factor(n):
result = set()
for i in range(1, int(n ** 0.5) + 1):
div, mod = divmod(n, i)
if mod == 0:
result |= {i, div}
return sorted(list(result))[:-1]
def do_work(wid, items):
for i in items:
yield factor(i)
print ints >> ProcessPool(do_work, poolsize=8) >> list
from neo4j.v1 import GraphDatabase driver = GraphDatabase.driver("bolt://localhost") session = driver.session() session.run("CREATE (a:Person {name:'Bob'})") result = session.run("MATCH (a:Person) RETURN a.name AS name") for record in result: print(record["name"]) result.close() session.close()
ROP = Возвратно-ориентированное программирование
Система контроля и управления процессами. Изменения описаны по ссылке https://allmychanges.com/p/python/supervisor/#3.2.3. Скачать можно по ссылке: http://pypi.python.org/pypi/supervisor/
Мощный и быстрый модуль для обработки XML/HTML . Изменения описаны по ссылке https://allmychanges.com/p/python/lxml/#3.6.0. Скачать можно по ссылке: http://pypi.python.org/pypi/lxml/
Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9.3. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/
Инструмент создания виртуального рабочего окружения. Изменения описаны по ссылке https://allmychanges.com/p/python/virtualenv/#15.0.1. Скачать можно по ссылке: http://pypi.python.org/pypi/virtualenv/
Утилита для управления модулями в Python. Изменения описаны по ссылке https://allmychanges.com/p/python/pip/#8.1.1. Скачать можно по ссылке: http://pypi.python.org/pypi/pip/
Простой мощный инструмент тестирования в Python. Изменения описаны по ссылке https://allmychanges.com/p/python/pytest/#2.9.1. Скачать можно по ссылке: http://pypi.python.org/pypi/pytest/
Хороший REPL для Python. Изменения описаны по ссылке https://allmychanges.com/p/python/ptpython/#0.31. Скачать можно по ссылке: https://pypi.python.org/pypi/ptpython
Best Shift-Left Testing Tools to Improve Your QA
htmy: Async, Pure-Python Rendering Engine
statsmodels: Statistical Modeling and Econometrics in Python
markitdown: Convert Files and Office Documents to Markdown
Talk Python to Me: #490: Django Ninja
SVG-виджеты для tcl/tk. Финальный аккорд. Часть IV
Implementing Approximate Nearest Neighbor Search with KD-Trees
Пишем свой PyTorch на NumPy. Часть 1
Царство грибов. Симуляция мицелия на p5py. Битвы гифов. Часть первая
django-liveconfigs - управление настройками в django
Мэтчинг персонажей. Level Hard
Стратификация: как не облажаться с A/B тестами