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

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

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

Парсер комбинаторы на Python

Статья предлагает взглянуть на опыт разработки парсер комбинаторов для Python, что вылилось в библиотеку PGPC для разработки парсеров на Python. Библиотека была вдохновлена Parsec. Особый интерес представляет эмуляция do-нотации через Python генераторы, отсюда и название библиотеки: Python Generator based Parser Combinator library.

     22.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Измерение покрытия python сервисов для end-to-end тестов

Как измерить покрытие автотестами? Данный вопрос всегда вызывает жаркие дискуссии в рядах тестировщиков.

     23.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Ray Casting 3D игра на Python + PyGame

В этой статье мы посмотрим на моем примере как создать игру в 3D иллюзией с помощью технологии RayCasting на связке Python + PyGame. Только тригонометрия и вычисления, никак движков.

     22.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Использование python-docx-template для динамического создания закладок и ссылок на них в документах Word

Я использую модуль python-docx-template для генерации файлов docx по шаблону.

     21.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Под капотом Python. Тонкости популярных конструкций with и contextmanager

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

     21.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Пишем микро-shellcode в формате ELF вручную

Уже не раз публиковались статьи про устройство формата ELF и написание файлов в таком формате вручную, но я не считаю лишним опубликовать и свой вариант решения задачи написания ELF-файла вручную. В результате получился файл, вызывающий /bin/sh и занимающий всего 76 байт (что на 8 байт меньше, чем сумма длин необходимых для запуска заголовков ELF).

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Особенности разработки автотестов различными инструментами, а также статистика по использованию

Попробуем разобраться в автоматизации тестирования ПО, сделаем обзор сервисов для автоматического тестирования, выясним, какой язык программирования лучше подходит для QA Automation. Вся информация основана в том числе на реальных событиях и моём реальном опыте.

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Jira worklog без плагинов

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

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Пишем свой Chat GPT

В июне у OpenAI вышла новость, что в модель GPT можно передавать API сторонних приложений, что открывает широкий круг возможностей для создания специализированных агентов. Мы с командой решили написать свой чат для работы с GPT4 от Open AI и другими ML/LLM моделями c возможностью кастомизации под внутренние нужды компании. Проект выложен в открытый доступ, скачать можно по ссылке. Сейчас он находится в активной разработке, так что будем рады видеть ваши замечания / пожелания в комментариях. Также присылайте ваши pull requests с исправлениями. 

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

От маргинального языка к самому популярному в мире: как изменился Python за двадцать лет

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

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

DesktopETL — кросс-платформенный прототип ETL-системы, или как регулярно загружать XML/JSON и сохранять в XLS/CSV

Идея моего домашнего проекта началась с простой, на первый взгляд, задачи: с потребности конвертировать файлы формата XML в формат XLS (или CSV) для последующего анализа. И я был наивен, чтобы попробовать решение «в лоб» и с помощью Excel импортировать богатый внутренний мир SAP Business Objects, описанный в иерархической структуре XML, в табличную форму, — и примерно через час мое сознание, в очередной раз выдав исключение о переполнении памяти, подключило опыт, который намекнул, что иерархические структуры заранее неизвестной глубины проще всего обрабатывать посредством рекурсии.

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

VoiceChat на несколько человек с блэкджеком и (Web?)UI над UDP socket python

Лучший способ допилить что‑то — это придумать заново. Всё что вы прочитаете далее — есть мой гайд по изготовлению велосипеда и не претендует на звание полноценного презентабельного проекта.

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Вопросы и обсуждения

Python Bytes: #344 AMA: Ask Us Anything

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

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Selenium. Автоматизация тестирования календаря (Datepicker)

Задача, у нас есть несколько страниц фильтром данных по дате с помощью поля с календарем (далее datepicker). Необходимо создать инструмент, который позволит задавать дату и локаторы элементов (идентификаторы например см. css-селекторы) управления календарем. Инструмент бы уже реализовал алгоритм выбора даты в календаре. Алгоритм выбора даты включает шаги описанные на схеме 1.

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Превращаем любой фреймворк в FastAPI. На прицеле Flask

Я уверен, вы знаете, что такое FastAPI. По результатам опросов Stackoverflow этот фреймворк уверенно входит в топ любимых фреймворков не только питонистов, но и разработчиков в целом. И не зря: за счет свеого подхода к сериализации данных он предоставляет действительно потрясающий опыт разработки.

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Simba: Симуляция десятков тысяч частиц в потенциале Леннарда-Джонса на чистом Python с GPU-ускорением

Примерно год назад я начал проект симулятора динамики частиц на Python, используя библиотеку Numba для проведения параллельных расчетов на видеокарте. Сейчас, добравшись до определенной вехи в его развитии, я решил открыть исходный код и выложить его на GitHub для всех, кому интересны подобного рода эксперименты.

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Крестики-Нолики (Tic Tac Toe) с компьютером на Python. Мой первый шаг к Machine Learning. Часть 1

Я любитель Python и совсем недолго осваиваю язык всеми доступными способами. Моя цель - понять принципы машинного обучения и его взаимосвязь с нейросетью. Никакого опыта в IT не имел, тем не менее постараюсь излагать общепринятой терминологией, не судите строго. Моя основная профессия не менее сложная, далека от IT, но для упрощения работы в нее все больше внедряются AI и ML. Мною движет лишь интерес к современным технологиям, программированию.

     17.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Пять декораторов Python, которые могут сократить код в два раза

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

     17.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Релизы

Вышел Savant 0.2.4: компьютерное зрение на базе глубокого обучения для Nvidia Jetson и dGPU

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