🟠 Перевод технических документов, статей, инструкций🟠 Работа в оффлайн-средах (военные, научные проекты, закрытые офисы)🟠 Перевод без утечки данных (без отправки в интернет)🟠 Автоперевод архивов
import argostranslate.package, argostranslate.translate
import pdfplumber
import docx2txt
import os
def load_model(from_code="ru", to_code="en"):
installed_languages = argostranslate.translate.get_installed_languages()
from_lang = next(filter(lambda l: l.code == from_code, installed_languages), None)
to_lang = next(filter(lambda l: l.code == to_code, installed_languages), None)
return from_lang.get_translation(to_lang) if from_lang and to_lang else None
def extract_text(file_path):
if file_path.endswith(".pdf"):
with pdfplumber.open(file_path) as pdf:
return "\n".join(page.extract_text() or "" for page in pdf.pages)
elif file_path.endswith(".docx"):
return docx2txt.process(file_path)
elif file_path.endswith(".txt"):
with open(file_path, "r", encoding="utf-8") as f:
return f.read()
else:
raise ValueError("Неподдерживаемый формат")
def save_text(text, out_path):
with open(out_path, "w", encoding="utf-8") as f:
f.write(text)
# Пример использования
file_path = "example_ru.pdf"
out_path = "translated_en.txt"
translation = load_model("ru", "en")
text = extract_text(file_path)
translated = translation.translate(text)
save_text(translated, out_path)
print(f"✅ Перевод сохранён: {out_path}")
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤8
rpyc🟠 Симметричность: клиент и сервер могут выступать обе роли, вызывать функции и обмениваться объектами.🟠 Прозрачность: удалённые функции, классы и объекты выглядят как локальные.🟠 Поддержка синхронных и асинхронных вызовов (AsyncResult как промисы).🟠 Исключения передаются по сети как в локальном коде — удобно для отладки.🟠 Удобна для распределённых Python-приложений, отладочных оболочек, удалённого управления, микросервисов, интерактивных shell-сессий.
pip install rpyc
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤2🥰1
socket, sys, argparse, datetime (все стандартные)- Спрашивает адрес хоста (IP или домен) и диапазон портов
- Использует socket.connect_ex() для проверки каждого порта
- Печатает список открытых портов и время выполнения
- Основан на примерах с TechTarget и GeeksforGeeks
python port_scanner.py --host example.com --start 1 --end 1024
import socket
import sys
import argparse
from datetime import datetime
def scan_ports(host, start, end, timeout=0.5):
try:
target = socket.gethostbyname(host)
except socket.gaierror:
print("❌ Не удалось разрешить хост.")
sys.exit(1)
print(f"=== Сканирование {host} ({target}) портов {start}–{end} ===")
t0 = datetime.now()
open_ports = []
for port in range(start, end + 1):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
result = sock.connect_ex((target, port))
if result == 0:
print(f"✔️ Порт {port} открыт")
open_ports.append(port)
sock.close()
t1 = datetime.now()
print(f"=== Сканирование завершено за {t1 - t0} (открыто: {len(open_ports)}) ===")
if open_ports:
print("Открытые порты:", open_ports)
def main():
parser = argparse.ArgumentParser(description="Простой TCP порт-сканнер")
parser.add_argument("--host", required=True, help="IP или хостнейм для сканирования")
parser.add_argument("--start", type=int, default=1, help="Начальный порт")
parser.add_argument("--end", type=int, default=1024, help="Конечный порт")
args = parser.parse_args()
scan_ports(args.host, args.start, args.end)
if __name__ == "__main__":
main()
- Разрешает домен в IP
- Проверяет диапазон портов методом connect_ex()
- Использует параметр timeout, чтобы не зависать
- Показывает открытые порты и время сканирования
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
cupy🟠 Поддерживает многомерные массивы, линейную алгебру, 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
- Используется привычный API NumPy, но ускоряется за счёт GPU;
- Отличный выбор для подготовки данных, вычислений и ML‑задач;
- Значительное ускорение для операций над большими массивами.
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤3
sweetviz🟠 Генерация полного EDA-отчёта одним вызовом (analyze()), включая сводную статистику по всем колонкам;🟠 Поддержка сравнения двух таблиц — полезно для выявления смещений между train/test;🟠 Автоматические красивые графики — распределения, зависимости, статистические сравнения;🟠 Всё хранится в самостоятельном .html — удобно делиться отчётами коллегам.
pip install sweetviz
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3
icecreamprint(). Он автоматически выводит имя переменной, её значение и контекст (файл:строка) — всё это улучшает читаемость и ускоряет поиск багов. В 2025 году становится незаменимым в повседневной отладке.🟠 Автоматическое именование переменных и вывод контекста (ic(x, y, z) → ic| x: 1, y: 2, z:3)🟠 Цветной и форматированный вывод🟠 Поддержка фильтрации, включения/отключения🟠 Работает быстрее и удобнее, чем ручной print()🟠 Лёгкая установка, BSD‑лицензия, совместимость с Python 3.7+
pip install icecream
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3❤1🥰1
watchdog, argparse, time (стандартная библиотека)- Мониторит создание, изменение, удаление и перемещение файлов
- Позволяет указать директорию и включить вложенные папки (--recursive)
- Поддерживает фильтрацию по расширению файлов (например, только .py)
- Основан на библиотеке watchdog, которая использует platform-specific механизмы (inotify, Windows API)
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, генерации статических сайтов и т.п.
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥2
requests, bs4 (BeautifulSoup), osimport os
import requests
from bs4 import BeautifulSoup
def download_google_images(query, folder="images", limit=10):
os.makedirs(folder, exist_ok=True)
url = "https://www.google.com/search"
params = {"q": query, "tbm": "isch"}
headers = {"User-Agent": "Mozilla/5.0"}
resp = requests.get(url, params=params, headers=headers)
soup = BeautifulSoup(resp.text, "html.parser")
imgs = soup.find_all("img")[:limit]
for i, img in enumerate(imgs, 1):
src = img.get("src")
if not src:
continue
img_data = requests.get(src).content
path = os.path.join(folder, f"{query.replace(' ', '_')}_{i}.jpg")
with open(path, "wb") as f:
f.write(img_data)
print(f"✅ Скачал: {path}")
if __name__ == "__main__":
download_google_images("cats", limit=5)
🟠 Делает GET-запрос к Google Images с указанным ключевым словом🟠 Парсит HTML через BeautifulSoup, берёт src первых <img>🟠 Скачивает картинки по ссылке и сохраняет их в папку images
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥3
pefile 🟠 Извлекает структуру PE-файла: секции, импорты, экспорты, заголовки🟠 Удобна для анализов вредоносного ПО и реверса🟠 Поддерживает изменение и пересборку PE-файлов
pip install pefile
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥3
commix🟠 Автоматически определяет и эксплуатирует command injection🟠 Поддерживает GET, POST, cookie, user-agent и другие источники инъекций🟠 Возможность интерактивной оболочки (reverse shell, meterpreter и др.)🟠 Поддерживает обход WAF и фильтров
git clone https://github.com/commixproject/commix
cd commix
python commix.py --help
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤2🎉1
markdown, pdfkit, argparse, os, re (все через requirements.txt), плюс внешняя утилита wkhtmltopdf- Принимает на вход один .md, папку с .md или папку, из которой собирает и объединяет все Markdown-файлы
- Генерирует PDF-файл(ы), сохраняя стиль через CSS
- Поддерживает указание CSS-файла для кастомного оформления
- Использует wkhtmltopdf для преобразования HTML в PDF
# Один файл
md2pdf input.md output.pdf
# Папка с файлами
md2pdf ./markdown_folder/
# Ваша тема оформления через CSS
md2pdf --css style.css docs/ docs/output/
git clone https://github.com/soumildatta/MD2PDF
cd MD2PDF
pip install -r requirements.txt
# Установите wkhtmltopdf через пакетный менеджер (apt/brew)
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥3
DuckDB🟠 Поддерживает SQL-запросы над Pandas/Parquet/CSV без поднятия сервера;🟠 Быстрая аналитика встроенного уровня OLAP — хороша для больших данных;🟠 Минимальные зависимости, лёгкий в установке и запуске;🟠 Интеграция с Python — можно смешивать SQL и DataFrame API.
pip install duckdb
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4❤2
clipboard_monitor, Pillow, argparsepython clip_listener.py --save-images ./screenshots
import clipboard_monitor
import argparse
from PIL import ImageGrab
from pathlib import Path
import datetime
def on_text(text):
print("✉️ Text copied:", text)
def on_files(files):
print("📁 Files copied:", files)
def on_image():
img = ImageGrab.grabclipboard()
if not img:
return
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
outdir = args.save_images
Path(outdir).mkdir(parents=True, exist_ok=True)
path = Path(outdir) / f"screenshot_{timestamp}.png"
img.save(path)
print("🖼 Saved image to", path)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Clipboard Event Listener")
parser.add_argument("--save-images", default=None,
help="Папка для сохранения скриншотов из буфера обмена")
args = parser.parse_args()
# Регистрируем обработчики
clipboard_monitor.on_text(on_text)
clipboard_monitor.on_files(on_files)
if args.save_images:
clipboard_monitor.on_image(on_image)
print("🚀 Listening for clipboard changes...")
clipboard_monitor.wait()
- Слушает изменения буфера обмена (clipboard_monitor.wait())
- При копировании текста — печатает его, при копировании файлов — выводит список
- При копировании изображения — сохраняет скриншот в указанную папку
- Универсален благодаря поддержке текстов, файлов и изображений
pip install clipboard-monitor Pillow
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍4🔥3
pytsk3🟠 Доступ к образам дисков (raw, EWF, VMDK и т.д.)🟠 Чтение NTFS, FAT, exFAT, EXT, HFS+ и других ФС🟠 Получение информации о файлах, метаданных, удалённых данных🟠 Используется в форензике, OSINT и анализе вредоносных носителей
pip install pytsk3
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👍2
requests, argparse- Делает GET-запрос к открытым API (например, Fixer или ExchangeRate-API)
- Принимает сумму, исходную и целевую валюту из аргументов командной строки
- Возвращает конвертированную сумму с текущим курсом
python currency_converter.py --amount 100 --from USD --to EUR
# Вывод:
# 100 USD = 90.13 EUR
import requests
import argparse
API_KEY = "YOUR_API_KEY" # зарегистрируйтесь и получите API-ключ
def convert(amount, frm, to):
url = f"https://v6.exchangerate-api.com/v6/{API_KEY}/latest/{frm}"
resp = requests.get(url)
data = resp.json()
rate = data["conversion_rates"].get(to)
if rate:
print(f"{amount} {frm} = {round(amount * rate, 4)} {to}")
else:
print(f"❌ Валюта {to} не поддерживается.")
if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument("--amount", type=float, required=True)
p.add_argument("--from", dest="frm", required=True)
p.add_argument("--to", required=True)
args = p.parse_args()
convert(args.amount, args.frm.upper(), args.to.upper())
⚙️ Установка зависимости:
pip install requests
- Быстрые финансовые расчёты через CLI
- Подготовка данных для отчетов и ETL-процессов
- Интеграция в скрипты и автоматизацию валютных операций
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤12🔥4👍3
CapyMOA🟠 Поддержка онлайн-обучения: обновляет модель инкрементально для каждого нового наблюдения — без переобучения с нуля.🟠 Архитектура гибкая и расширяемая — интеграция с MOA (написание на Java) и PyTorch возможна.🟠 Оптимизирована для высоких скоростей потоков: подходит для сценариев с большими нагрузками (IoT, финансовые потоки, телеметрия).🟠 Открытый код и современный подход: активно развивается с начала 2025 года.
pip install capymoa
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3👍2
capstone 🟠 Поддержка x86, x86_64, ARM, MIPS, PowerPC, SPARC и др.🟠 Очень быстрый и модульный🟠 Работает на Windows, Linux и macOS🟠 Полезен для реверс-инжиниринга, CTF и анализа малвари
pip install capstone
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3👍2
requests, time, argparse, datetime, osДелает запросы на указанные URL через заданный интервал
Логирует скорость ответа и HTTP-статусы
При неоднократных ошибках отправляет уведомление (например, в Telegram)
Подходит для круглосуточного мониторинга API, сайтов и веб-сервисов
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
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍4🔥3
💬 В этом примере покажу, как с помощью Python автоматизировать процесс резервного копирования базы данных MySQL в ваших DevOps-проектах.
mysqldump, которую вызовем из Python через модуль subprocess. Такой подход надёжен и широко используется на практике.import os
import time
import subprocess
def backup_database(host, username, password, database, output_dir):
timestamp = time.strftime('%Y%m%d_%H%M%S')
output_file = os.path.join(output_dir, f'{database}_backup_{timestamp}.sql')
cmd = [
'mysqldump',
f'-h{host}',
f'-u{username}',
f'-p{password}',
database
]
try:
with open(output_file, 'w') as f:
subprocess.run(cmd, stdout=f, check=True)
print(f'Database backup saved to {output_file}')
except subprocess.CalledProcessError as e:
print(f'Error during backup: {e}')
if __name__ == '__main__':
db_host = 'localhost'
db_username = 'your_db_username'
db_password = 'your_db_password'
db_name = 'your_database_name'
backup_output_dir = '/path/to/backup_directory'
backup_database(db_host, db_username, db_password, db_name, backup_output_dir)
☝️ В итоге скрипт создаст файл с дампом базы в указанной папке, добавив к имени текущую дату и время.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4😁2
Server-Monitoring-Telegram-Bot-System-main.zip
12.6 MB
💻 ЯП: Python 3.11+🐍
💾 Модули: flask, python-telegram-bot, requests, psutil
📂 База данных: -
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤12👍2
Deepchecks🟠 Комплексные проверки качества данных: пропущенные значения, дисбаланс, выбросы;🟠 Валидирует модель: сравнивает с базовой, анализирует разницу в метриках;🟠 Имеет готовые чек-листы для pre-deployment и мониторинга production;🟠 Интерактивные HTML-отчёты — удобно делиться с коллегами;🟠 Основана на популярных библиотеках (Pandas, scikit-learn, PyTorch), но предоставляет низкоуровневую надежность и силу.
pip install deepchecks
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍3