autokey Python API — скрипты пишутся на самом AutoKey. Требуется установка приложения AutoKey (Linux).snippet_launcher.py):# snippet_launcher.py — AutoKey script
from autokey import clipboard, keyboard, system
# Словарь сниппетов
snippets = {
"addr": "ул. Гагарина, д.12, кв.34, Ташкент",
"sig": "С уважением,\nИван Иванов, инженер",
"date": system.exec_command("date +'%Y-%m-%d'")[0].strip()
}
def on_trigger(trigger_phrase):
if trigger_phrase in snippets:
text = snippets[trigger_phrase]
clipboard.fill_clipboard(text)
keyboard.send_keys("<ctrl>v")
else:
keyboard.send_keys(trigger_phrase)
# Привязка: триггер "addr" вызывает вставку адреса
on_trigger("addr")
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥1
🟠 Обработка пропусков, категориальных и числовых признаков🟠 Кодирование категориальных переменных🟠 Нормализация и масштабирование🟠 Отбор признаков по статистике и важности🟠 Полная интеграция с scikit-learn
pip install feature-engine
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
subprocess, argparse, datetime🟠 Выполняет добавление всех изменений (git add .)🟠 Составляет коммит-сообщение с временной меткой (например: Auto commit 2025-08-19 · Обновления)🟠 Делает git commit и git push, используя default-ветку🟠 Позволяет один раз запускать скрипт и забыть про многострочные команды—автоматизация на максималках
python git_auto.py
import subprocess
import argparse
from datetime import datetime
def auto_git():
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
msg = f"Auto commit {timestamp}"
try:
subprocess.run(["git", "add", "."], check=True)
subprocess.run(["git", "commit", "-m", msg], check=True)
subprocess.run(["git", "push"], check=True)
print(f"✅ Changes pushed with message: '{msg}'")
except subprocess.CalledProcessError as e:
print(f"❌ Git operation failed: {e}")
if __name__ == "__main__":
parser = argparse.ArgumentParser("Automate Git Operations")
args = parser.parse_args()
auto_git()
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
wasabi🟠 Красивые цветные сообщения: msg.info(), msg.warn(), msg.fail().🟠 Поддержка таблиц и прогресс-баров.🟠 Минимум зависимостей, работает быстро.🟠 Хорошо интегрируется в пайплайны обучения моделей и тестирования.
pip install wasabi
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6🔥4❤2
🟠 Работает прямо из консоли, без зависимостей.🟠 Можно указать целевую ветку (main, master, develop).🟠 Поддерживает dry-run — можно посмотреть, какие ветки будут удалены, перед фактическим удалением.🟠 Ускоряет навигацию и исключает мусор в локальных репозиториях.
python git-delete-merged-branches.py --base main --dry-run
Чтобы удалить реально:
python git-delete-merged-branches.py --base main
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3
halo🟠 Поддержка десятков встроенных спиннеров (точки, линии, стрелки и др.).🟠 Возможность кастомизации текста, цвета и анимации.🟠 Работает как с синхронным, так и с асинхронным кодом.🟠 Лёгкая интеграция в любые консольные проекты.
pip install halo
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤4👍3🔥2
pyotp, argparse, плюс взаимодействие с внешним VPN-CLI (например, Pritunl, Global Protect) через subprocess. (GitHub репозиторий)git clone https://github.com/Dhi13man/auto_vpn_connect.git
cd auto_vpn_connect
pip install pyotp
Файл
vpn_data.json должен содержать конфигурацию VPN-профилей:{
"config": {
"PRITUNL": {
"vpn_type": "PRITUNL",
"cli_path": "/path/to/pritunl-client"
},
"GLOBAL_PROTECT": {
"vpn_type": "GLOBAL_PROTECT",
"service_load_command": "...",
"service_unload_command": "..."
}
},
"vpn_list": [
{
"vpn_id": "<vpn_id_1>",
"vpn_type": "PRITUNL",
"pin": "<vpn_pin>",
"totp_url": "<totp_url_if_any>",
"token": "<vpn_token_if_any>"
},
{
"vpn_id": "GlobalProtect",
"vpn_type": "GLOBAL_PROTECT"
}
]
}Запуск:
python auto_vpn_connect/__main__.py
Опции позволяют:
🟠 Выбирать VPN-профиль по vpn_id🟠 Автоматически обрабатывать PIN, TOTP и токены🟠 Перезапускать VPN при падении соединения
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤6👍5🔥1😁1
PySnooper
🟠 Используется как простой декоратор @pysnooper.snoop() — минимальный порог входа.🟠 Поддержка логирования в файл (@pysnooper.snoop("log.txt")).🟠 Подсветка изменений переменных: видно старые и новые значения.🟠 Удобна для обучения, отладки алгоритмов и сложных функций.
pip install pysnooper
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥3
socket, argparseimport socket
import argparse
def scan_ports(host, ports):
print(f"Сканирование {host}...")
for port in ports:
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(0.5)
result = sock.connect_ex((host, port))
if result == 0:
print(f"[+] Порт {port} открыт")
sock.close()
except Exception as e:
print(f"Ошибка при проверке порта {port}: {e}")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Простой сканер портов")
parser.add_argument("host", help="IP или домен для проверки")
parser.add_argument("--ports", nargs="+", type=int, default=[21,22,80,443,3306],
help="Список портов через пробел (по умолчанию: 21 22 80 443 3306)")
args = parser.parse_args()
scan_ports(args.host, args.ports)
🟠 Принимает домен или IP и список портов🟠 Проверяет соединение через socket.connect_ex🟠 Выводит список открытых портов🟠 Легковесная альтернатива nmap для быстрых проверок
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤6🔥5
PyHHMM🟠 Поддержка смешанных наблюдений (continuous, multinoulli и др.), что дает гибкость в реальных задачах с разнородными данными.🟠 Возможность semi-supervised обучения и выбора порядка модели.🟠 Удобная объектно-ориентированная архитектура: легко задавать разные типы наблюдений, алгоритмы инициализации и критерии выбора порядка.🟠 Зависимости: numpy, scipy, scikit-learn, seaborn.
pip install pyhhmm
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
processwatchdog.py
7.1 KB
psutil, subprocess, time, argparse, logging, опционально requests (для Webhook/Telegram) или smtplib (для email). Установить: pip install psutil requests (requests — если нужно уведомление через HTTP).🟠 Регулярно сканирует цель (по имени или PID).🟠 Измеряет потребление памяти (RSS) и загрузку CPU.🟠 Если пороги превышены — пытается рестартовать сервис самым безопасным способом (systemctl → start_cmd → kill+start).🟠 Отправляет уведомление на указанный Webhook (например, Telegram/Slack) при рестарте.🟠 Поддерживает cooldown, чтобы избежать петли рестартов.
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
streamlit, pyperclip, requests, yt_dlp, Pillow, opencv-python и др. — зависимости указаны в requirements.txt репо. import streamlit as st
import pyperclip
import requests
from yt_dlp import YoutubeDL
st.title("AutoPilot Hub")
if st.button("YouTube Download"):
url = st.text_input("YouTube URL")
if url:
with YoutubeDL({}) as ydl:
info = ydl.download([url])
st.write("Download complete")
if st.button("Copy Snippet"):
snippet = st.text_area("Snippet text")
if snippet:
pyperclip.copy(snippet)
st.write("Copied to clipboard")
if st.button("Fetch RSS News"):
feed_url = st.text_input("RSS feed URL")
if feed_url:
resp = requests.get(feed_url)
st.write(resp.text[:500]) # первые 500 символов
Репозиторий: AutoPilot / stream.py
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5❤3
geojson_pydantic🟠 Автоматическая генерация Pydantic-моделей GeoJSON-сущностей: Point, MultiPolygon, Feature, FeatureCollection и др.🟠 Встроенные проверки: координаты как list[float], допустимый диапазон, обязательные поля, вложенность объектов.🟠 Полная типизация и автокомплит для IDE — удобно при разработке API или при десериализации внешних источников.🟠 Можно легко создавать “schema” для FastAPI / Pydantic, сразу принимать геоданные и доверять, что они валидны.🟠 Независимая и узкоспециализированная — минималистичная, не дублирует функции GIS-библиотек, а просто “сделай модель и проверяй GeoJSON”.
pip install geojson-pydantic
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍2
versions🟠 Поддерживает Python 3.8+.🟠 Функция parse_version() позволяет разобрать строку версии на структуру: релиз, dev-часть, локальные билды, метаданные и даже pre-релизы.🟠 Версии поддерживают упорядочение (<, >, == и т.д.) в соответствии с SemVer/PEP-440 — можно сравнивать, сортировать и фильтровать версии.🟠 Удобно использовать когда нужно анализировать историю версий, фильтровать “beta” или “rc”-версии, собирать CI/CD-pipeline по версии пакета, либо автоматически находить последний стабильный релиз.
pip install versions
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2
pyserial — всё взаимодействие с модемом идёт через последовательный порт. Зависящая утилита: GSMTerm (входит в пакет). from gsmmodem.modem import GsmModem
PORT = '/dev/ttyUSB0'
BAUDRATE = 115200
PIN = None # если есть PIN-код SIMкарты
def handle_sms(sms):
print(f"New SMS from {sms.number}: {sms.text}")
def main():
modem = GsmModem(PORT, BAUDRATE, incomingCallCallback=None, smsReceivedCallback=handle_sms)
modem.connect(PIN)
modem.sendSms('<номер телефона>', 'Привет от python-gsmmodem-2025!')
print("SMS отправлено, ждём входящие…")
modem.run()
if __name__ == "__main__":
main()
pip install python-gsmmodem-2025
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2👍1
os, subprocess, возможно requests или gh для Gist API, плюс Bash для хука. (детали — на странице проекта) #!/usr/bin/env bash
# bash wrapper + python
LOCAL_DIR="$HOME/gists"
GIST_API_TOKEN="your_token_here"
for file in "$LOCAL_DIR"/*; do
# получить соответствующий gist ID из маппинга
gist_id=$(basename "$file" .py)
# проверка, есть ли изменения
git diff --quiet "$file" || \
curl -X POST -H "Authorization: token $GIST_API_TOKEN" \
-d "{\"files\": {\"$(basename "$file")\":{\"content\":\"$(sed 's/\"/\\\"/g' "$file")\"}}}" \
"https://api.github.com/gists/$gist_id"
done
*(Это адаптированный фрагмент, не точный код из репо, но отражает основную идею.)
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🥰1
PyPOTS🟠 Обработка нерегулярных временных рядов с отсутствующими наблюдениями (irregular, missing observations).🟠 Несколько стратегий: как статистические, так и нейросетевые подходы.🟠 Хорошо документирована, есть примеры использования, интерфейс сделан удобно для исследований и промышленного применения.🟠 Учитываются производительность и масштабирование.
pip install pypots
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤1
data-validation-framework🟠 Требует Python >= 3.9.🟠 Интеграция с Luigi — задачи валидации описываются в коде как Luigi-таски.🟠 Спецификация + код проверки в одном месте — не нужно отдельно поддерживать документацию с правилами и код с проверками, они связаны.🟠 Возвращает детализированные результаты валидации по строкам, колонкам — можно использовать в автоматизации и CI-сценариях.
pip install data-validation-framework
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥2
🟠 Клонируете репозиторий pydn/ComfyUI-to-Python-Extension с GitHub.🟠 Устанавливаете зависимости, указанные в requirements.txt.🟠 Запускаете ComfyUI, загружаешь workflow в UI, затем используете “Save As Script” / “Save (API Format)” → получаете JSON.🟠 Потом запускаете скрипт вроде comfyui_to_python.py --input_file workflow.json --output_file my_workflow.py.
Подробная информация в репозитории скрипта.
🟠 Преобразует визуальную конфигурацию узлов (Nodes / workflow) в Python код, что позволяет:
запускать workflow программно, без UI,
делать версии сценариев, ставить автоматические тесты / CI,
масштабировать или создавать батчи генерации, где UI был бы неудобен.🟠 Позволяет адаптировать workflow-конфигурации, изменять параметры узлов, модифицировать и повторно использовать.
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
Effector🟠 Поддерживает глобальные методы объяснения (feature effect) и автоматически определяет региональные подпространства, где, по статистике, эффект признаков более однороден.🟠 Интерфейс расширяемый — можно добавлять свои методы объяснения и определять регионы через логические правила.🟠 Подходит как для табличных данных, так и для сложных ML-задач; позволяет визуализировать эффекты, сравнивать методы и отчётливо видеть, где признаки влияют по-разному.
pip install effector
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2❤1
dig, netstat, ls, ps и др.), преобразует его в структурированный формат (JSON, YAML или Python-словарь). Это полезно, когда скрипты хотят обработать такие данные дальше программно — делать фильтрацию, агрегацию и т.п. # Установка
pip install jc
# Пример команд:
dig example.com | jc --dig
ls -la | jc --ls
# и т.д.
# Использование как библиотеки в Python:
from jc import parse
# parse.<имя парсера>(строка_вывода)
Слушает вывод команд в консоли
Использует соответствующий парсер (например, --dig, --ls и др.)
Преобразует строковый вывод в JSON / YAML / Python-структуры
Упрощает автоматизацию и обработку командного вывода программно
Подробная информация в репозитории скрипта.
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2