Python_Scripts
8.22K subscribers
997 photos
5 videos
673 files
1.53K links
Скрипты 💾 на Python 🐍
- боты 🛠
- парсеры📁
- чекеры🔍
- автоматизация🔧
- многое другое💻

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
🔥 Полезные библиотеки Python

miniutils

📌 miniutils — компактная коллекция утилитарных функций и декораторов, которые облегчают повседневную разработку на Python. Отличается минимализмом и набором “простейших, но раздражающих” задач, которые обычно дублируешь в каждом проекте (например, кеш-свойства, “ленивая” вычисления, прогресс-бары, кольцевая зависимость, и др.).

📌 Особенности библиотеки:
🟠 Поддержка Python 3.8+.
🟠 Небольшой размер и лёгкость — нет тяжёлых зависимостей, всё утило-код.
🟠 Есть декоратор CachedProperty для свойств, вычисляемых один раз, прогресс-бары для итераций и параллельных задач, более интуитивные контракты.
🟠 Улучшает читабельность кода: меньше boilerplate-кода, меньше “скелета” вокруг мемоизации, прогресс-индикации и т.д.


⚙️ Установка:
pip install miniutils


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍4🔥2
Ai-Gist — скрипт / приложение для управления GitHub Gists через API, с помощью Python + FastAPI.

📱 Python 3.9+
💾 Модули: FastAPI, aiohttp или requests (для GitHub API), SQLite для локального хранилища, возможно uvicorn как ASGI-сервер.

📌 Ai-Gist — веб-приложение/утилита, которая позволяет создавать, обновлять и просматривать Gist'ы на GitHub, используя простой API и локальную базу данных SQLite. Есть возможность связать с LLM-моделями: давать команды вроде “сгенерируй Gist по этому тексту” или “обнови Gist, добавив этот код”. Удобно, если часто работаешь с Gist и хочешь автоматизацию управления сниппетами.

👨‍💻 Код и установка (пример/как начать):
git clone https://github.com/ruvnet/ai-gist
cd ai-gist
pip install aigist

# Пример использования внутри приложения
from aigist import GistManager

gm = GistManager(token="твой_GITHUB_TOKEN")
# Создать новый Gist
gm.create_gist(title="MySnippet", content="print('Hello World')", public=False)
# Обновить существующий
gm.update_gist(gist_id="ID_GIST", content="print('Изменённый код')")


Запуск сервера (FastAPI/uvicorn):
aigist
# или
uvicorn aigist.main:app --reload


📌 Что делает:
🟠 Управляет Gist'ами: создание, обновление, список
🟠 Сохраняет сведения локально в SQLite, чтобы помнить какие Gist'ы ты создавал/обновлял, может кэшировать или отображать историю изменений
🟠 Поддержка AI-интеграций: если у проекта есть API для LLM, можно давать естественные команды и они переводятся в операции над Gist'ами (создать, изменить)


📱 GitHub репозиторий скрипта.

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥2
Forwarded from Python_Scripts
🔥 Полезные библиотеки Python

HyperNetX

📌 HyperNetX (HNX) — библиотека для моделирования и анализа гиперграфов (graphs, где ребра могут соединять более двух вершин), с поддержкой визуализации и метаданных. Подходит, если работаешь с сетями сложных связей: суперсетями, множественными связями, структурами данных, где “обычный граф” — слишком упрощённо.

📌 Особенности библиотеки:
🟠 Поддержка гиперграфов с метаданными на узлах, гиперрёбрах и даже на “инцидентных парах” (node-hyperedge pairings).
🟠 Есть визуализация через Matplotlib + виджеты для Jupyter, что удобно исследовать структуру гиперграфа визуально.
🟠 Подходит для исследовательских задач, где связи сложные: например, биоинформатика, сети взаимодействий, связи в сложных социальных сетях, где проще выразить групповые связи, чем простые пары.


