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

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

Jam.py

📌 Jam.py — малоизвестный, но удобный low-code/no-code фреймворк на Python для быстрого создания веб-приложений CRUD. Позволяет автоматически генерировать формы, отчёты и интерфейс на основе существующих таблиц базы данных, без фронтенд-навыков или JS-разработки.

📌 Особенности библиотеки:
🟠 Полностью веб-интерфейсный low-code: создай приложение напрямую из БД, не трогая JavaScript.
🟠 Встроенный WSGI-сервер и графический конструктор интерфейсов (Application Builder) — строи формы, таблицы и отчёты просто перетаскиванием.
🟠 Быстрая генерация CRUD-приложений: просто импортируй существующие таблицы — и сразу получаешь рабочий интерфейс для них.
🟠 Универсальность: поддерживает различные СУБД, легален и открыт (BSD 3-clause).


⚙️ Установка:
pip install jam.py


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

#библиотеки

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

holehe

📌 holehe — это OSINT-библиотека и утилита для проверки email-адресов. Она показывает, зарегистрирован ли указанный email на популярных сервисах (Google, Twitter, Instagram, Netflix и др.).

📌 Особенности библиотеки:
🟠Асинхронная проверка email-адреса на десятках популярных сайтов.
🟠Показывает, зарегистрирован ли email, и иногда дополнительные данные (например, ошибки логина/регистрации).
🟠Можно использовать как CLI-инструмент и как Python-библиотеку.
🟠Полезен для OSINT-исследований, пентестов и проверки утечек.
🟠Поддерживает регулярные обновления списков сервисов.
🟠Легко интегрируется в автоматизированные пайплайны.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥3👍2
💬 F!Nd@NyFiL3 — скрипт на Python, который ищет скрытые файлы и документы через Google, парся результаты поиска, чтобы найти то, что стандартные методы не ловят.

📱 Python 3.8+
💾 Модули (из README и исходников GitHub): используются requests, beautifulsoup4 для парсинга Google-поиска и обхода результатов. Полный стек — в репозитории проекта.

📌 F!Nd@NyFiL3 — утилита OSINT-направленности: скрипт работает как "цифровая гончая", выполняет поисковые запросы в Google с нестандартными параметрами, чтобы обнаружить документы (.pdf, .doc, .xls и др.) и другие файлы, спрятанные на публичных ресурсах. Обходит ограничения обычных запросов, помогает найти "скрытое" содержимое.

👨‍💻 Код и установка:
git clone https://github.com/snooptsz/findanyfile.git
cd findanyfile
pip install requests beautifulsoup4


Запуск (пример, можно адаптировать под свой вопрос):
python findanyfile.py --query "site:example.com filetype:pdf confidential"

Где --query может включать любые Google-условия: тип файла, ключевые слова, site-ограничения и т.п.

#скрипты

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

EC-KitY

📌 EC-KitY — малоизвестная, но весьма мощная Python-библиотека для эволюционных вычислений. Поддерживает генетические алгоритмы, генетическое программирование, коэволюцию и многокритериальную оптимизацию. Легко интегрируется с экосистемой машинного обучения, включая scikit-learn.

📌 Особенности библиотеки:
🟠 Полная поддержка эволюционных парадигм — от классических генетических алгоритмов и программирования до продвинутых методов многокритериальной оптимизации и коэволюции.
🟠 Интеграция с ML-библиотеками — совместимость со scikit-learn позволяет использовать эволюционные методы в рамках привычных пайплайнов обучения.
🟠 Современная архитектура и простота настройки — проектировался с учетом современных практик разработки ПО: модульность, расширяемость и чистый API.


⚙️ Установка:
pip install ec-kity


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥4👍3
🔥 Beachpatrol

📱 Python 3.8+
💾💾 Модули: установлены через npm, но для автоматизации используются скрипты на Python + Playwright — подробности в репозитории.

📌 Beachpatrol — CLI-утилита, превращающая ваш браузер в автоматизируемый интерфейс: запускает Chromium или Firefox, управляя ими через Playwright-скрипты. Можно автоматизировать повседневные задачи — заполнение форм, скачивание файлов, навигацию по сайтам — всё без покидания привычного браузера.

