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

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


Новый материал в ленте
  aiohttp - 3.11.7

http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp


Python Дайджест. Выпуск 489

(01.05.2023 - 07.05.2023)

поделиться выпуском 
Дайджест python,

Статьи

  Как я написал удобную оболочку над электронным дневником

Статья о том, как я в 15 лет облегчил работу с электронным дневником, представленным Кировской области в 2022 году.Что получилось сделать и как это было реализовано.

  Электричество без регистрации и sms: быстрое введение в pandapower

Даже если вы раньше ни разу не имели дела с расчетом электрических сетей, с этой библиотекой вы можете быстро войти-в-айти-начала-прошлого-века... (спойлер: в электричество).Итак, продолжаем цикл изучения электрических python-библиотек с разбора pandapower - открытой библиотеки для расчета электрических сетей. Подробные комментарии прилагаются (необходимы лишь минимальные знания физики электричества).

  За границей Hello World: полный гайд по разработке Telegram ботов на Python + Aiogram 3. Часть 2: Меню и OpenAI API

Продолжаю серию статей про разработку telegram-ботов на библиотеке aiogram и языке программирования Python. Хочется отметить, что статья не является документацией или учебником. Я просто рассказываю пошагово как разработать полнофункционального бота, стараясь затронуть как можно больше тем. Если вы не увидели в статье чего-то очень важного по вашему мнению — предложите рассмотреть тему в следующей статье в комментариях.

  Безопасная разработка в Python. 2 часть

В первой части статьи мы начали разбирать тему безопасной разработки на языке Python, поговорили о том, что нельзя допускать бесконтрольное выполнение команд, вводимых пользователем, также нельзя позволять вводить ключи к некоторым командам. Также, вспомнили про SQL инъекции и рассмотрели общие рекомендации по защите. Однако, в той или иной степени все приведенные в первой статье уязвимости свойственны и другим языкам программирования. В этой статье мы рассмотрим более свойственные именно для языка Python уязвимости. И начнем мы с такой интересной темы как десериализация.

  Создание DSL на Python с библиотекой textx

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

  Асинхронные задачи с FastAPI и Celery

Если в приложении есть длительные процессы, то вместо того, чтобы блокировать основной поток, вы должны обрабатывать их в фоновом режиме.Чтобы достичь этого, мы расскажем вам о процессе настройки Celery и Redis для обработки длительно выполняющихся процессов в приложении FastAPI. Мы также будем использовать Docker и Docker Compose, чтобы связать все воедино. Наконец, мы рассмотрим, как протестировать задачи Celery с помощью модульных (unit) и интеграционных тестов.

  Как человек посередине помогает крутить прокси для парсинга

Каждый, кто занимался сбором данных во «внешнем мире» знает, что этот мир жесток. И парсер сторонних сайтов всегда может наткнуться на какие-то блокировки, задержки и множество других проблем, которые либо замедляют работу, либо вообще делают парсинг невозможным. Лимиты по IP и капча — нам не друзья. Поэтому было решено сделать инструмент, позволяющий с ними бороться.

  Apache eCharts for Python

Apache eCharts is a web-based charting library built using TypeScript. This post shows you how to use eCharts through a Python wrapper.

  Ускоряем Python в сто раз при помощи менее чем ста строк на Rust

Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек.

Эта библиотека формирует фундамент нашего конвейера 3D-обработки. Это довольно большая и сложная библиотека, использующая NumPy и другие научные пакеты Python для выполнения широкого спектра математических и геометрических операций.

  Проверка GIL в python

Когда-то давно я узнал что в python есть Threading. Потом я узнал про GIL. Вариантов как его обойти - масса, но я решил провести небольшое исследование и написать про то, в каких случаях стоит использовать и какие библиотеки многопоточности. Я встречал на хабре статью про GIL, там описано это всё более подробно и более глубоко. Но мне, на тот момент только начавшему разбираться в многопоточности было сложно разобраться в том что там к чему, поэтому я решил сделать своё исследование, а спустя долго время и написать о нём здесь (естественно переписав всё исследование почти с нуля)

  Шпаргалка: fixture в pytest