⚙️ Установка:
pip install hypernetx


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥2
IncrementalBackup (rsync wrapper) — скрипт на Python для создания инкрементальных резервных копий с контролем числа сохранённых бэков.

📱 Python 3.6+
ℹ️ Модули: использует стандартные модули (os, subprocess, argparse, time) + утилиту rsync как внешнюю зависимость. Требуется, чтобы rsync был установлен на системе.

📌 IncrementalBackup — обёртка поверх rsync, упрощающая создание безопасных резервных копий. Позволяет указать несколько исходных директорий, исключения, лимит на количество копий (--keep). Если хранилище заполнится — старые копии удаляются или перераспределяются, чтобы освободить место. Полезно на серверах, домашнем NAS, или просто для автоматической безопасной архивации проектов.

👨‍💻 Код и использование:
# Пример запуска
python3 IncrementalBackup.py --src /data --dst /backup --keep 5 --exclude /data/temp


Пример внутренней логики:
import subprocess
import os
import time
from argparse import ArgumentParser

def run_backup(src_dirs, dst, keep, exclude=[]):
# Проверки директорий
for src in src_dirs:
if not os.path.exists(src):
raise ValueError(f"Source {src} не найден")
if not os.path.exists(dst):
os.makedirs(dst)
# Формируем команду rsync с параметром --link-dest для инкрементальных бэков
cmd = [
"rsync", "-a", "--delete"
]
# добавляем исключения
for ex in exclude:
cmd += ["--exclude", ex]
# указываем link-dest как предыдущую резервную копию
# создаём папку с датой или идентификатором
backup_name = time.strftime("%Y%m%d-%H%M%S")
dst_path = os.path.join(dst, backup_name)
prev_backup = os.path.join(dst, sorted(os.listdir(dst))[-1]) if keep and os.listdir(dst) else None
if prev_backup:
cmd += ["--link-dest="+prev_backup]
cmd += src_dirs + [dst_path]
subprocess.run(cmd)
# Удаление старых бэков, если их больше чем keep
backups = sorted(os.listdir(dst))
if len(backups) > keep:
for old in backups[:-keep]:
old_path = os.path.join(dst, old)
# удаляем старую папку
subprocess.run(["rm", "-rf", old_path])

if __name__ == "__main__":
parser = ArgumentParser()
parser.add_argument("--src", nargs="+", required=True, help="Пути исходных директорий")
parser.add_argument("--dst", required=True, help="Директория назначения")
parser.add_argument("--keep", type=int, default=3, help="Сколько копий хранить")
parser.add_argument("--exclude", nargs="*", default=[], help="Что исключать")
args = parser.parse_args()
run_backup(args.src, args.dst, args.keep, args.exclude)


📌 Что делает:
Проверяет, существуют ли исходные и целевые директории.
Поддерживает несколько исходных путей и исключения.
Создаёт новую резервную копию с таймстампом.
Использует rsync --link-dest для инкрементальности: файлы, которые не изменились, не дублируются (сохраняются через hard link).
Удаляет старые копии, когда их становится больше, чем заданно в --keep.
Ссылка на репозиторий: Andreas-Menzel/IncrementalBackup на GitHub.


📱 Ссылка на репозиторий: GitHub.

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
🔥 Полезная библиотека Python

ne2001

📌 ne2001 — Python-реализация модели NE2001 Кордеса-Лацио (Cordes-Lazio) для оценки электронной плотности в межзвёздной среде Млечного Пути. Используется в астрофизике: при работе с пульсарами, радиосигналами, для оценки задержки (dispersion), рассеяния (scattering) и других эффектов при прохождении радиоволн сквозь межзвёздную плазму. (PyPI — ne2001)

📌 Особенности библиотеки:
🟠 Полностью в Python, BSD-лицензия, без сложной компиляции.
🟠 Модель близка к оригинальному Fortran-коду, но адаптирована под современные вычисления, с деталями, которыми Fortran-версия может не обладать.
🟠 Позволяет вычислять “dispersion measure” и “scattering measure” вдоль заданных направлений по координатам галактической системы.
🟠 Есть командная строка + возможность использовать как библиотеку внутри кода.