📌 Особенности скрипта:
🟠 Запускает браузер (Chromium/Firefox) с возможностью управления по API Playwright — выполняет любые действия, как если бы вы делали их вручную, но автоматически.
🟠 Работает с профилями и инкогнито режимом (--profile, --incognito) — удобно для тестирования и изолированного использования.
🟠 Поддерживает запуск готовых сценариев: помещаете .js или .py скрипты в commands, и обрабатываете их через beachmsg <script-name>.
🟠 Можно интегрировать с GUI-расширением — сразу запускать сценарии из браузера одним кликом, с подсветкой текущих команд и hotkeys.


⚙️ Установка:
git clone https://github.com/sebastiancarlos/beachpatrol
cd beachpatrol
npm install
make


Запускается командой beachpatrol, работает как обычный браузер — можно добавить --profile <name> или --incognito.

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

#скрипты

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

Gekko

📌 Gekko — специализированная Python-библиотека для решения сложных задач оптимизации, включая смешанно-интегральные и дифференциальные алгебраические уравнения. Работает с нелинейными программами, динамическим моделированием, оптимальным управлением, ML-регрессией и многим другим. Поддерживает широкий набор задач: линейное и квадратичное программирование, QCQP, NLP, MIP, MILP. Интегрируется с мощными решателями: IPOPT, APOPT, SNOPT и др. и доступна на всех популярных платформах, включая Raspberry Pi.

📌 Особенности библиотеки:
🟠 Масштабируемость и мощность — решает большие нелинейные и смешанно-интегральные задачи оптимизации.
🟠 Многофункциональность — поддерживает динамическое моделирование, машинное обучение, управление моделями, согласование данных (data reconciliation) и режим реального времени.
🟠 Кроссплатформенность — работает на Linux, Windows, macOS и ARM (например, Raspberry Pi), поддерживает Python 2.7 и 3+. Запросы решаются на публичном сервере по умолчанию, но есть возможность использовать локальный режим без интернета.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍31🥰1
⭐️ telegram-automated-db-backup — скрипт на Python для ежедневного бэкапа MySQL и отправки архива в Telegram-чат.

📱 Python 3.8+
💾 Модули: pyrogram, tgcrypto (опционально), а также системные утилиты mysqldump, zip, mysql-client, как указано в README.md репозитория.

📌 telegram-automated-db-backup — автоматизация бэкапа баз данных: делает дамп MySQL, упаковывает его в ZIP и отправляет на ваш Telegram-аккаунт или группу. Не нужно покупать облако — всё происходит автоматически через Telegram.

👨‍💻 Код и установка:
git clone https://github.com/azerothcore/telegram-automated-db-backup
cd telegram-automated-db-backup
pip install pyrogram tgcrypto
# Установите zip и mysql-client через apt


В файле bak.py сконфигурируйте:
🟠Доступ к базе: mysql_localhost, mysql_username, mysql_password, названия баз world_db, char_db, auth_db
🟠Настройки ZIP: zip_password, zip_name
🟠Telegram: chat_id, username, api_id, api_hash


Затем запускайте:
python3 bak.py

Можно использовать cron для ежедневного запуска. Также есть скрипт bak-per-table.py, который создаёт дамп из каждой таблицы отдельно.

Подробнее в репозитории скрипта.

#скрипты

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

Scalpl

📌 Scalpl — компактная и удобная обёртка вокруг вложённых словарей (dict) в Python. Делает доступ к элементам и обновление вложенных структур простым и понятным, без громоздких проверок наличия ключей или условий. Отличный вариант, если нужно быстро и элегантно работать с JSON или вложенными dict, когда Glom — тяжеловат.

📌 Особенности библиотеки:
🟠 Лёгкая — простой импорт и работа, без лишнего кода
🟠 Эффективная для простых кейсов — если не требуется трансформация данных, а нужно только получить или установить значение — Scalpl быстрее и понятнее, чем Glom


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🥰1
💬 find-duplicates-csv

📱 Python 3.8+
💾 Модули: pandas, rapidfuzz — используется для сравнения строк с учётом возможных опечаток и близости.

📌 find-duplicates-csv — удобный скрипт, который помогает очистить CSV-файлы от почти-идентичных строк. Он находит строки, которые отличаются лишь незначительно (например, из-за опечаток), и оставляет только уникальные — идеально для подготовки качественных данных перед анализом.

