IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     02.08.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Python кодогенерация — ускоряем strftime / strptime

В первой и второй частях я поделился историей создания python библиотеки convtools (кратко: позволяет декларативно описывать преобразования данных, из которых генерируются python функции, реализующие заданные преобразования), сейчас расскажу об ускорении частных случаев datetime.strptime и datetime.strftime, а также о том интересном, что встретилось в datetime модуле по дороге.

     01.08.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Самое понятное объяснения CFG Scale в нейросетях. Как эта штука повлияла на появление Stable Diffusion

Вы не поверите, но я уже и разработчиков Kandinsky 2.2 спрашивал, что такое CFG Scale в фундаментальном смысле, и нейронщиков всех мастей, однако так не получил внятного ответа. От обывательских блогов меня вообще теперь тошнит, ибо там одно и то же: параметр CFG Scale увеличивает силу следования подсказке... И все как бы, окей — сами разберемся.

 

     01.08.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Мы создали большой диалоговый датасет

Те, кто когда-нибудь хотел обучить своего диалогового чат-бота, непременно сталкивались с отсутствием датасетов с адекватными диалогами. В открытом доступе, в основном, лишь наборы комментариев с Пикабу и Хабра, парсинг телеграм чатов, и диалоги из литературы. Мягко говоря, всё это "не очень". Поэтому, мы решили использовать ChatGPT для генерации подходящего датасета.

     01.08.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Большое обновление Propan Framework. Куда дальше?

Пару месяцев назад я рассказал вам о своем фреймворке для работы с различными брокерами сообщений - Propan.

Тезисно повторю: это идейный наследник FastAPI, но для написания асинхронных микросервисов (привет, Kombu). Он настолько облегчает взаимодействие с брокерами сообщений, что данный архитектурный паттерн переходит из разряда

     31.07.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Протоколы в Python

В Python 3.8. появилась новая примечательная возможность — протоколы (protocols). Протоколы — это альтернатива абстрактным базовым классам (abstract base classes, ABC). Они позволяют пользоваться структурной подтипизацией (structural subtyping), то есть — осуществлять проверку совместимости классов исключительно на основе анализа их атрибутов и методов. В этом материале мы поговорим о протоколах в Python и разберём практические примеры работы с ними.

     31.07.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Получаем данные из «Яндекс.Метрики» в электронные таблицы и BI: пошаговая инструкция

Стандартный интерфейс «Яндекс.Метрики» позволяет анализировать данные о посетителях сайта и их поведении достаточно подробно. Тем не менее, для решения задач глубокой аналитики стандартного функционала может оказаться недостаточно. 

К тому же многим аналитикам привычнее и зачастую нужнее проводить аналитику в электронных таблицах (Excel, Google Sheet) или BI. Да, можно выгружать отчеты из «Метрики» сначала в Excel-файлы. Но на таком полуручном режиме оперативной и эффективной аналитики особо не построишь.

     31.07.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Django, RQ и FakeRedis

Я часто в своих проектах использую связку Django + RQ вместо Celery. RQ удобный и максимально простой инструмент среди популярных Task Queue решений в экосистеме Python.

     31.07.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Аналитика небольших данных: как совместить Excel, Python и SQL с помощью инструментов с открытым исходным кодом

Как с помощью двух мощных инструментов с открытым исходным кодом можно совместить привычный для пользователей интерфейс, надежность и мощь SQL, гибкость Python и командную работу как в Google Spreadsheet?

     30.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Сводка от pythonz.net 23.07.2023 — 30.07.2023

А теперь о том, что происходило в последнее время на других ресурсах.

     30.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

5-1 не в вашу пользу: 5 ошибок при создании игры

«Блин, вот бы создать свою игру, да чтобы с этим да этим.....» — наверное каждый человек не раз сталкивался с подобным желанием, но 95% подобных желаний оканчивались ничем. В этой статье я хочу рассказать о том, как я делал свою игру и какие ошибки совершал.

     28.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Пример уменьшения размерности данных с помощью линейных и нелинейных методов в Python

Уменьшение размерности данных — это подход упрощения сложных наборов данных для облегчения их обработки. По мере того как данные растут и становятся более сложными, извлекать информацию становится все труднее, а визуализация становится более накладной. Методы уменьшения размерности данных решают эту проблему, предоставляя меньшее количество измерений (столбцов) при сохранении наиболее важной информации. Мы можем потерять некоторые детали, но получить более простое представление данных, которое легче обрабатывать и сравнивать.

     27.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Вопросы и обсуждения

Python Bytes: #345 Some Big Time Releases

Очередной выпуск англоязычного подкаста Python Bytes

     27.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Книга «Грокаем глубокое обучение с подкреплением»


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

     27.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки

Попользовавшись множеством приложений вида «калькулятор калорий» и «трекер тренировок», пришел к выводу, что функционал подобных приложений не так широк, как этого бы хотелось, а доступ к более‑менее продвинутому функционалу стоит несоразмерно много для российского кошелька. Философия популярных приложений часто такова: вот, отслеживай съеденные калории, но чтобы контролировать соотношение БЖУ, отслеживать потребление воды и т. д. — плати деньгу. С вас 20 баксов в месяц, но только сегодня всего за 199$ можешь получить доступ на год. Ну что, пробиваем? (*утрированно*)

     26.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Как сделать свой AnythingGPT, отвечающий на вопросы так, как вам это необходимо (Python, OpenAI Embeddings, ChatGPT API)

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

     26.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Python декораторы на максималках. Универсальный рецепт по написанию и аннотирования от мала до велика

Декорирование функций - это, наверное, самая сложная среди базовых и самая простая среди продвинутых фич языка Python. С декораторами, наверное, знакомы все джуны (хотя бы в рамках подготовки к собеседованиям). Однако, крайне мало разработчиков пишут их правильно.

     25.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

XML-RPC: Ускоряем работу сервера, пользуясь только стандартной библиотекой Python

Кратно увеличим производительность приложения на основе xmlrpc.server из стандартной библиотеки Python.

     25.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Автоматизация обеспечения качества кода на языке Python

В первой части статьи я раскрою общие концепции и рабочие процессы, применимые к большинству программных проектов. Даже если вы не пишете код на языке Python, вы сможете почерпнуть из этой статьи что-то новое.Во второй части я предлагаю пошаговое руководство по настройке инструментария для повышения качества кода в проектах на Python. Отдельное внимание отведу инструментам, которые я использую и которым отдаю предпочтение, имея 15 лет профессионального опыта работы с Python. А также приведу некоторые доступные альтернативы каждому из моих предложений.

     25.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Четыре способа написать Hello world, или инструменты для создания GUI на Python

После написания программы ее можно модифицировать и добавить графический интерфейс — с Python это проще, чем кажется. Для программирования красивого и функционального GUI иногда достаточно простого знания html и css. Под катом — подборка некоторых инструментов для создания интерфейсов на Python. Сохраняйте статью в закладки и предлагайте свои варианты в комментариях!

     24.07.2023       Выпуск 501 (24.07.2023 - 30.07.2023)       Статьи

Учим ламу говорить на руском

Сейчас я напишу свою реализацию LoRA используя PyTorch, переведу весь датасет alpaca-cleaned (на котором училась альпака - языковая модель родом из стенфорда) на русский язык, используя взломаный яндекс переводчик, и наконец "скормлю" его языковой модели, что бы она наконец смогла понимать русский язык.