В данной статье представлены примеры использования фикстур (fixture) для фреймворка автоматического тестирования pytest. Фикстуры представляют собой функции, которые можно использовать для решения различных задач при проведении автоматизированного тестирования.

  Особенности работы с русской кодировкой при загрузке файлов через aiohttp

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

  Как ускорить бинарный поиск

Я решил рассказать о том, как ускорить обычный бинаный поиск в сотни раз и искать данные в обычном текстовом файле БЫСТРЕЕ, чем при использовании класических баз данных. Сейчас я попробую решить задачу бинарного поиска без них, расскажу об основных способах оптимизации, а в конце проведу сравнение. Это вполне реальная задача, с которой я столкнутся при разработке собственного проекта, а поэтому мне есть что вам рассказать.

  Решаем криптарифмы с помощью алгебры и python

Если вы увлекались математикой в возрасте до 12 лет, то, наверное, встречались с криптарифмами - арифметическими ребусами. Арифметические ребусы хороши для тренировки у младшеклассников навыков логического мышления и счета в столбик. Однако и нам с вами может быть интересно поискать ответ на общий вопрос - а как, всё таки, алгоритмизировать процесс решения ребуса?

  Макет автоматизированного создания пользователей (ботов) в социальных сетях и имитации их активности

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

  Нечеткое сравнение строк с помощью rapidfuzz

В публикации расскажу, как при решении задачи нечеткого сравнения строк, среди разных инструментов сравнения (по косинусному сходству, по сходству Левенштейна, по сходству Джаро‑Винклера) был выбран лучший вариант нечеткого сопоставления. Сравнение инструментов производилось исходя из скорости выполнения, правильности сравнения и простоты реализации, с помощью библиотек rapidfuzz и sklearn.

  PySpark для аналитика. Как правильно просить ресурсы и как понять, сколько нужно брать

Эта статья будет полезна аналитикам, дата-инженерам и специалистам по обработке больших данных, а также тимлидам команд, которые работают с Apache Spark для решения задач аналитики и машинного обучения. Вы узнаете, как правильно задавать параметры Spark-сессии, чтобы получить ресурсы.

  Книга «Python для хакеров. Нетривиальные задачи и проекты»

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

Вопросы и обсуждения

  Python Bytes: #334 Packaging Organizations

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

Видео

  Притворяемся языковой моделью: учимся генерировать текст на Python с помощью цепи Маркова

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

Релизы

  django-taggit - 4.0.0

Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/

  django-grappelli - 3.0.6

Альтернативный базирующийся на сетке дизайн админ панели Django. Скачать можно по ссылке: https://pypi.python.org/pypi/django-grappelli/

  django-two-factor-auth - 1.15.2

Полноценная двухфакторная аутентификации для Django.. Скачать можно по ссылке: https://pypi.python.org/pypi/django-two-factor-auth/

  Django - 4.2.1

Мощный web-фреймворк. Скачать можно по ссылке: https://pypi.python.org/pypi/Django/

  pika - 1.3.2

Библиотека работы с AMQP. Скачать можно по ссылке: https://pypi.python.org/pypi/pika/

  Flask - 2.3.2

Web-фреймворк на основе Werkzeug, Jinja2 и благих намерениях. Скачать можно по ссылке: https://pypi.python.org/pypi/Flask/

  SQLAlchemy - 2.0.12

Библиотека работы с базами данных. Скачать можно по ссылке: https://pypi.python.org/pypi/SQLAlchemy/

  pylint - 2.17.4

Статический анализатор Python-кода. Скачать можно по ссылке: https://pypi.python.org/pypi/pylint/

  Werkzeug - 2.3.3

Швейцарский армейский нож веб-разработки Python. Скачать можно по ссылке: https://pypi.python.org/pypi/Werkzeug/

  requests - 2.30.0

Простая библиотека для создания HTTP запросов. Скачать можно по ссылке: https://pypi.python.org/pypi/requests/

  IPython - 8.12.2

Интерактивная оболочка для языка программирования Python. Скачать можно по ссылке: https://pypi.python.org/pypi/IPython