Рубрика «python3» - 17

Давно хотелось написать какое-нибудь приложение, используя VK API. Решено было написать некий каркас, добавляя плагины к которому можно было бы реализовать какие-то мелкие задачи, которые нужны в данный момент: от скачивания музыки до банального поддержания аккаунта онлайн. Запускать данное творение планировалось как на сервере, так и на ПК. С проблемами, вставшими на моем пути во время разработки, включая озвученную в заголовке, я и хотел бы вас познакомить.
Читать полностью »

Добрый день, уважаемые читатели.

Я давно интересовался Arduino, и вот однажды решился на покупку этой замечательной платформы. После недолгих поисков приобрел небольшой Arduino kit, в котором, помимо прочего, был ИК-датчик и пульт к нему. Изучив примеры из мануала, понял, что настало время придумать что-то свое. В итоге я решил сделать удаленное управление VLC player’ом, используя магию Arduino и Python3.
Читать полностью »

Так получилось, что несколько месяцев я пытался серьёзно использовать в качестве сервера, железку на ARM процессоре.
Об этом я писал тут и тут.
Производительности мне часто не хватало, и я находил и искал различные альтернативы, часто активно использующие C/C++. Парочка библиотек под катом.
Быстрые аналоги популярных библиотек для Python
Читать полностью »

В прошлой статье я писал про тестирование ARM сервера при помощи самописного чата на Python ( www.habrachat.org ).
Но как выяснилось несколько дней назад:

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

По хорошему меня попросили выехать за 2 дня (а на сервере я смог разместить много тестовых проектов кроме чата). В итоге я решил переехать на heroku. Подробности под катом.
Читать полностью »

Недавно я писал пост про то, как был придуман и написан thunderargs. Сегодня я раccкажу о том, как его можно применять.

Напомню, что эта штука предназначена для обработки параметров функции при помощи аннотаций. Например, так:

OPERATION = {'+': lambda x, y: x+y,
             '-': lambda x, y: x-y,
             '*': lambda x, y: x*y,
             '/': lambda x, y: x/y,
             '^': lambda x, y: pow(x,y)}

@Endpoint
def calculate(x:Arg(int), y:Arg(int),
                       op:Arg(str, default='+', expander=OPERATION)):
    return str(op(x,y))

Постараемся по ходу тутора решать вполне определённые проблемы, а не какие-то эфемерные задачки. Ну а теперь — к делу.

Читать полностью »

image
Конференция ЕвроПитон 2013 во Флоренции, в Италии открылась с доклада Ван Линдберга о близжайщих двадцати лет Питона. Линдберг, юрист, с инженерным образованием является председателем Фонда программного обеспечения Питон (ФПОП ) и автором книги Интеллектуальная Собственность и Открытый Исходный Код (рассмотренный на LWN в 2008 году). Его доклад взглянул на проблемы, с которыми сталкивается общество ПитонЧитать полностью »

Сразу хочу объявить, что здесь под аннотациями подразумеваются НЕ декораторы. И я не знаю по какой причине декораторы иногда именуют аннотациями.

Недавно я открыл для себя что в питоне есть фишка, которую я очень давно искал — аннотации к функциям. Это — возможность пихнуть в декларацию функции какую-либо информацию по каждому отдельному её параметру.

Вот каноничный пример из PEP:

def compile(source: "something compilable",
            filename: "where the compilable thing comes from",
            mode: "is this a single statement or a suite?"):
    ...

Там же, чуть ниже, приводятся примеры, которые дают понять, что комментирование параметров — не единственное возможное использование данной фичи. Это натолкнуло меня на мысль об одной старой беде, которая досаждала моей нервной системе уже приличное время. А именно — получение данных из форм во Flask.

Читать полностью »

Наверное, все уже слышали о чудесной библиотеке asyncio?

Если нет, то коротко: эта либа стала стандартом на асинхронное сетевое программирование на Python. tornado и twisted или научатся с ней работать или постепенно уйдут в маргиналы.

asyncio прекрасна, но это просто библиотека для работы с TCP, UDP, UNIX сокетами, PIPES и асинхронным запуском subprocess.

Чтобы всем было здорово нужны сторонние библиотеки, умеющие работать с asyncio. Кое-что уже есть, но мало.

Вот я с коллегами и сделал пару: одну для ZeroMQ и другую для PostgreSQL

Если вы прочно сидите на Python 2 и не интересуетесь Python 3 — не ходите под кат во избежание глупых вопросов и прочих недоразумений.
Читать полностью »

Мы будем говорить о новом webmail клиенте с открытыми исходниками.

Я уже лет семь использую gmail и в этот период несколько раз пытался уйти от него, но всегда возвращался. И что интересно, когда смотрел очередную альтернативу, то первое требование было – цепочки писем по удобству сопоставимые с gmail.

Из примеров, которые зацепили:

И конечно смотрел на mailpile.is, но они пошли странным путем.

После всех этих и других проб понял, что в gmail сделаны идеальные для меня цепочки писем (ну или почти идеальные). А пару-тройку месяцев назад мне нужна была идея для проекта и в итоге склонился, что нужен webmail клиент с gmail-подобными цепочками писем. Это то чего мне не хватает и чем бы пользовался регулярно на ежедневной основе, а последнее очень важно для заинтересованности в разработке и улучшениии продукта.
Читать полностью »

imageЯ хочу вам рассказать о том, как я организовал бесплатный кружок по программированию для детей в одной московской школе. Возможно, мой опыт будет полезным желающим заняться чем-то подобным, а ваши комметарии будут полезны мне сделать кружок лучше.

Где-то пол года назад я загорелся желанием открыть свой кружок по программированию для детей. Решил, что было бы замечательно набрать группу детей и обучить их полезному языку программирования и познакомить с основными технологиями, которые применяются совместно с программированием и смогут пригодиться в реальной жизни, например, работа с HTTP и базы данных.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js