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

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
— Ты уволен
— Почему?
— Мы оплатили GPT-5, ты больше не нужен.


Вы тоже в ах@е с такого расклада? Учился лет 5, потом столько же батрачил за копейки ради опыта — чтобы тебя заменила еб@чая железяка.

А теперь задумайтес
ь: нейронки развиваются с бешеной скоростью. Поэтому сейчас как никогда нужны спецы для их обучения.

Чтобы в кратчайшие сроки выйти на уровень элиты и стать топом в сфере — подпишитесь на канал @devsp. Его автор раскрывает неочевидные секреты: как в 3 месяца уместить 6 лет обучения, достойно пройти любое собеседование и что делать, чтобы лучшие компании дрались за вас.

А временами подкидывает крутые вакансии и лайфхаки, после которых вас с руками оторвут даже без опыта.

Это всё равно что встретить Нео и войти в 10% тех, кто сломал систему. Подписывайтесь: @devsp
1😁131
🔥 Полезные библиотеки Python

AnomalousLib

📌 AnomalousLib — библиотека, ориентированная на исследование аномальной диффузии (anomalous diffusion), часто встречающейся в физике, биологии и финансовых данных. Она предоставляет средства для генерации синтетических данных, статистического анализа, фиттинга моделей и визуализации результатов.

📌 Особенности библиотеки:
🟢 Поддержка Python 3.12.10 или новее.
🟢 Позволяет генерировать данные с различными типами аномальной диффузии (subdiffusion, superdiffusion и др.).
🟢 Встроенные методы статистического анализа (оценка показателей, сравнение моделей) + инференс моделей.
🟢 С визуализацией: возможность строить графики траекторий, распределений, оценки отклонения от нормальной диффузии.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Бесплатное обучение фронтенд-разработке с нуля до React, TypeScript, Next.js — с поддержкой от наставника

Подойдёт и новичкам, и тем, кто уже работает с JS и React

На канале Интенсивный JavaScript действующий тимлид и опытный разработчик помогает изучить фронтенд на практических задачах, которые интересно кодить

С 18 октября стартует бесплтаное обучение, где он на практике поможет разобраться во фронтенде: новикам в HTML/CSS и JavaScript, а тем, кто с опытом — React, TypeScript, Next.js

Всего сделаете три проекта:
💡 сайт-портфолио на HTML/CSS
💡 todo-list на React + TS
💡 фронтенд для магазина Озон на JavaScript + Next.js

Обучение подойдёт, даже если у вас нет опыта в программировании — всё объясняют так, чтобы поняла даже ваша бабуля

Если опыт есть — будет проще. Сможете набить руку на React, TS, Next

🔖Ещё этот парень регулярно набирает новичков в свою команду и знает, как трудоустроиться и джуну, и разрабу поопытнее

Что будет кроме уроков:
— пошаговый план изучения всего, что нужно современному фронтендеру
— способы поиска заказов на фрилансе с помощью ИИ
— разыграет годовой доступ к крутому ИИ
— расскажет, как взять первый заказ на фрилансе, если на биржах не получается

Подписывайтесь, чтобы участвовать, осталось 39 мест

Учиться самостоятельно можно бесконечно, если не знать, куда копать. На интенсиве сократите время на поиск информации и получите пошаговый план от разработчика, который нанимает новичков в команду

➡️Участвовать бесплатно
Please open Telegram to view this post
VIEW IN TELEGRAM
2
GPTNicheFinderскрипт / веб-приложение для поиска нишевых тем с помощью Google Trends + GPT

📱 Python 3.x
ℹ️ Модули: pytrends, flask, openai, requests и др. — взаимодействие с Google Trends API, веб-интерфейс, генерация текста.

📌 Что такое GPTNicheFinder:
Нишевый инструмент для маркетологов / предпринимателей: ты вводишь ключевые слова или темы, скрипт берёт тренды из Google Trends, комбинирует их с моделями GPT, и генерирует идеи нишевых подкатегорий, потенциально прибыльных тем или продукты.

👨‍💻 Пример кода (упрощённая логика):
from pytrends.request import TrendReq
from flask import Flask, request, jsonify
import openai

pytrend = TrendReq()
app = Flask(__name__)

