Как управляться с большими проектами на Python

На Hacker News появилась интересная дискуссия о том как управляться с большими Python проектами. Поскольку я причастен к достаточно большому проекту, то я не могу удержаться и не поделиться своим видением на этот вопрос. Я составил список из трех моментов на которые стоит обратить внимание.

more ...

Проект на Kivy. Часть 1. Настройка окружения

Kivy - интересный проект, который позволяет делать кроссплатформенные GUI приложения, включая мобильные. По слухам. Я решил выяснить можно ли использовать его для создания маленьких приложений на питоне. В этой серии статей я попробую поисследовать Kivy на примере клона "конструктора слов" - одного из упражнений для LingvoLeo.

more ...

Модификация параметров под args или kwargs

В Python достаточно часто интерфейсы функций частично или полностью "сворачивают" с помощью *args и **kwargs. Это вполне естественно для питонистов, но вызывает вопросы, при переходе с других языков. С самим "сворачиванием" никаких проблем нет. Сложности возникают при модификации аргументов: строятся проверки вокруг args и kwargs, вместо того, что бы "развернуть" интерфейс функции.

more ...

Изменяемы типы в качестве параметров по умолчанию в Python

Почему изменяемые типы не рекомендуется использовать в качестве значений аргументов по умолчанию в Python? Если вы забрались по карьерной лестнице выше джуниора, то наверняка задумывались. И наверняка ответ был таким: "это приводит к странным побочным эффектам". Но я почти наверняка уверен, что только малая часть разработчиков на питоне сделала шаг дальше и разобралась почему такое поведение у языка.

more ...

Полезняшка: responses

Если вы используете в своем проекте requests, то наверняка сталкиваетесь с проблемами тестирования. На помощь придет библиотека responses, которая позволяет делать моки ответов вызовов requests.

more ...

c