Подписка на курсы Слёрма: 21 курс в полном доступе
Блог Слёрм

5 библиотек Python, которые нужно знать инженеру

С библиотеками Python удобно автоматизировать рутинные задачи, анализировать данные и управлять инфраструктурой. Ловите подборку, с которой вы сделаете это максимально эффективно:
1. Paramiko
Что делает: Позволяет устанавливать SSH-соединения и управлять удаленными серверами прямо из Python.
Пример использования:
  • Массовый запуск команд на серверах
  • Сбор логов или обновление конфигураций
Пример кода:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname="192.168.1.10", username="user", password="pass")
stdin, stdout, stderr = ssh.exec_command("uptime")
print(stdout.read().decode())
ssh.close()
2. Requests
Что делает: Упрощает работу с HTTP-запросами. Идеально подходит для взаимодействия с API.
Пример использования:
  • Запрос данных из API
  • Отправка уведомлений в чаты
Пример кода:
import requests
response = requests.get("https://api.example.com/status")
if response.status_code == 200:
    print(response.json())
3. Pandas
Что делает: Позволяет работать с табличными данными. Идеален для анализа логов, метрик и данных мониторинга.
Пример использования:
  • Фильтрация ошибок в логах
  • Расчет среднего времени ответа сервера
Пример кода:
import pandas as pd

df = pd.read_csv("logs.csv")
errors = df[df["Status"] == 500]
print(errors)
4. Docker SDK for Python (docker-py)
Что делает: Позволяет управлять Docker-контейнерами программно.
Пример использования:
  • Запуск контейнеров, мониторинг их состояния
  • Автоматизация CI/CD процессов
Пример кода:

import docker

client = docker.from_env()
container = client.containers.run("nginx", detach=True, ports={"80/tcp": 8080})
print(container.status)
5. PyYAML
Что делает: Работает с YAML-файлами — популярным форматом для конфигураций.
Пример использования:
  • Чтение и изменение конфигураций Ansible, Kubernetes
Пример кода:
import yaml

with open("config.yaml", "r") as file:
    config = yaml.safe_load(file)
config["new_setting"] = "value"
with open("config.yaml", "w") as file:
    yaml.safe_dump(config, file)
Подробнее о библиотеках и и работе с Python — на курсе «Python для инженеров».
Python