@app.route("/niche", methods=["POST"])
def find_niche():
data = request.json
keywords = data.get("keywords") # список ключевых слов
trends = []
for kw in keywords:
pytrend.build_payload([kw], timeframe="today 12-m")
interest = pytrend.interest_over_time()
trends.append((kw, interest.mean()))
# строим запрос в GPT, чтобы предложил нишевые идеи на основе трендов
prompt = f"Given these keywords and their trends: {trends}, suggest niche ideas."
resp = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role":"user", "content":prompt}]
)
ideas = resp.choices[0].message.content
return jsonify({"ideas": ideas, "trends": trends})

if name == "__main__":
app.run(port=5000)


📌 Что делает:
🟢 Берёт тренды по ключевым словам из Google Trends (pytrends)
🟢 Анализирует средние интересы или тренды роста
🟢 Отправляет данные + ключевые слова в модель GPT
🟢 Получает от GPT идеи ниш, подкатегорий или направлений
🟢 Возвращает JSON с предложениями и трендами


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

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥1😁1
gitingest.py — превращаем Git-репо в текст для подсказок и clipboard

📱 Python 3.x
ℹ️ Модули: argparse, subprocess, pathlib, fnmatch, uuid, shutil, os, re — всё стандартное.

📌 gitingest.py — утилита, которая берёт Git-репозиторий (локальный или по URL), выбирает файлы до заданного размера, фильтрует по шаблонам (например, исключает логи, большие двоичные файлы и т.п.), и превращает содержимое в текст, пригодный для подсказок / вставки в clipboard / анализа. Полезно, если нужно “ознакомиться” с кодом, быстро получить обзор репозитория или подготовить данные для LLM.

👨‍💻 Пример кода (фрагмент из gitingest.py):
#!/usr/bin/env python3

"""
gitingest.py - Turn any Git repository into a prompt-friendly text and copy to clipboard.
Usage:
python gitingest.py <URL/LOCAL_FOLDER> [options]
Options:
--exclude PATTERN Patterns to exclude (can be used multiple times)
--max-size SIZE Include files under SIZE kb (default: 50kb)
Examples:
python gitingest.py https://github.com/user/repo
python gitingest.py ./local-folder --exclude "*.log" --exclude "tests/*" --max-size 100
"""

import os
import sys
import subprocess
import tempfile
import shutil
import argparse
from pathlib import Path
from fnmatch import fnmatch
import uuid
import re

def clone_repo_if_needed(repo_path_or_url, tmp_dir):
# если передана URL — клонировать, иначе использовать локальный путь
pass

def collect_files(base_path, max_size_kb, exclude_patterns):
# пройтись по базе, собрать пути файлов, которые
# — меньше max_size
# — не соответствуют exclude_patterns
pass

def read_files(paths):
# читать файлы, возможно ограничивать общую длину, фильтры по расширениям
pass

def main():
# парсинг аргументов, клонирование, сбор файлов, вывод в консоль / буфер
pass


📌 Что делает:
🟢 Принимает на вход путь к репозиторию либо URL
🟢 Опции: --exclude шаблоны файлов / директорий, --max-size чтобы игнорировать большие файлы
🟢Сбирает содержимое подходящих файлов
🟢 Генерирует текстовый вывод — может копировать в clipboard или просто печатать
🟢 Удобное для подготовки данных перед аналитикой, обзором репо, работе с AI, чтобы “загрузить” код без лишнего мусора


🔗 Исходник Gist

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍31
PySceneDetect — скрипт для автоматического поиска и разрезания видео на сцены

📱 Python 3.7+
ℹ️ Модули: opencv-python, numpy, click, ffmpeg
Использует алгоритмы анализа яркости, цвета и движения для определения точек смены сцен.

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

👨‍💻 Пример кода (фрагмент):
from scenedetect import detect, ContentDetector, split_video_ffmpeg

scene_list = detect('input.mp4', ContentDetector())
split_video_ffmpeg('input.mp4', scene_list)


📌 Что делает:
🟢 Анализирует видео и определяет, где происходит смена сцены
🟢 Разделяет видео на отдельные файлы по найденным сценам
🟢 Поддерживает экспорт списка сцен в CSV, HTML и EDL
🟢 Работает как через CLI, так и через Python API


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

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5
ASCII Art Image Converter — скрипт, который превращает изображения в аккуратный ASCII-арт прямо в терминале или сохраняет результат в .txt файле. Отлично подходит для визуализации в текстовом режиме, генерации минималистичных логотипов или просто для развлечения.