🧑‍💻 Код скрипта:
import pandas as pd
from rapidfuzz import process, fuzz
import argparse

def dedupe_csv(input_file: str, output_file: str, col: str, threshold: float = 90.0):
df = pd.read_csv(input_file)
txts = df[col].astype(str).tolist()

# Построение матрицы схожести
sim_matrix = process.cdist(
txts, txts,
scorer=fuzz.token_set_ratio,
score_cutoff=threshold
)

# Выявляем индексы уникальных строк
unique_idxs = set()
for i in range(len(txts)):
# если нет других строк похожих на i (кроме самой i), считаем уникальной
if not any(j != i and sim_matrix[i, j] >= threshold for j in range(len(txts))):
unique_idxs.add(i)

df_unique = df.iloc[sorted(unique_idxs)]
df_unique.to_csv(output_file, index=False)
print(f"Сохранено уникальных строк: {len(df_unique)} из {len(df)}")

if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Удаление почти дублирующихся строк в CSV по текстовой колонке."
)
parser.add_argument("input", help="путь к входному CSV")
parser.add_argument("output", help="путь к выходному CSV без дубликатов")
parser.add_argument("--column", "-c", required=True, help="имя текстовой колонки для сравнения")
parser.add_argument("--threshold", "-t", type=float, default=90.0, help="порог сходства (0-100)")
args = parser.parse_args()

dedupe_csv(args.input, args.output, args.column, args.threshold)


#скрипты

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

mPyPl

📌 mPyPl — малоизвестная, но очень интересная функциональная библиотека на Python, представляющая собой «monadic pipeline» для комплексной обработки данных. Позволяет создавать пайплайны из потоков данных (например, генераторов словарей), обогащать их новыми полями и трансформировать с помощью чистых обёрток. Отличный вариант, если надо красиво и лаконично описывать цепочки обработки данных — как в UNIX, но в виде кода на Python.

📌 Особенности библиотеки:
🟠 Ленивая функциональная обработка — работает потоками генераторов, преобразования применяются по ходу, без загрузки всего в память.
🟠 Монадообразный синтаксис — похож на |> из функциональных языков типа F#, удобно читать и расширять.
🟠 Подходит для синхронной обработки сложных данных — идеально, когда нужно последовательно добавлять поля, фильтровать, преобразовывать в пайплайне.


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


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

#библиотеки

🖥 Python_Scripts
🔥4👍3
🔥 pypyr — легковесный скрипт-оркестратор для управления пайплайнами из YAML-файлов, без громоздкого кода.

📱 Python 3.7+
💾 Модули: pypyr — устанавливается через pip, зависимости автоматически подтягиваются. Это low-code инструмент: сам код JSON/YAML описывает логику, без обёрток и boilerplate.

📌 pypyr — скрипт-движок, который запускает цепочки задач описанных в YAML: запуск команд, копирование файлов, HTTP-запросы, переменные окружения, логика условий. Идеален как замена bash-скриптам, где нужно больше контроля, но без написания кучи Python-обвязки.

👨‍💻 Код и конфигурация (пример pipeline.yaml + запуск):
# pipeline.yaml
steps:
- name: say hello
python: print("Hello from pypyr")
- name: list files
shell: ls -la


Запускается так:
pip install pypyr
pypyr pipeline.yaml


#скрипты

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

obscure_stats

📌 obscure_stats — библиотека с редкими статистическими функциями, которых нет в scipy, statsmodels или numpy. Полезна, когда нужно работать с нестандартными метриками — например, альтернативные формулы асимметрии и эксцесса, устойчивые к выбросам или малому числу выборок.

📌 Особенности библиотеки:
🟠 Уникальные статистические меры — методы отличающиеся от популярных реализаций в SciPy, для особых случаев анализа.
🟠 Малораспространённая и развивающаяся — использована в reddit-сообществе как недооценённый инструмент аналитиков.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
💬 trimtrailingwhitespaces (ttws) — скрипт на Python, который рекурсивно удаляет лишние пробелы и табы в конце строк во всех текстовых файлах в указанной папке.

🐍 Python ≥ 3.0
💾 Модули: используется python-magic (libmagic) для проверки, является ли файл текстовым; fallback — по расширению файлов при отсутствии libmagic. Все зависимости устанавливаются через pip.

