Python заметки
70 subscribers
70 photos
7 files
35 links
Download Telegram
DABL

DABL (Data Analytics in Business Language) — это библиотека Python, которая упрощает использование машинного обучения для анализа данных. Она предоставляет простой и понятный интерфейс для создания моделей машинного обучения, а также для их обучения и оценки.
🔥3👍2
Forwarded from Usman's Laboratory (ㅤㅤУсман [RU - ENG] 🇷🇺)
Проверять каждого продавца, вполне возможно.

🟢 Фан-стат, покажет какие имена используются под одним аккаунтом, а также группы и каналы в которых состоит, сообщения и увлечения.
➡️ Перейти

Сканеры криптокошельков, покажут реальный баланс и активы по адресу кошелька. Такие как tonscan (для toncoin), solscan (для solana) и тд.

Реакции ⚡️
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
Forwarded from Usman's Laboratory (ㅤㅤУсман [RU - ENG] 🇷🇺)
Скинуть все сканеры криптокошельков?
Anonymous Poll
75%
Да
25%
Нет, давай ""Автоматизацию задач""
👍1
Как в Python работает метод call() и когда его имеет смысл использовать?

Ответ ⬇️
Метод call() позволяет сделать объект вызываемым, то есть, работать с ним как с функцией. Этот метод можно добавить в любой класс, чтобы экземпляр класса можно было вызвать напрямую. Это полезно, когда класс выполняет одну основную задачу и может быть использован как замена функции, сохраняя при этом внутреннее состояние и структуру.

Пример использования ⚙️
class Multiplier:
def __init__(self, factor):
self.factor = factor

def __call__(self, value):
return value * self.factor

double = Multiplier(2)
print(double(5)) # 10
print(double(8)) # 16
2🔥2👍1
heapq.nlargest() и heapq.nsmallest()

В Python функции heapq.nlargest() и heapq.nsmallest() позволяют получить n наибольших или наименьших элементов из коллекции.
🔥3👍21
⚙️ functools.lru_cache

В Python декоратор functools.lru_cache кэширует результаты вызовов функции, что позволяет ускорить выполнение повторяющихся вычислений. Это удобно для оптимизации функций с дорогостоящими вычислениями.
🔥2👍1
функция vars() возвращает словарь атрибутов объекта или локальные переменные
🔥3👍2
PyOxidizer

PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.

Хотя есть варианты куда проще...
🔥21👍1
📌 Parallelizer — скрипт / утилита внутри python_utilities, который помогает запускать одну и ту же функцию в разных средах (локально, многопроцессно или на кластере через MPI) без изменения кода. То есть ты пишешь функцию “обычно”, а Parallelizer распределит задачи на worker’ы — в зависимости от окружения. 

👨‍💻 Пример использования:
from python_utilities.parallel import Parallelizer, make_data_iterator
from python_utilities.scripting import setup_logging

def process_item(item, constant=10):
    return item * constant

def main():
    setup_logging()
    data = list(range(100))
    par = Parallelizer(func=process_item, data=data, n_jobs=4)
    results = par.run()
    print(results)

if __name__ == "__main__":
    main()


📌 Что делает:
🟢 Унифицирует способы параллелизации: локально или распределённо
🟢 Не требует переписывания кода функций под “parallel” — простая обёртка
🟢 Подходит для обработки больших наборов данных или задач, которые можно распараллелить
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Forwarded from Usman's Laboratory (ㅤㅤАбу-Сулейман)
Я уже через 1-2 месяца (а мб быстрее) запущу свой web app в Telegram. 🏆

Подробности пока не раскрываю. 🔒

Но уже хочу знать, на какое количество спонсоров вы готовы подписаться при ОП (Обязательной Подписке)?

Есть варианта:

🟢 Добавить кучу (10+) обязательных подписок на спонсоров и сделать быстрые выплаты для юзеров.

Добавить минимальное количество спонсоров (2+), но тогда и выплаты юзерам будут реже.

ОП — это каналы, на которые нужно подписаться, чтобы получить доступ к приложению, боту или услуге. Без подписки вход будет закрыт. 👑
Please open Telegram to view this post
VIEW IN TELEGRAM
yt-downloader-multi — скрипт для скачивания видео и аудио с YouTube и других платформ массово