📱 Python  3.7+
💾 Модули: Pillow, numpy, argparse

📌 Что делает ASCII Art Image Converter:
🟠Загружает изображение любого поддерживаемого формата
🟠Конвертирует в градации серого
🟠Делит изображение на сетку и заменяет среднюю яркость каждой ячейки ASCII‑символом (@, #, . и пр.)
🟠Сохраняет ASCII-арт в файл или выводит на экран
🟠Включает CLI‑интерфейс для настройки ширины и дискреты яркости.


🧑‍💻 Пример использования (CLI):
python ascii_art.py --input image.jpg --width 80 --output ascii.txt --detailed


👨‍💻 Код скрипта:
import os
import argparse
from PIL import Image
import numpy as np

GSCALE_SIMPLE = "@%#*+=-:. "
GSCALE_EXTENDED = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\\|()1{}[]?-_+~i!lI;:,\"^`'. "

def avg_brightness(tile):
return np.array(tile).mean()

def image_to_ascii(image_path, cols=80, more_levels=False):
image = Image.open(image_path).convert('L')
W, H = image.size
scale = 0.43 # поправка на соотношение символов в терминале
w = W / cols
h = w / scale
rows = int(H / h)

print(f"[ASCII] Рисунок: cols={cols}, rows={rows}")

ascii_img = []
gs = GSCALE_EXTENDED if more_levels else GSCALE_SIMPLE
levels = len(gs)

for row in range(rows):
y1 = int(row * h)
y2 = int((row + 1) * h) if row < rows - 1 else H
line = ""
for col in range(cols):
x1 = int(col * w)
x2 = int((col + 1) * w) if col < cols - 1 else W
tile = image.crop((x1, y1, x2, y2))
brightness = avg_brightness(tile)
idx = int(brightness * (levels - 1) / 255)
line += gs[idx]
ascii_img.append(line)
return ascii_img

def main():
parser = argparse.ArgumentParser(description="ASCII Art Image Converter")
parser.add_argument('--input', required=True, help='Путь к изображению')
parser.add_argument('--width', '-w', type=int, default=80, help='Ширина в символах')
parser.add_argument('--output', '-o', help='Выходной .txt файл (по умолчанию — stdout)')
parser.add_argument('--detailed', action='store_true',
help='Использовать мелкую градацию (GSCALE_EXTENDED)')
args = parser.parse_args()

art = image_to_ascii(args.input, cols=args.width, more_levels=args.detailed)
if args.output:
with open(args.output, 'w', encoding='utf-8') as f:
f.write('\n'.join(art))
print(f" Сохранено в {args.output}")
else:
print()
print('\n'.join(art))

if __name__ == "__main__":
main()


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


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍4🔥1
Hourly Time Tracker + Daily Summary

📌 Этот скрипт помогает отслеживать, сколько времени вы реально тратите на разные задачи в течение дня. Каждые, скажем, 60 минут он спрашивает, над чем вы работаете, записывает это в CSV, а к вечеру присылает красивую сводку времени по проектам. Абсолютно реально и полезно, если вы хотите прокачать свою продуктивность.

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

📌 Что умеет этот скрипт:
Каждую заданную минуту спрашивает (CLI), чем вы заняты.
Записывает метку времени и описание задачи в CSV.
В конце дня автоматически выводит краткую таблицу: сколько времени ушло на каждую задачу.
Полезно, чтобы увидеть, куда уходит время, и перестать терять минуты зря.


👨‍💻 Пример использования (CLI):
python time_tracker.py --interval 60 --output time_log.csv


👩‍💻 Код скрипта (time_tracker.py):
import time
import csv
from datetime import datetime
import argparse
from collections import Counter

def track(interval, output):
with open(output, 'a', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
while True:
now = datetime.now()
task = input(f"[{now.strftime('%H:%M')}] Что вы сейчас делаете? ")
writer.writerow([now.isoformat(), task])
if task.lower() in ('выход', 'exit', 'quit'):
break
time.sleep(interval * 60)

def summarize(output):
tasks = []
with open(output, newline='', encoding='utf-8') as f:
for row in csv.reader(f):
if len(row) >= 2:
tasks.append(row[1])
counts = Counter(tasks)
print(" Итоги дня:")
for task, cnt in counts.items():
print(f"{task[:30]:30} — {cnt} отметок")

if __name__ == '__main__':
parser = argparse.ArgumentParser("Hourly Time Tracker")
parser.add_argument("--interval", type=int, default=60, help="Интервал опроса (в минутах)")
parser.add_argument("--output", default="time_log.csv", help="CSV файл для логов")
parser.add_argument("--summary", action="store_true", help="Показать итог за день и выйти")
args = parser.parse_args()
if args.summary:
summarize(args.output)
else:
track(args.interval, args.output)


#скрипты

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

intelx

📌 intelx — Python SDK для работы с Intelligence X, платформой для поиска утекших данных, доменов, email-адресов, IP и прочего OSINT.

📌 Особенности библиотеки:
🟠Поиск в утечках (email, пароли, домены, IP и др.)
🟠Доступ к API IntelligenceX
🟠Получение и скачивание найденных записей


⚙️ Установка:
pip install intelx-sdk


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43
Audio Chapters Splitter — скрипт, который автоматически делит длинное аудио (например, подкаст или лекцию) на главы по паузам или тишине. Удобно для разбиения больших треков и подготовки фрагментов для публикации, разбивки на главы или последующей расшифровки.

📱 Python 3.8+
💾 Модули: pydub, argparse, os, scipy.signal (только если нужен алгоритм кластеризации пауз)

📌 Возможности скрипта:
🟠Загружает аудиофайл (.mp3, .wav и др.)
🟠Находит паузы длиннее заданного порога (например, тишина ≥ 2 секунды)
🟠Делит трек на сегменты между этими паузами
🟠Сохраняет каждый сегмент как отдельный файл с порядковым номером
🟠Подходит для подкастов, интервью, лекций — автоматизирует разделение аудио


👨‍💻 Пример использования (CLI):
python split_audio.py --input lecture.mp3 --silence_thresh -40 --min_silence_len 2000 --output segmented/


👨‍💻 Код скрипта:

import os
import argparse
from pydub import AudioSegment
from pydub.silence import detect_silence

def split_on_silence(input_path, silence_thresh=-40, min_silence_len=2000, keep_silence=500, output_dir="segments"):
audio = AudioSegment.from_file(input_path)
os.makedirs(output_dir, exist_ok=True)

silence_ranges = detect_silence(audio, min_silence_len=min_silence_len, silence_thresh=silence_thresh)
silence_ranges = [(start, stop) for start, stop in silence_ranges]

prev_end = 0
count = 1
for start, stop in silence_ranges:
segment = audio[prev_end:start]
segment_name = os.path.join(output_dir, f"segment_{count:03}.mp3")
segment.export(segment_name, format="mp3")
print(f" Saved {segment_name}")
count += 1
prev_end = stop

# last segment
if prev_end < len(audio):
segment = audio[prev_end:]
segment_name = os.path.join(output_dir, f"segment_{count:03}.mp3")
segment.export(segment_name, format="mp3")
print(f" Saved {segment_name}")

def main():
parser = argparse.ArgumentParser(description="Split audio on silence into chapters")
parser.add_argument("--input", required=True, help="Input audio file (mp3/wav/etc.)")
parser.add_argument("--silence_thresh", type=int, default=-40, help="Threshold (dBFS) to detect silence")
parser.add_argument("--min_silence_len", type=int, default=2000, help="Minimum silence length (ms)")
parser.add_argument("--keep_silence", type=int, default=500, help="Silence to leave at edges (ms)")
parser.add_argument("--output", default="segments", help="Directory to save segments")
args = parser.parse_args()
split_on_silence(args.input, args.silence_thresh, args.min_silence_len, args.keep_silence, args.output)

if __name__ == "__main__":
main()



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


Также потребуется ffmpeg или avlib — убедись, что установлен!

📌 Где пригодится:
🟠Разбивка подкастов, лекций или интервью на главы
🟠Подготовка аудио к конвертации, генерации транскрипта по части
🟠Автоматизация медиа-обработки для подкастеров и создателей контента


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍3🔥1
ЧЕБУРНЕТУ БЫТЬ!🤭

Медный купол по-немногу накрывает, а ты даже не знаешь как действовать?


Ниже даю список каналов спецов из сферы кибербеза, которые уже придумали все за тебя:

HACK WARRIOR. – парни уже давно сели на измену и активно постируют контент на тему защиты своих личных данных в интернете, чтобы не сел ты.

secure sector – канал безопасника однажды сильно пострадавшего от халатного отношения к своей интернет-гигиене. Собственно, поэтому и стал безопасником...

INFOSEC LIZARD – твой личный криптонит от любых кибер-угроз в сети.

Я бы не хотел, чтобы в будущем ты пожалел о том, что пролистал этот пост. Оставайся в безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁93
🔥 Полезные библиотеки Python

NicheCompass

📌 NicheCompass — пакет для анализа пространственных мультиомных данных (spatial multi-omics) с акцентом на выявление «нишевых» клеточных сообществ и межклеточных коммуникаций. Он позволяет строить пространственный атлас тканей, определять, какие типы клеток находятся рядом и как они взаимодействуют, и создавать визуализации на основе графовых и эмбеддинговых методов.

📌 Особенности библиотеки:
🟢 Поддерживает Python 3, пакет опубликован на PyPI: версия 0.3.0 на 7 августа 2025.
🟢 Использует фреймворки для графовых данных (например, PyG) и AnnData — удобно, если работаешь с биоинформатикой или анализом клеточных микросред.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
❗️ Произошёл масштабный слив Apple, Open AI, Microsoft и других западных гигантов

В сеть утекли корпоративные документы для обучения персонала: гайды, инструкции к ИИ, инсайды по грядущим новинкам и разработкам.

Целых 4 терабайта (!) инфы распределили по закрытым каналам. Сохраняй пока доступно:

Гайды по ИИ и инструментам для работы и творчества
Чеклисты, фреймворки, репозитории и куча полезностей
Инсайды по IT-разработкам и новым технологиям
Слитая инфраструктура Apple
Обучения легальному и нелегальному хаккингу
Всё про Python от топов из Microsoft
+ бонус: канал с мемами про IT, ИИ и технологии.

👆 Подпишись, скоро поменяем ссылки
😁101
gbak — скрипт для бэкапа всех ваших репозиториев GitHub

📱 Python 3.x
ℹ️ Модули: requests, os, zipfile, возможно GitHub API (через токен) — по описанию.

📌 Что такое gbak:
Скрипт, который позволяет скачать архивом все ваши репозитории GitHub (включая приватные, если есть токен), чтобы держать офлайн-копии ваших проектов. Идея: не полагаться полностью на GitHub-хостинг, а иметь локальный архив.

👨‍💻 Как работает:
🟢 Получает список репозиториев пользователя через GitHub API, используя токен, если указан.
🟢 Под каждый репо создаёт архив (.zip или .tar.gz) или клонирует его.
🟢 Сохраняет в указанную папку локально с именем репо и датой.
🟢 Может запускаться периодически как бэкап-утилита.


📌 Что делает:
🟢 Собирает все репозитории пользователя (public + приватные)
🟢 Скачивает как архив или клонирует, чтобы сохранить копию
🟢 Удобна для сохранения резервных копий проектов, особенно если много маленьких хобби-репо
🟢 Простая идея, но реально полезная при потере данных или закрытии аккаунта


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

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
⚡️ Накануне в Telegram выложили 7ТБ курсов по IT.

Умельцы собрали все эти курсы и выложили их в свой канал -
IT Matrix.

Забирай свое направление:

👩‍💻 Python - 1476 ГБ
👩‍💻 JavaScript - 1178ГБ
👩‍💻 Java - 1209 ГБ
👩‍💻 С/С++ - 1005 ГБ
👩‍💻 InfoSec - 1274 ГБ
👩‍💻 DevOps - 941 ГБ
👩‍💻 SQL & Базы Данных - 853 ГБ
👩‍💻 GO - 832 ГБ
👩‍💻Linux - 796 ГБ
👩‍💻 Kotlin - 790 ГБ
👩‍💻 PHP - 767 ГБ
👩‍💻 AI & Machine Learning - 743 ГБ
👩‍💻 Data Science - 677 ГБ

📌 Доступ открыли на 48 часов, успей подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31
🔥 Полезные библиотеки Python

EZPubSub

📌 EZPubSub — минималистичная библиотека для реализации шаблона publish/subscribe (pub/sub) в Python: типобезопасная, потокобезопасная, поддерживает синхронную и асинхронную работу. Отличный вариант для событийной архитектуры, небольших приложений с уведомлениями или внутренних модулей, которые требуют “сигналы-слоты” без лишнего веса.

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


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Pyextract — скрипт для извлечения текста из изображений с помощью OCR

📱 Python 3.x
ℹ️ Модули: pytesseract (Tesseract OCR обёртка в Python), Pillow, clipboard (или аналог для захвата из буфера), os, sys.

👨‍💻 Пример кода из репозитория:
import pytesseract
from PIL import Image
import os, sys

def extract_text_from_image(image_path, lang="eng"):
image = Image.open(image_path)
text = pytesseract.image_to_string(image, lang=lang)
return text

if __name__ == "__main__":
folder = sys.argv[1] # папка с изображениями или файл пути
for fname in os.listdir(folder):
if fname.lower().endswith((".jpg", ".png", ".jpeg", ".tiff")):
path = os.path.join(folder, fname)
txt = extract_text_from_image(path, lang="eng")
print(f"=== {fname} ===")
print(txt)
# можно дополнительно: сохранять txt в файл или копировать


📌 Что делает:
🟢 Принимает файл изображения или папку с изображениями
🟢 Использует Tesseract OCR через pytesseract для извлечения текста
🟢 Поддерживает указание языка OCR и опционально настройку параметров
🟢 Выводит текст в консоль, может сохранять в .txt файл или копировать в буфер обмена
🟢 Удобно автоматизировать: пакет документов, извлечение текста из сто-снимков, “менеджмент документов”


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

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥3
⚡️ DevOps теперь в Telegram!

Канал сеньора, где публикуются гигабайты материалов для DevOps-инженеров:

97 ГБ — Linux
48 ГБ — Docker
12 ГБ — Kubernetes
25 ГБ — Redis
81 ГБ — Git
19 ГБ — Jira
29 ГБ — Grafana


Присоединяйтесь: @devops_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
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
6
py_wayback_downloader — скрипт-архиватор сайтов с Web Archive

📱 Python 3.7+
ℹ️ Модули: requests, tqdm, urllib3.Retry, bs4/BeautifulSoup, threading, queue, pathlib и др.

📌 py_wayback_downloader — утилита, которая позволяет скачивать снимки (snapshots) веб-сайтов из Internet Archive (web.archive.org) за указанный период времени и сохранять их локально в целостной структуре (html, изображения, скрипты, css). Полезна для интернет-архивирования, цифровой археологии, офлайн-анализа сайтов.

👨‍💻 Пример использование (упрощённо):
# Упрощённый псевдокод
from wbmdownloader import WaybackDownloader

down = WaybackDownloader(
url="http://example.com",
output_folder="output/example.com",
from_date="200703",
to_date="200704",
threads=8
)
down.run()


📌 Что делает:
🟢 Получает список снимков сайта на web.archive.org за указанный диапазон дат.
🟢 Скачивает файлы (HTML, изображения, CSS, JS и другие ресурсы) с параллельными потоками (--threads параметр) для ускорения.
🟢 Сохраняет файлы в структуре: output/{домен}/{дата}/{файлы} — удобно навигировать по временам.
🟢 Поддерживает фильтрацию (например, только HTML), проверку наличия файлов чтобы не перекачивать заново, логирование и рестарт.


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

#скрипты

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

molecule

📌 Molecule — это инструмент для тестирования ролей и плейбуков Ansible. Он помогает DevOps-инженерам автоматически проверять, что инфраструктурный код работает корректно до применения в проде.

📌 Особенности:
🟠Поддержка Docker, Vagrant, Podman, EC2 и других драйверов
🟠Интеграция с Ansible, Testinfra, Goss
🟠Автоматические проверки, линтинг и CI
🟠Подходит для TDD в инфраструктуре


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4