📌 trimtrailingwhitespaces (ttws) — программа для очистки текстовых файлов от лишних пробелов в конце строк + удаления пустых строк в конце файла. Пропускает бинарники и файлы в папках контроля версий (.git/.svn и т.д.). Может переключаться на список расширений, если libmagic не доступен (особенно в Windows).

👨‍💻 Установка и использование:

pip install -U ttws


Затем:
ttws [OPTIONS] <directory> [<directory> ...]


Опции:
-h, --help — справка
-v, --version — версия
-s, --strip — дополнительно удалить лишние пробелы/табуляции из HTML-описаний в комментариях (например, Modelica)
--eol=[CRLF|LF|CR] — задать тип переводов строки (по-умолчанию — системный)
-c, --clean — агрессивная очистка аннотаций в Modelica файлах (только под VC и с осторожностью)
-b, --blanks — подавление множественных пустых строк в *.mo файлах (не использовать с другими опциями)


Пример:
ttws path/to/project


👩‍💻 Ссылка на репозиторий: simulatino/trimtrailingwhitespaces на GitHub — там лежит исходный код, README, setup и README с описанием возможностей.

#скрипты

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

cupy

📌 cupy — это высокопроизводительная библиотека для численных вычислений, совместимая с API NumPy, но оптимизированная для работы на GPU (CUDA и AMD ROCm). Она позволяет ускорить операции над массивами в десятки раз без изменения привычного синтаксиса NumPy, идеально подходит для ML, научных вычислений и обработки больших данных.

📌 Особенности библиотеки:
🟠Поддерживает многомерные массивы, линейную алгебру, FFT и статистику, как в NumPy;
🟠GPU‑ускорение: подходит для ускорения ML‑подготовки и вычислений;
🟠Совместимость: безболезненная замена import numpy as np → import cupy as cp;
🟠Поддержка CUDA и AMD ROCm, активно развивается (версия 13.3.0, август 2024);
🟠Используется в проектах NVIDIA RAPIDS, Chainer и др..


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


📌 Почему стоит выбрать cupy:
🟠Используется привычный API NumPy, но ускоряется за счёт GPU;
🟠Отличный выбор для подготовки данных, вычислений и ML‑задач;
🟠Значительное ускорение для операций над большими массивами.


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥3
💬 Auto File Organizer — скрипт на Python, который автоматически сортирует файлы в папке по расширениям, перемещая их в соответствующие подпапки.

📱 Python 3.7+
💾 Модули: os, shutil

📌 Auto File Organizer — простой помощник для автоматической сортировки файлов в одной папке. Например, все .jpg и .png идут в папку "Images", .pdf в "Documents", .mp3 — в "Music" и так далее. Удобно для упорядочивания загрузок или проектов.

👨‍💻 Код:
import os
import shutil

def organize_folder(path):
extensions = {
"Images": [".jpg", ".jpeg", ".png", ".gif"],
"Documents": [".pdf", ".docx", ".txt"],
"Music": [".mp3", ".wav", ".flac"],
"Videos": [".mp4", ".avi", ".mkv"],
}
for filename in os.listdir(path):
filepath = os.path.join(path, filename)
if os.path.isfile(filepath):
for folder, exts in extensions.items():
if any(filename.lower().endswith(ext) for ext in exts):
target_folder = os.path.join(path, folder)
os.makedirs(target_folder, exist_ok=True)
shutil.move(filepath, os.path.join(target_folder, filename))
print(f"Переместил {filename} -> {folder}")
break

if __name__ == "__main__":
organize_folder("C:/Users/user/Downloads")


📌 Что делает:
🟠 Сканирует папку
🟠 Определяет расширение файла
🟠 Перемещает файл в подпапку по типу (создаёт папку, если нужно)


#скрипты

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

rpyc

📌 RPyC (Remote Python Call) — это мощная библиотека для удалённого вызова процедур и распределённых вычислений. Она позволяет делать RPC-программы, где клиент и сервер могут вызывать функции друг друга как локальные — без генерации шаблонов, IDL, или сложных настроек.