📱 Python 3.9+
ℹ️ Модули: yt-dlp, os, sys, ffmpeg — используется для скачивания и обработки медиафайлов.

📌 yt-downloader-multi — утилита командной строки, которая позволяет скачивать видео и аудио с YouTube (включая целые плейлисты) и сохранять их в указанную папку. Полезно для локального архива видео, оффлайн-просмотра и создания коллекций медиа.

👨‍💻 Пример использования:
yt-downloader-multi https://www.youtube.com/watch?v=VIDEO_ID --format mp3 --quality 192k

📌 Что делает:
🟢 Скачивает одиночные видео по ссылке
🟢 Скачивает все видео из плейлистов
🟢 Сохраняет контент в указанную папку, создавая её при необходимости
🟢 Поддерживает оффлайн-архивирование медиаконтента
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
import cv2
import numpy as np

def count_rectangles(image_path):
    img = cv2.imread(image_path)
    if img is None:
        return "Ошибка: не удалось загрузить изображение."

    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)
    edges = cv2.Canny(blurred, 50, 150)

    contours, _ = cv2.findContours(edges.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    rectangle_count = 0
    for cnt in contours:
        approx = cv2.approxPolyDP(cnt, 0.02 * cv2.arcLength(cnt, True), True)
        if len(approx) == 4 and cv2.contourArea(cnt) > 1000:
            rectangle_count += 1

    return rectangle_count

# Пример использования:
# print(count_rectangles('path_to_image.jpg'))


Эта функция ищет контуры, фильтрует те, что с 4 углами и достаточной площадью (чтобы игнорировать шумы), и считает их. Работает быстро и не грузит слабые ПК.
👍21
Вот минимальный каркас твоей программы на Tkinter, который показывает автозагрузку текущего пользователя из реестра Windows с кнопками «Снять с автозагрузки» и «Посмотреть в проводнике»:

import tkinter as tk
from tkinter import messagebox
import winreg
import os
import subprocess

class AutoStartupManager:
    def __init__(self, root):
        self.root = root
        self.root.title("Диспетчер автозагрузок")
        self.root.geometry("600x400")

        self.startup_items = []

        self.listbox = tk.Listbox(root, width=80)
        self.listbox.pack(padx=10, pady=10, fill=tk.BOTH, expand=True)

        btn_frame = tk.Frame(root)
        btn_frame.pack(pady=5)

        self.btn_disable = tk.Button(btn_frame, text="Снять с автозагрузки", command=self.disable_startup)
        self.btn_disable.pack(side=tk.LEFT, padx=10)

        self.btn_open = tk.Button(btn_frame, text="Посмотреть в проводнике", command=self.open_in_explorer)
        self.btn_open.pack(side=tk.LEFT, padx=10)

        self.load_startup_items()

    def load_startup_items(self):
        reg_path = r"Software\Microsoft\Windows\CurrentVersion\Run"
        try:
            key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, reg_path)
            i = 0
            while True:
                name, value, _ = winreg.EnumValue(key, i)
                self.startup_items.append((name, value))
                self.listbox.insert(tk.END, f"{name} — {value}")
                i += 1
        except OSError:
            pass

    def disable_startup(self):
        sel = self.listbox.curselection()
        if not sel:
            messagebox.showwarning("Ошибка", "Выберите элемент из списка.")
            return
        index = sel
        name, path = self.startup_items[index]
        reg_path = r"Software\Microsoft\Windows\CurrentVersion\Run"
        try:
            key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, reg_path, 0, winreg.KEY_SET_VALUE)
            winreg.DeleteValue(key, name)
            key.Close()
            self.listbox.delete(index)
            del self.startup_items[index]
            messagebox.showinfo("Успех", f"Программа '{name}' снята с автозагрузки.")
        except Exception as e:
            messagebox.showerror("Ошибка", f"Не удалось снять с автозагрузки:\n{e}")

    def open_in_explorer(self):
        sel = self.listbox.curselection()
        if not sel:
            messagebox.showwarning("Ошибка", "Выберите элемент из списка.")
            return
        index = sel
        name, path = self.startup_items[index]
        exe_path = path.strip('"').split(' ')
        if os.path.exists(exe_path):
            subprocess.Popen(f'explorer /select,"{exe_path}"')
        else:
            messagebox.showwarning("Ошибка", "Файл не найден.")

