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

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

Я давно интересовался 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 и базы данных.
Читать полностью »

Предыстория

На определенном этапе развития технологий компании Acronis было принято решение изучить возможность распространения интерпретатора языка python3 собственной сборки как часть наших продуктов, расширив его при этом нашими собственными модулями, обеспечивающими доступ к инфраструктуре этих продуктов. Данный пост является одним из результатов исследований в этом направлении.

В первую очередь, нам хотелось иметь ограниченный компактный набор конечных распространяемых модулей. Однако публичная сборка питона, распространяемая через python.org к этому не располагает, одна только стандартная библиотека, являющаяся неотъемлемой частью самого языка, состоит из более чем тысячи py-файлов. Именно поэтому, мы сразу обратили внимание на такую любопытную особенность интерпретатора, как возможность импорта модулей, находящихся в zip-архивах, когда все множество исходников на питоне, относящихся к одному или нескольким модулям, упаковано в zip-архив и распространяется одним zip-файлом.

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


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