⚙️ Установка:
pip install ne2001


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
14😁3🔥1
🔥 Полезные библиотеки Python

NApy

📌 NApy — это высокопроизводительная библиотека для статистического анализа больших и разнотипных данных с пропущенными значениями. Она использует ускорение на основе Numba и C++ с OpenMP, позволяя выполнять статистические расчеты масштабно и быстро — особенно полезно для интерактивного анализа в условиях ограниченных ресурсов.

📌 Особенности библиотеки:
🟢Оптимизированные статистические тесты с параллелизацией на уровне C++/OpenMP для больших наборов данных
🟢Автоматическая обработка гетерогенных столбцов и пропущенных значений
🟢Работа в интерактивных приложениях и потоках — моментальные результаты без задержек
🟢Превосходит по скорости и потреблению памяти аналоги на чистом Python


⚙️ Установка:
pip install napy


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3
🔥 Полезные библиотеки Python

unique-uncertainty

📌 unique-uncertainty — библиотека на PyPI для оценки и количественной характеристики неопределённости (uncertainty quantification, UQ) в прогнозах моделей машинного обучения. Не зависит от конкретного ML-фреймворка, оценивает, сравнивает методы UQ, строит визуализации и отчёты, чтобы понять, насколько надёжны прогнозы модели.

📌 Особенности библиотеки:
🟢 Работает с Python 3.8-3.12.1 и выше.
🟢 Не требует, чтобы ты переписывал модель — достаточно передать данные: признаки, прогнозы модели и, по необходимости, распределения вероятностей или отклонения, и библиотека оценит неопределённость.
🟢 Поддержка нескольких метрик оценки неопределенности, визуализации (графики, диаграммы) для сравнения между методами.
🟢 Lightweight — нет тяжёлых зависимостей на тренировку моделей, только на ввод-вывод и визуализацию/аналитику.


⚙️ Установка:
pip install unique-uncertainty


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
IPinfo CLI Lookup — скрипт на Python для быстрого получения информации об IP-адресе или домене прямо из терминала.

📱 Python 3.8+
ℹ️ Модули: requests, argparse

📌 IPinfo CLI Lookup — лёгкий скрипт, который использует API сервиса ipinfo.io для получения данных об IP: страна, город, провайдер, ASN, координаты. Удобно для сетевых инженеров, пентестеров и просто при отладке.

👨‍💻 Код:
import requests
import argparse

def get_ip_info(ip):
url = f"https://ipinfo.io/{ip}/json"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
for k, v in data.items():
print(f"{k}: {v}")
else:
print("Ошибка запроса")

if name == "__main__":
parser = argparse.ArgumentParser(description="IPinfo Lookup Script")
parser.add_argument("ip", help="IP или домен для проверки")
args = parser.parse_args()
get_ip_info(args.ip)


📌 Что делает:
🟠 Отправляет запрос к ipinfo.io
🟠 Получает базовые данные о местоположении, ASN и провайдере
🟠 Красиво выводит результат в консоль


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥2
🔥 Полезные библиотеки Python

datedelta

📌 datedelta — расширение стандартного datetime.timedelta, которое умеет работать с годами и месяцами, учитывая особенности Григорианского календаря: високосные года, разное число дней в месяцах и т.д. Полезно, когда нужно не просто прибавить “X дней”, а “X месяцев” или “X лет”, и нужно, чтобы дата была корректной.

📌 Особенности библиотеки:
🟢 Поддержка Python >= 3.6, <4.0.
🟢 Можно создавать объекты datedelta с параметрами years, months, days, вычитание — тоже работает.
🟢 Учитывает “неоднозначные” случаи, например, 29 февраля и месяцы с разным числом дней.
🟢 Небольшой вес, минимальные зависимости — библиотека просто надстройка над стандартным datetime.