📌 Особенности библиотеки:
🟠 Симметричность: клиент и сервер могут выступать обе роли, вызывать функции и обмениваться объектами.
🟠 Прозрачность: удалённые функции, классы и объекты выглядят как локальные.
🟠 Поддержка синхронных и асинхронных вызовов (AsyncResult как промисы).
🟠 Исключения передаются по сети как в локальном коде — удобно для отладки.
🟠 Удобна для распределённых Python-приложений, отладочных оболочек, удалённого управления, микросервисов, интерактивных shell-сессий.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🥰2
Directory Watcher — скрипт для реального времени мониторинга изменений в папке. Идеален для автоматического реагирования: запускать сборку, копировать файлы, логировать события и т.д. Работает кросс-платформенно (Linux/macOS/Windows).

📱 Python 3.8+
💾 Модули: watchdog, argparse, time (стандартная библиотека)

📌 Directory Watcher:
- Мониторит создание, изменение, удаление и перемещение файлов
- Позволяет указать директорию и включить вложенные папки (--recursive)
- Поддерживает фильтрацию по расширению файлов (например, только .py)
- Основан на библиотеке watchdog, которая использует platform-specific механизмы (inotify, Windows API)


🧑‍💻 Пример использования (CLI):
python dir_watcher.py --path ./my_folder --recursive --ext .txt,.log


👨‍💻 Код скрипта:
import time, argparse
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class Handler(FileSystemEventHandler):
def __init__(self, exts):
self.exts = tuple(exts)

def dispatch(self, event):
if event.is_directory: return
if self.exts and not event.src_path.endswith(self.exts): return
super().dispatch(event)

def on_created(self, event):
print(f"🟢 Created: {event.src_path}")

def on_modified(self, event):
print(f"🟡 Modified: {event.src_path}")

def on_deleted(self, event):
print(f"🔴 Deleted: {event.src_path}")

def on_moved(self, event):
print(f"🔁 Moved: {event.src_path} → {event.dest_path}")

def main():
parser = argparse.ArgumentParser(description="Directory Watcher")
parser.add_argument("--path", required=True, help="Папка для мониторинга")
parser.add_argument("--recursive", action="store_true", help="Сканировать вложенные папки")
parser.add_argument("--ext", default="", help="Фильтр по расширениям (через запятую)")
args = parser.parse_args()

exts = [e.strip() for e in args.ext.split(",") if e.strip()]
handler = Handler(exts)
observer = Observer()
observer.schedule(handler, args.path, recursive=args.recursive)
observer.start()
print(f"🚀 Monitoring '{args.path}' (recursive={args.recursive}, exts={exts})")

try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

if __name__ == "__main__":
main()


📌 Установка зависимости:
pip install watchdog


📌 Где пригодится:
- Автоматический запуск сборки/тестов при изменении файлов
- Синхронизация или обработка новых логов/данных
- Автоматизация задач DevOps, CI/CD, генерации статических сайтов и т.п.


#скрипты

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

Pretty Pie Log

📌 Pretty Pie Log — лёгкая и функциональная библиотека для логирования в Python, с цветными и структурированными логами, поддержкой JSON и безопасной работой в многопоточном коде. Отличный способ сделать логи визуально понятнее и более информативными.

📌 Особенности библиотеки:
🟠 Цветная и структурированная выдача — логи цветные, легко читаются; также поддерживается формат JSON для дальнейшей обработки.
🟠 Потокобезопасность — корректно работает в многопоточных приложениях без потерь или искажений.
🟠 Удобные декораторы — позволяет автоматически логгировать вход и выход функций (включая стек-трейсы), без лишнего кода.


⚙️ Установка:
pip install pretty-pie-log


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

#библиотеки

🖥 Python_Scripts
3👍2
Website Uptime Monitor — лёгкий CLI-скрипт для мониторинга доступности одного или нескольких сайтов. Проверяет HTTP-коды, измеряет задержку и отправляет уведомление (например, в Telegram) при падении серверов.

📱 Python 3.8+
💾 Модули: requests, time, argparse, datetime, os

📌 Website Uptime Monitor:
Делает запросы на указанные URL через заданный интервал
Логирует скорость ответа и HTTP-статусы
При неоднократных ошибках отправляет уведомление (например, в Telegram)
Подходит для круглосуточного мониторинга API, сайтов и веб-сервисов


🧑‍💻 Пример использования (CLI):
python uptime_monitor.py --urls https://example.com,https://api.example.com \
--interval 60 --retries 3 --notify-telegram