if __name__ == "__main__":
    root = tk.Tk()
    app = AutoStartupManager(root)
    root.mainloop()


————————

Как использовать:
⦁ Запусти скрипт на Windows.
⦁ Отобразится список автозагрузок текущего пользователя.
⦁ Выбери элемент и нажми нужную кнопку.
2👍2
Мб сделать архив в котором будут 100+ полезных готовых скриптов?
Anonymous Poll
86%
Да кнш
14%
Не интересно
🔥2👍1
📌 USBKill — это “kill switch” скрипт, который следит за USB-портами и если к компьютеру подключается устройство, не находящееся в белом списке, — выполняет заранее заданное действие: выключает систему, удаляет данные из оперативной памяти или swap-файл. Полезно, если нужно защититься от физического доступа злоумышленников.

👨‍💻 Пример (упрощённая логика):
import time
import subprocess

WHITELIST = ["Device1_ID", "Device2_ID"]
CHECK_INTERVAL = 1  # секунда

def list_usb_devices():
    # команда lsusb — показывает USB-устройства на Linux
    output = subprocess.check_output(["lsusb"]).decode()
    return output.splitlines()

def monitor():
    while True:
        devices = list_usb_devices()
        for d in devices:
            # простая проверка: если строка не содержит ни одного whitelist ID
            if all(w not in d for w in WHITELIST):
                # небелое устройство — активируем защиту
                print("Unknown USB device detected:", d)
                # Пример действия: выключить систему
                subprocess.call(["shutdown", "now", "-h"])
                return
        time.sleep(CHECK_INTERVAL)

if __name__ == "__main__":
    monitor()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
📌 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)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
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)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👏1
📌 py-Reconic — утилита, которая принимает диапазон сети или отдельный подсеть (CIDR), выполняет обнаружение активных хостов, сканирование открытых портов и сохраняет результаты в удобном формате (JSON/CSV). Идеально, если хочешь быстро инвентаризировать локальную сеть, выявить “присутствие” устройств и подготовить первоначальный план аудита или автоматизации.

👨‍💻 Пример кода (логика):
from reconic import Reconic

r = Reconic(network="192.168.1.0/24")
hosts = r.discover()
r.scan_ports(hosts, ports=[22,80,443])
r.save("netmap.json")


📌Что делает:
🟢 Обнаруживает живые устройства в указанной подсети
🟢 Выполняет порт-сканирование для заданного списка портов (по умолчанию часто используемых)
🟢 Составляет структурированный результат (например, JSON или CSV)
🟢 Позволяет быстро получить “карту” сети и вести инвентаризацию устройств
🟢 Упрощает стартовую фазу автоматизации безопасности или сетевого аудита
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2👏1
Дуров запускает децентрализованный майнинг для ИИ — Cocoon

Павел Дуров представил Cocoon — сеть, которая может изменить рынок искусственного интеллекта. Это децентрализованная платформа, где нейросети обучаются не в дата-центрах Amazon и Google, а на видеокартах обычных пользователей.

Каждый сможет подключить свой GPU, внести вклад в работу ИИ и получать вознаграждение в TON, токене Telegram-экосистемы. Без посредников, без утечек данных, с полным контролем и приватностью со стороны участников.

Cocoon решает сразу три проблемы индустрии:
• убирает зависимость от гигантов вроде Nvidia и AWS.

• дает вторую жизнь майнингу — теперь зарабатывают не на пустых хэшах, а на вычислениях с реальной пользой.

• превращает Telegram и TON в крупнейшую массовую крипто-экосистему.
🔥1
Forwarded from Crypto MONITORING
💵 🔤🔤🔤 🔤🔤🔤🔤🔤🔤
Бот 👇👇👇
😳 LUX MARKET

0.1 аккаунта за реферала 🙀
10 рефералов = 1 аккаунт 🙀

Забери 1️⃣ 🔤🔤🔤🔤🔤🔤🔤
🔤🔤🔤🔤🔤🔤🔤🔤🔤

Есть канал выплат
Администратор указан в боте
Проверено

🔜 LUX MARKET
Please open Telegram to view this post
VIEW IN TELEGRAM
2