⚙️ Установка:
pip install datedelta


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍3
github-utility

📱 Python 3.6+
ℹ️ Модули: requests (для API-запросов), argparse (для CLI-аргументов), os, logging. Скрипт в составе пакета github-utility на PyPI.

📌 github-utility — утилита-набор функций + CLI-обёртка, которая упрощает работу с GitHub API: получать инфу о пользователях, репозиториях, создавать issue’ы прямо из командной строки или скриптов. Отлично подходит, когда нужно автоматизировать рабочий процесс, быстро подсветить ошибку или интегрировать с CI.

👨‍💻 Пример использования:
# Установка
pip install github-utility

# CLI примеры:
export GITHUB_ACCESS_TOKEN="токен"

# Получить информацию о пользователе
github-utility get-user --username someuser

# Создать issue в репозитории
github-utility create-issue --owner ownername --repo reponame --title "Test issue" --body "Описание issue"


Фрагменты кода внутри скрипта:
import requests
import argparse
import os

def get_user(token, username):
headers = {"Authorization": f"token {token}"}
resp = requests.get(f"https://api.github.com/users/{username}", headers=headers)
return resp.json()

def create_issue(token, owner, repo, title, body):
headers = {"Authorization": f"token {token}"}
data = {"title": title, "body": body}
resp = requests.post(f"https://api.github.com/repos/{owner}/{repo}/issues", headers=headers, json=data)
return resp.json()


🔗 Репозиторий / исходники на PyPI; исходники находятся там же.

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥2
🔥 Полезные библиотеки Python

SAPPL

📌 SAPPL (Simple Audio Pre-Processing Library) — удобный комплекс утилит для предобработки аудио, особенно при создании датасетов для задач глубинного обучения: классификации речи, звуков, извлечения признаков. Меньше boilerplate-кода, легче начать работу с аудио.

📌 Особенности библиотеки:
🟢 Поддержка основных задач аудио-преобработки: загрузка аудио файлов, трансформации, возможно нормализация, извлечение фич (спектральные, мел-фильтры и др.) — всё, чтобы быстро подготовить данные под ML.
🟢 Минимум настроек — “работает из коробки” для простых сценариев.
🟢 Хорошо документирована, подходит как для экспериментов, так и для производственного использования, если не требуются экстремальные скорости или супер-оптимизации.


⚙️ Установка:
pip install sappl


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍31
AutoWiFiCheck

📱 Python 3.7+
ℹ️ Модули: subprocess, time, platform, возможно os — внешний вызов системных команд (ping, nmcli, netsh и т.д.).

📌 AutoWiFiCheck — скрипт, который следит за состоянием подключения к WiFi или интернету и автоматически переподключается или выполняет уведомление, если связь пропала. Полезен для ноутбуков, Raspberry Pi, серверов в нестабильной сети.

👨‍💻 Код (пример реализации):
import subprocess
import time
import platform