👨‍💻 Код скрипта:
import requests, time, argparse, datetime, os

def alert_telegram(bot_token, chat_id, msg):
url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
requests.post(url, data={"chat_id": chat_id, "text": msg})

def monitor(urls, interval, retries, bot_token=None, chat_id=None):
status = {u: True for u in urls}
while True:
for u in urls:
try:
r = requests.get(u, timeout=10)
ok = r.status_code == 200
resp = f"{r.status_code}, {r.elapsed.total_seconds():.2f}s"
except Exception as e:
ok = False
resp = f"Error: {e}"
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"[{now}] {u} → {resp}")
if not ok and status[u]:
status[u] = False
msg = f"⚠️ {u} is DOWN at {now}"
if bot_token and chat_id:
alert_telegram(bot_token, chat_id, msg)
if ok and not status[u]:
status[u] = True
msg = f" {u} is UP again at {now}"
if bot_token and chat_id:
alert_telegram(bot_token, chat_id, msg)
time.sleep(interval)

if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument("--urls", required=True, help="Comma-separated URLs")
p.add_argument("--interval", type=int, default=60)
p.add_argument("--retries", type=int, default=3)
p.add_argument("--bot-token", default=os.getenv("TELEGRAM_TOKEN"))
p.add_argument("--chat-id", default=os.getenv("TELEGRAM_CHAT_ID"))
args = p.parse_args()
urls = [u.strip() for u in args.urls.split(',')]
monitor(urls, args.interval, args.retries, args.bot_token, args.chat_id)


⚙️ Установка зависимости:
pip install requests


#скрипты

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

PyGOD

📌 PyGOD — специализированная Python-библиотека для обнаружения аномалий в графах (Graph Outlier Detection). Предоставляет множество методов анализа аномалий в сетевых структурах — от классических до глубоких моделей — с удобным и расширяемым API.

📌 Особенности библиотеки:
🟠 Все виды аномалий — поддерживает разнообразные методы, как графовые, так и основанные на ML и глубоких подходах.
🟠 Модульная архитектура — детекторы разбиты на компоненты, которые легко настраивать и комбинировать по потребностям.
🟠 Масштабируемость — поддерживает обучение на батчах и выборки для работы с большими графами.
🟠 Надёжность и открытую разработку — библиотека под BSD 2-Clause, with CI, unit-тесты и покрытие.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3
Windows Service Watchdog — скрипт следит за критичными Windows-службами и автоматически их перезапускает, если они падают. Простой, понятный, работает без GUI и отлично подходит для обращения с сервисами, которые не должны падать.

📱 Python 3.8+
💾 Модули: psutil, subprocess, argparse, time

📌 Возможности скрипта:
🟠Проверяет состояние заданной службы (через psutil.win_service_get)
🟠Если служба не работает — делает попытку перезапуска через sc start
🟠Логирует результат: статус до/после
🟠Можно указать таймаут между проверками и автоматический перезапуск — минималистично и эффективно (stackoverflow.com, gist.github.com)


👨‍💻 Пример использования (CLI):
python service_watchdog.py --service "Spooler" --interval 30


👨‍💻 Код скрипта (service_watchdog.py):
import psutil, subprocess, time, argparse

def check_service(name):
try:
svc = psutil.win_service_get(name).as_dict()
return svc.get('status') == 'running'
except Exception as e:
print(f"Ошибка при проверке службы {name}: {e}")
return False

def restart_service(name):
print(f"Попытка перезапуска службы: {name}")
subprocess.run(['sc', 'start', name], shell=True)

def main(service, interval):
while True:
running = check_service(service)
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {service} is {'running' if running else 'NOT running'}")
if not running:
restart_service(service)
time.sleep(5)
print(f"Снова проверяю...")
time.sleep(interval)
else:
time.sleep(interval)

if __name__ == "__main__":
parser = argparse.ArgumentParser("Windows Service Watchdog")
parser.add_argument("--service", required=True, help="Name of the Windows service")
parser.add_argument("--interval", type=int, default=60, help="Check interval in seconds")
args = parser.parse_args()
main(args.service, args.interval)


⚙️ Установка зависимостей:
pip install psutil


— psutil нужен для проверки статуса службы. Команда sc используется для запуска, есть в Windows по умолчанию.

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥3