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

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


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

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

(13.02.2023 - 19.02.2023)

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

Статьи

  Python package registry в GitLab

При разработке проектов, и, особенно, распределенных приложений, возникает необходимость использования некоторых частей приложения в качестве отдельных модулей. Например скомпилированные классы для gRPC, модули для работы с БД, и многое другое, могут применяться в неизменном виде в кодовой базе десятка микросервисов. Оставив за скобками копипасту, как «хорошую» плохую практику. Можно рассмотреть git submodules, однако, такое решение не очень удобно тем, что, во‑первых, нужно предоставлять разработчикам доступ к конкретным репозиториям с кодовой базой, во‑вторых, нужно понимать, какой коммит надо забрать себе, и в‑третьих установка зависимостей для кода, включенного в проект как субмодуль, остается на совести разработчика. Менеджеры пакетов (pip, или, лучше, poetry), умеют разрешать зависимости из коробки, без лишних действий, и, в целом, использование менеджера пакетов значительно проще, чем работа с субмодулем. В статье рассмотрим, как организовать реестр пакетов в GitLab, а также различные подводные камни, поджидающие на пути к удобной работе с ним.

  Пишем умный поиск по коду с Open AI

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

  Создаем диаграмму миграций Django проекта

Наверное странная идея - нарисовать диаграмму миграций проекта Django. Вроде как - а зачем? Но если у Вас некий достаточно большой и достаточно старый проект, да еще над которым постоянно работает хотя бы небольшая команда - разобраться в зависимостях миграций становится уже сложновато. Ну и так - полезно понять, как можно автоматически выбрать из проекта структуру миграций и построить из них диаграмму. Причем - автоматически. Что бы можно было это делать в любой нужный момент.

  5 простых способов выйти из вложенных циклов в Python

Python - элегантный язык программирования. Но у него есть слабые стороны. Иногда Python не так элегантен, как должен быть.Например, когда нам нужно выйти из вложенных циклов.

  Личный путь и опыт в становлении Python разработчиком

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

  Что нужно знать нашим ML-сотрудникам

Недавно в комментариях к одному из постов в Варим ML меня спросили, какие навыки и знания нужны, чтобы у нас работать. Вопрос на самом деле очень важный - без правильного ответа невозможно нормально выстроить процессы найма и развития сотрудников. Можно быстро набросать дефолтный список - питончик, ML/DL, докер, и на этом закончить, но я решил зарыться в вопрос пообстоятельнее. Конечно, существуют самые разные родмапы, но лично мне они кажутся излишне общими, а я захотел поразмышлять именно про те скиллы, которые необходимы для работы в Цельсе, а главное про их необходимый уровень.

  Все, что вы хотели знать о задаче определения остаточного ресурса оборудования

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

  Делаем инференс на Nvidia Triton Inference Server

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

  Стратегии прогнозирования временных рядов в ETNA

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

  Пишем GPT в 60 строк NumPy

В этом посте мы реализуем с нуля GPT всего в 60 строках numpy. Затем мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.

  Модель BG-NBD для анализа клиентской базы на Python

В этом материале мы воспроизведём на Python модель BG-NBD (Beta Geometric Negative Binomial Distribution). Она может быть использована для прогнозирования повторных заказов клиентов, чтобы определить пожизненную ценность клиентов (LTV — lifetime value). Она также может быть использована для прогнозирования оттока.

  NORUAS — домашний Саурон, но это не точно…

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

Видео

  Зачем нужен и как использовать Dependency Injection в питонячих сервисах

Расскажем про принцип Dependency Injection (DI). На конкретных примерах покажем как правильно его использовать в ваших сервисах и какие выгоды он принесёт.

  Как мы с Fastapi на Django перешли

Мы переписали бекенд с FastAPI на Django. Расскажу, почему и как нам пришло это в голову, и что из этого получилось.

Релизы

  Mypy 1.0

Mypy is a static type checker for Python

  Flask - 2.2.3

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

  Werkzeug - 2.2.3

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

  imapautofiler 1.13.0

imapautofiler applies user-defined rules to automatically organize messages on an IMAP server.

  selenium - 4.8.2

Модуль для автоматизации тестирования web-приложений. Изменения описаны по ссылке https://pypi.org/project/selenium/4.8.2/. Скачать можно по ссылке: http://pypi.python.org/pypi/selenium/

  pylint - 2.16.2

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

  celery - 5.3.0b2

Распределенная очередь задач. Изменения описаны по ссылке https://pypi.org/project/celery/5.3.0b2/. Скачать можно по ссылке: http://pypi.python.org/pypi/celery/

  pex - 2.1.122

Библиотека и утилита для генерации .pex (Python EXecutable) файлов. Изменения описаны по ссылке https://pypi.org/project/pex/2.1.122/. Скачать можно по ссылке: https://pypi.python.org/pypi/pex/

  sentry - 23.2.0

Мощная система логгирования и платформа агрегации логов. Изменения описаны по ссылке https://pypi.org/project/sentry/23.2.0/. Скачать можно по ссылке: https://pypi.python.org/pypi/sentry/

  SQLAlchemy - 2.0.4

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

  pip - 23.0.1

Утилита для управления модулями в Python. Изменения описаны по ссылке https://pypi.org/project/pip/23.0.1/. Скачать можно по ссылке: http://pypi.python.org/pypi/pip/

  django-upgrade release with Django 4.2 fixers

Automatically upgrade your Django projects

  aiohttp - 3.8.4

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

  Django - 3.2.18

Мощный web-фреймворк. Изменения описаны по ссылке https://pypi.org/project/django/3.2.18/. Скачать можно по ссылке: http://pypi.python.org/pypi/Django/