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

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

py-irt

📌 py-irt — библиотека для оценки латентных характеристик пользователей и элементов через Item Response Theory (IRT). Используется в психометрии, образовательных системах, тестировании для моделирования вероятности успешного ответа, понимания сложности заданий и способностей учащихся.

📌 Особенности библиотеки:
🟢 Масштабируемость — работает с большими наборами данных, использует PyTorch и Pyro под капотом для ускорения вычислений.
🟢 Байесовский подход — поддерживает обучение с априорными распределениями и вывод параметров через стохастические методы.
🟢 GPU-поддержка — если данные большие, можно ускорить обучение.
🟢 Чистый API — удобно интегрировать в образовательные платформы или аналитические пайплайны.


⚙️ Установка:
pip install py-irt


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2
QR-code-generator

📱 Python 3.x
ℹ️ Модули: qrcode, Pillow

📌 QR-code-generator — утилита, в которую подается строка (ссылка, текст, контакт), и скрипт генерирует QR-картинку. Можно использовать в автоматизации рассылок, на визитках, для генерации QR в приложениях и т.д.

👨‍💻 Пример кода (адаптация):
import qrcode
import sys

def make_qr(data, output_file="qrcode.png", version=1, box_size=10, border=4):
qr = qrcode.QRCode(
version=version,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=box_size,
border=border,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save(output_file)
print(f"QR saved to {output_file}")

if name == "__main__":
if len(sys.argv) < 2:
print("Usage: python qr_gen.py <text_or_url>")
sys.exit(1)
data = sys.argv[1]
make_qr(data)


📌 Что делает:
🟢 Принимает строку (URL, текст и т.д.)
🟢 Генерирует QR-код с заданными параметрами (размер, граница)
🟢 Сохраняет в файл (PNG)
🟢 Можно встроить в GUI или веб-интерфейс


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

#скрипты

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

nixnet

📌 nixnet — библиотека для работы с шинами CAN / LIN посредством оборудования NI-XNET. Если ты работаешь с автомобильными системами, встраиваемыми устройствами или робототехникой, она даёт интерфейс к железу, чтобы считывать и отправлять кадры, сигналы и работать с базами данных сетей.

📌 Особенности библиотеки:
🟢 Поддержка CAN и LIN — взаимодействие с сетями транспортных сообщений через NI-XNET оборудование
🟢 Возможность читать кадры, сигналы, преобразовывать данные между физическим и представлением (unit conversion)
🟢 Использует API NI-XNET / NI hardware — фактически “Python на железо” решение
🟢 Поддержка Windows и взаимодействие с runtime NI-XNET


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
Рост в эпоху AI: иллюзия лёгких побед? 🏆

AI обещает доступность знаний, быстрый запуск продуктов и удешевление выхода на рынок.

➡️Но на деле этот рынок превращается в конвейер клонов Ctrl+C Ctrl+V

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

В канале Продукт и рост мы разбираем:

🔵как строить продукты, которые защищены от копирования,

🔵какие механики продвижения реально работают в 2025-м,

🔵и почему рост — это единственное настоящее оружие в эпоху AI.

Список жизненно важной информации для твоего продукта в закрепе канала 🖇

Переходи:
👉🏻 https://t.me/+ykiXdap13NZiZjYy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
ChainedDicts

📱 Python 3.x
ℹ️ Модули: чистый Python, без внешних зависимостей — использует механизмы словарей и дандер-методы.

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

👨‍💻 Пример кода (отрывок из Gist):
class ChainedDicts(dict):
def __init__(self, *dicts):
self.dicts = dicts
self.base = {}

def __getitem__(self, item):
if item in self.base:
return self.base[item]
elif item not in self.dicts[0]:
raise KeyError
for internal_dict in self.dicts:
if item in internal_dict:
item = internal_dict[item]
else:
return item
return item

def __setitem__(self, key, value):
self.base[key] = value

def __delitem__(self, key):
if key in self.base:
del self.base[key]
if key in self.dicts[0]:
del self.dicts[0][key]

# Пример использования из Gist:
d = ChainedDicts({1: 2, 3: 4}, {4: 5, 6: 8})
print(d[1])
print(d[3])


📌 Что делает:
🟢Конструирует словарь, объединяющий несколько уровней словарей
🟢При чтении ключа: сначала смотрит base (локальные переопределения), потом “цепочку” словарей
🟢При записи: всегда записывает в base
🟢При удалении: удаляет из base или из первого словаря, если там
🟢Позволяет иметь “умный” конфиг: “дефолт + overrides + runtime”


🔗 Репозиторий / Gist

#скрипты

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

GraSPy

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

📌 Особенности библиотеки:
🟢 Поддерживает различные статистические методы для графов: распределения степеней, алгоритмы сравнения графов, random graph models.
🟢 API совместим с привычным стилем библиотек Python для работы с данными / машинным обучением: интеграция в пайплайны исследовательской работы.
🟢 Визуализация и инструменты анализа графов внутри библиотеки.
🟢 Открытый исходный код, лицензия Apache 2.0.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍21
autocut.py — ускоряем скучные моменты видео

📱 Python 3.x
ℹ️ Модули: argparse, subprocess (для вызова ffmpeg), time и др.

📌 autocut.py — скрипт, который автоматически ускоряет “тихие” части видео (например лекций), чтобы ты не тратил время на паузы и молчание. Можно задать порог тишины и насколько ускорять эти части. Полезно, если любишь смотреть длинные видео, лекции или стримы, но хочешь “вырезать” момент, когда ничего не происходит.

👨‍💻 Пример кода (фрагмент оригинала):
import argparse
import subprocess

def autocut(input_files, output, silent_speed=10, silent_threshold=600, denoise=False):
for input_vid in input_files:
cmd = ["ffmpeg", "-i", input_vid]
# добавляется фильтр, который ускоряет silent части
vfilt = f"silencedetect=n={silent_threshold}dB"
# здесь опции ускорения, убирание шума и т.д.
# пример:
cmd.extend([
"-vf", vfilt,
"-filter_complex", f"[0:v]setpts=PTS/ {silent_speed}[v]",
"-map", "[v]", "-map", "0:a",
output or f"{input_vid}_faster.mp4"
])
if denoise:
cmd.extend(["-af", "arnndn"])
print("Running:", " ".join(cmd))
subprocess.run(cmd, check=True)

if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Speed up silent parts in videos.")
parser.add_argument("--input", nargs='+', required=True, help="Input video files *.mp4")
parser.add_argument("--output", help="Output filename or directory")
parser.add_argument("--silent-speed", type=int, default=10, help="How much to speed up silent parts")
parser.add_argument("--silent-threshold", type=int, default=600, help="What is considered silent (threshold in milliseconds/sound level)")
parser.add_argument("--denoise", action="store_true", help="Remove background noise using ffmpeg model")
args = parser.parse_args()
autocut(args.input, args.output, args.silent_speed, args.silent_threshold, args.denoise)


📌 Что делает:
🟢 Определяет “тихие” участки видео, используя порог громкости / шумов
🟢 Автоматически ускоряет эти участки, чтобы сократить общее время просмотра видео
🟢 Опционально удаляет шум или фоновые звуки (denoise) при помощи фильтров ffmpeg
🟢 Сохраняет модифицированное видео с суффиксом или в указанное место


🔗 Репозиторий / исходник

#скрипты

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

nico-sc-sp

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

📌 Особенности библиотеки:
🟢 Аннотация типов клеток: библиотека помогает метить клетки по данным транскриптомики.
🟢 Выявление взаимодействий ниш: определение, какие типы клеток близко соседствуют и как они влияют друг на друга.
🟢 Ковариационный анализ: нахождение взаимозависимостей между наборами генов у взаимодействующих клеток.
🟢 Интеграция с популярными библиотеками: зависит от scanpy, pandas, numpy, pygraphviz и др.


⚙️ Установка:
pip install nico-sc-sp


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3
Slideshare Downloader

📱 Python 3.x
ℹ️ Модули: requests, BeautifulSoup / lxml — для HTTP-запросов и парсинга HTML страниц.

📌 Slideshare Downloader — утилита, которая позволяет скачивать презентации (Slideshare) в виде PDF или изображений, удобно сохранять копии слайдов. Если видишь полезную презентацию, которую хочешь держать офлайн — этот скрипт может помочь.

👨‍💻 Пример кода (адаптация):
import requests
from bs4 import BeautifulSoup
import os

def download_slideshare(slide_url, output_dir="slides"):
os.makedirs(output_dir, exist_ok=True)
resp = requests.get(slide_url)
soup = BeautifulSoup(resp.text, "html.parser")
# найти контейнер со слайдами, получить ссылки на изображения слайдов
img_tags = soup.select("img.slide_image") # пример селектора
for idx, img in enumerate(img_tags):
img_url = img.get("data-full") or img.get("src")
if not img_url:
continue
ext = img_url.split('.')[-1]
fname = f"slide_{idx}.{ext}"
path = os.path.join(output_dir, fname)
r = requests.get(img_url)
with open(path, "wb") as f:
f.write(r.content)
print("Downloaded:", fname)

if __name__ == "__main__":
url = "https://www.slideshare.net/some-presentation"
download_slideshare(url)


📌 Что делает:
🟢 Загружает HTML страницы Slideshare
🟢 Парсит HTML и извлекает ссылки на изображения слайдов
🟢 Скачивает каждый слайд как картинку
🟢 Сохраняет всё в указанную папку, нумеруя слайды


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

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3
— Ты уволен
— Почему?
— Мы оплатили 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