def is_connected(host="8.8.8.8", count=1, timeout=1):
param = "-n" if platform.system().lower() == "windows" else "-c"
cmd = ["ping", param, str(count), "-W", str(timeout), host]
result = subprocess.run(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return result.returncode == 0

def reconnect_wifi(interface_name=None):
system = platform.system().lower()
try:
if system == "linux":
# пример для NetworkManager
subprocess.run(["nmcli", "networking", "off"], check=True)
time.sleep(1)
subprocess.run(["nmcli", "networking", "on"], check=True)
elif system == "windows":
# отключить / включить адаптер
subprocess.run(["netsh", "interface", "set", "interface", interface_name, "disable"], check=True)
time.sleep(1)
subprocess.run(["netsh", "interface", "set", "interface", interface_name, "enable"], check=True)
else:
print("OS не поддерживается для авто-переподключения")
except Exception as e:
print("Ошибка при переподключении:", e)

def watch_loop(interval=10, interface=None):
while True:
if is_connected():
print("Связь OK")
else:
print("Связь пропала — переподключаем...")
reconnect_wifi(interface)
time.sleep(interval)

if __name__ == "__main__":
# Можно передать название интерфейса через аргументы
watch_loop(interval=15, interface="Wi-Fi")


📌 Что делает:
🟠 Периодически пингует внешний хост (по умолчанию 8.8.8.8)
🟠 Если пинг не проходит — считает, что связь потеряна
🟠 Пытается переподключить сеть, в зависимости от ОС
🟠 Логирует состояние в консоль


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8🔥75
🔥 Полезные библиотеки Python

invisible-watermark

📌 invisible-watermark — библиотека + CLI-инструмент для внедрения “невидимых водяных знаков” в изображения. Позволяет скрыто маркировать картинки (blink watermark / цифровой водяной знак), без зависимости от оригинала изображения: подпись остаётся в нём и может быть обнаружена позже.

📌 Особенности библиотеки:
🟢 Не требует оригинального изображения (standalone watermarking) — можно встраивать метку даже если нет “эталона”.
🟢 Работает как библиотека и как командная строка (CLI-инструмент) — удобно использовать в пайплайнах или скриптах для обработки изображений.
🟢 Поддерживает разные алгоритмы внедрения водяных знаков, устойчивые к некоторым трансформациям (сжатие, изменение оттенков).
🟢 Лёгкая зависимостями — типичный стек: PIL/Pillow или аналогичные библиотеки обработки изображений.


⚙️ Установка:
pip install invisible-watermark


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1
DevPyConf на Cтачке
Python-разработка│ 3 октября │ Санкт-Петербург

На DevPyConf соберутся ведущие Python разработчики, чтобы обсудить тренды, архитектуру и инструменты.

Ключевые треки конференции:
— Архитектура и python
— Современный ML, AI тулинг

Выступят спикеры:
Михаил Гурбанов, TechLead в Райффайзенбанке. Тема доклада: «Архитектура сервисов в AI ландшафте»
Евгений Блинов, Разработчик в Авито. Тема доклада: «Дружим sync и async питоны»
Юрий Маркин, Старший разработчик в X5 Tech. Тема доклада: «Pythorust не серебряная пуля»
Денис Воронкин, Backend разработчик в KTS. Тема доклада: «Почему надежно кешировать данные сложно?»
Александр Кучин, Python разработчик в Литрес. Тема доклада: «Мы уменьшили длительность нашего пайплайна в несколько раз - до 17 минут»
Алексей Фиссон, Тим лид в X5 Tech. Тема доклада: «Чем вам asyncio не фреймворк, а Redis не брокер?»
Сергей Волков, Team Lead в Сбере. Тема доклада: «Метрики без боли: AI-агент вместо BI-навигации»
Денис Аникин, Тимлид/Комьюнити лид в Райффайзенбанке. Тема доклада: «Выбираем LLM gateway»

Программа и билеты на сайте

Следите за новостями в Телеграме и ВК
3🔥3
Media is too big
VIEW IN TELEGRAM
Automated Python Scripts Collection (Ai-Quill/automated) — набор полезных утилит-скриптов, собранных в один проект для автоматизации повседневных задач.

📱 Python 3.8+
ℹ️ Модули: разные в зависимости от задачи — requests, PIL, opencv-python, yt_dlp, pyperclip и др. Все скрипты автономны и легко подключаются.

📌 Ai-Quill/automated содержит более 15 скриптов-утилит — от удаления фона на изображениях до скачивания видео, генерации QR-кодов, мониторинга ресурсов и анализатора кода. Проект собирает “хиты” из личной “скриптологии” в одном месте.

👨‍💻 Примеры скриптов из набора:
🟢 Background Remover — удаляет фон с изображений автоматически.
🟢 QR Code Creator — генерирует QR-коды из URL или текста.
🟢 YouTube Downloader — скачивает видео или аудио из YouTube.
🟢 Resource Monitor — следит за использованием CPU, памяти и логгирует превышения.
🟢 Clipboard Tracker — логирование текста, скопированного в буфер обмена.


Пример использования (фрагмент скрипта “Resource Monitor”):
import psutil
import time

def monitor(interval=5):
while True:
cpu = psutil.cpu_percent(interval=1)
mem = psutil.virtual_memory().percent
print(f"CPU: {cpu}%, MEM: {mem}%")
time.sleep(interval)

if __name__ == "__main__":
monitor()


📌 Что делает:
🟢 Объединяет множество автономных скриптов в одну коллекцию
🟢 Каждый скрипт выполняет отдельную задачу — от обработки изображений до мониторинга или анализа
🟢 Можно клонировать проект и запускать нужные модули без лишней обвязки
🟢 Отлично подходит для тех, кто любит “toolbox” для повседневных задач


🔗 Репозиторий GitHub

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍6🔥4
🔥 Полезные библиотеки Python

Flask-Obscure

📌 Flask-Obscure — расширение для Flask, которое маскирует последовательные числовые ID в URL и автоматически декодирует их обратно в функции. Это помогает скрывать настоящую структуру идентификаторов пользователей, заказов и т.п., чтобы затруднить аналитику злоумышленникам, не раскрывая внутреннюю логику.

📌 Особенности библиотеки:
🟢 Поддерживает разные схемы шифрования: num, hex, b32, b64 и tame (особый base32-вариант без гласных).
🟢 При генерации URL через flask.url_for, автоматически превращает числовые ID в “замаскированную” форму, а при маршрутизации — обратно декодирует.
🟢 Интеграция с Jinja2: фильтры доступны в шаблонах — можно прямо выводить “обфусцированные” ID.
🟢 Использует 32-битное “соль” (salt), которую можно задать вручную или через конфигурацию Flask (OBSCURE_SALT) для уникального преобразования.


⚙️ Установка:
pip install Flask-Obscure


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54👍3
autorestart — скрипт-утилита для мониторинга и автоматического перезапуска процессов

📱 Python 3.8+
ℹ️ Модули: psutil, subprocess, time, logging, yaml/json или argparse — основной функционал строится на psutil.

📌 autorestart — небольшой набор Python-скриптов, которые следят за заданными процессами и автоматически перезапускают их при падении или если они превышают заданные лимиты ресурсов. Проект лёгкий, минималистичный, подходит для быстрого развёртывания на сервере или в dev-окружении, когда не хочется поднимать systemd-юнит для каждой мелочи.

👨‍💻 Пример (адаптированный) — минимальная логика мониторинга + рестарт:
# Python 3.8+
import time
import psutil
import subprocess
import logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s')

WATCHLIST = [
{"name": "my_app.py", "cmd": ["python3", "/opt/myapp/my_app.py"], "max_mem_mb": 500.0}
]

def find_by_name(name):
procs = []
for p in psutil.process_iter(['pid','name','cmdline']):
try:
if p.info['name'] == name or (p.info['cmdline'] and name in ' '.join(p.info['cmdline'])):
procs.append(p)
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
return procs

def restart(cmd):
logging.info("Запускаю: %s", cmd)
subprocess.Popen(cmd)

def monitor_loop(interval=10):
while True:
for item in WATCHLIST:
procs = find_by_name(item['name'])
if not procs:
logging.warning("Процесс %s не найден — стартую", item['name'])
restart(item['cmd'])
else:
for p in procs:
try:
mem_mb = p.memory_info().rss / 1024**2
if item.get('max_mem_mb') and mem_mb > item['max_mem_mb']:
logging.warning("Память %s MB > %s — перезапуск %s", mem_mb, item['max_mem_mb'], item['name'])
p.terminate()
restart(item['cmd'])
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
time.sleep(interval)

if __name__ == "__main__":
monitor_loop()


📌 Что делает (фичи из репозитория):
🟢 Мониторит процессы и перезапускает упавшие.
🟢 Основано на psutil — информация о процессах, CPU и памяти.
🟢 В репозитории есть готовые bin/скрипты и пример конфигурации; можно быстро поставить в cron/systemd.
🟢 Лёгкий MIT-проект — можно взять и адаптировать под свои нужды (лимиты, политики рестарта, логирование).


🔗 Репозиторий GitHub.

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍5🔥2😁1
🔥 Полезные библиотеки Python

pure-utils

📌 pure-utils — небольшая библиотека-утилита, которая собирает “полезные велосипеды и костыли” в одном месте: простые функции для работы с контейнерами (list, dict, tuple, set и др.), преобразование, утилиты без внешних зависимостей. Отлично подходит, когда не хочется тянуть целый большой пакет только ради одной-двух функций.

📌 Особенности библиотеки:
🟢 Стандартная библиотека только — нет внешних зависимостей, всё “чистый Python”.
🟢 Поддержка аннотаций типов, чистый интерфейс, утилиты без побочных эффектов.
🟢 Возможность использовать стандартные структуры данных, но с полезными дополнениями (например, расширенные методы работы с контейнерами).
🟢 Хорошая документация и примеры использования.


⚙️ Установка:
pip install pure-utils


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
AutoCert — скрипт для массовой генерации электронных сертификатов

📱 Python 3.6+
ℹ️ Модули: Pillow (для работы с изображениями), openpyxl или xlsxwriter (для чтения данных из Excel / CSV), os, argparse и др.


📌 AutoCert — инструмент, который автоматически генерирует сертификаты (например, участникам курсов) на основе шаблона изображения + списка имён/данных. Можно задать шрифт, положение текста, цвет и выходной формат (PDF или изображение). Подходит, когда много людей, и делать вручную каждый сертификат — мука.

👨‍💻 Пример шаблона кода:
from PIL import Image, ImageDraw, ImageFont
import csv
import os

def generate_cert(template_path, data_csv, output_folder, font_path, font_size, text_position):
img = Image.open(template_path)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(font_path, font_size)

with open(data_csv, newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
name = row['name']
cert = img.copy()
d = ImageDraw.Draw(cert)
d.text(text_position, name, font=font, fill=(0, 0, 0))
out_path = os.path.join(output_folder, f"cert_{name}.png")
cert.save(out_path)
print(f"Saved certificate for {name} → {out_path}")

if __name__ == "__main__":
generate_cert(
template_path="templates/cert_template.png",
data_csv="data/people.csv",
output_folder="out",
font_path="fonts/Times.ttf",
font_size=64,
text_position=(300, 400)
)


📌 Что делает:
🟢 Читает CSV / Excel с именами (и другими данными)
🟢 Открывает шаблон сертификата как изображение
🟢 Накладывает текст (имя / данные) в указанную позицию
🟢 Сохраняет индивидуальные сертификаты для каждого в отдельный файл
🟢 Можно масштабировать: для 1000 человек — запуск скрипта, отдых


🔗 Репозиторий GitHub

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍6🔥3
🔥 Полезные библиотеки Python

Olipy

📌 Olipy — библиотека для артистической генерации текста. Она предоставляет набор “инструментов искусства” для превращения обычного текста в визуально интересные стилизованные формы с декоративными эффектами.

📌 Особенности библиотеки:
🟢 Модули с разными эстетическими эффектами: можно применять стили, трансформации, декорации к тексту.
🟢 Использует TextBlob для разбора текста; при установке подгружаются зависимости, но сама Olipy — относительно лёгкий компонент к экосистеме.
🟢 Поставляется с примерами скриптов, которые показывают, как генерировать стилизованный текст как отдельные утилиты.


⚙️ Установка:
pip install olipy


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥32