Разработка
February 7, 2023

Анонс Digest Python: Управление зависимостями и устройствами

Сегодня разберёмся с консервативным подходом к управлению зависимостями, порулим сетевыми устройствами Mikrotik и погрузимся в историю создания CircuitPython для программирования микроконтроллеров.

В мае 2022 года разработчик из Калифорнии James Bennett рассказал свой подход к управлению зависимостями в статье «Boring Python: dependency management». В его представлении термин «скучный Python» это не характеристика языка, а набор рекомендаций по уменьшению количества багов.

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

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

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

Программировать микроконтроллеры с помощью Python — отличная идея. Проблема лишь в том, что недорогие чипы, широко используемые для прототипирования и обучения, обладают скромными характеристиками. Это значит то, что поддерживать все фичи языка было бы нереальной задачей. В 2013 году успешная краудфандинговая кампания австралийского разработчика Дэмиена Джорджа (Damien George) позволила создать урезанную версию языка, названную MicroPython.

Компания Adafruit Industries обратила внимание на эту разработку. Взяв исходный код MicroPython инженеры создали собственную реализацию языка и назвали его CircuitPython. На текущий момент язык поддерживает более 300 устройств и обладает отличной документацией.

Подробности читайте в полной версии нашего дайджеста.