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

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

pytube

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

📌 Особенности библиотеки:
🟢 Простота использования — интуитивно понятный интерфейс для скачивания видео и аудио.
🟢 Поддержка субтитров — возможность загрузки субтитров в формате .srt.
🟢 Получение миниатюр — легкий доступ к URL-адресам миниатюр видео.
🟢 Отсутствие сторонних зависимостей — не требует установки дополнительных пакетов.
🟢 Поддержка прогрессивных и DASH-потоков — скачивайте видео и аудио в различных качествах.
🟢 Загрузка целых плейлистов — скачивайте все видео из плейлиста с помощью одной команды.
🟢 Обработка событий — настройка обратных вызовов для отслеживания прогресса загрузки и завершения процесса.


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


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

#библиотеки

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

FastText-aligned

📌 FastText-aligned — расширение для библиотеки fastText, которое позволяет подгонять (align) эмбеддинги из одной языковой модели к эмбедингам другой так, чтобы они были совместимыми в одном векторном пространстве. Это особенно полезно при работе с мультиязычными моделями, когда эмбеддинги с разных языков или доменов нужно сравнивать напрямую.

📌 Особенности библиотеки:
🟢 Поддержка подгонки (alignment) методом Procrustes, Orthogonal Procrustes и др.
🟢 Совместимость с эмбедингами fastText (бинарные и текстовые форматы).
🟢 API, похожий на оригинальный fastText: load_model, align_to, get_vector.
🟢 Работает как вспомогательный инструмент, легко интегрируется в NLP-пайплайны, например для кроссъязыковых задач.


⚙️ Установка:
pip install fasttext-aligned


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

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
Google Image Downloader — скрипт, который скачивает изображения с Google по заданному поисковому запросу

📱 Python 3.x
ℹ️ Модули: requests, os, re, urllib.parse, bs4 (BeautifulSoup) — используется HTTP-запросы к Google Images, HTML-парсинг ссылок и загрузка файлов.

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

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

def download_images(query, num_images=10, dest_folder="images"):
os.makedirs(dest_folder, exist_ok=True)
search_url = f"https://www.google.com/search?tbm=isch&q={query}"
headers = {"User-Agent": "Mozilla/5.0"}
resp = requests.get(search_url, headers=headers)
soup = BeautifulSoup(resp.text, "html.parser")
img_tags = soup.find_all("img")
count = 0
for img in img_tags:
img_url = img.get("src")
if not img_url:
continue
parsed = urlparse(img_url)
ext = os.path.splitext(parsed.path)[1]
if ext.lower() not in [".jpg", ".png", ".jpeg"]:
continue
filename = f"{query}_{count}{ext}"
filepath = os.path.join(dest_folder, filename)
try:
img_data = requests.get(img_url, timeout=5).content
with open(filepath, "wb") as f:
f.write(img_data)
print("Downloaded:", filename)
count += 1
if count >= num_images:
break
except Exception as e:
print("Error:", e)
continue

if __name__ == "__main__":
download_images("sunset", num_images=5)


📌 Что делает:
🟢 Делает запрос Google Images с ключевым словом
🟢 Парсит HTML и находит теги <img>
🟢 Отбирает ссылки с допустимыми расширениями
🟢 Скачивает изображения и сохраняет в папку, пока не наберёт нужное число


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

#скрипты

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

TabPFN

📌 TabPFN — библиотека / модель машинного обучения, специализирующаяся на табличных данных. Это “foundation model” для табличных задач: классификация и регрессия на небольших и средних наборах данных. Модель уже обучена заранее и может давать полезные предсказания “из коробки”, особенно когда данных не много.

📌 Особенности библиотеки:
🟢 Работает без необходимости обучать модель с нуля — готова к применению на новых табличных данных.
🟢 Использует трансформерный подход, обученный на синтетических данных, чтобы понимать паттерны в табличных данных.
🟢 Поддерживает как классификацию, так и регрессию.
🟢 Подходит для “малых данных”, когда классические deep learning методы часто переобучаются.
🟢 Открытая лицензия Apache-2.0, исходники на GitHub, пакет доступен на PyPI.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3
hseera/python-utilities — скрипты для автоматизации повседневных задач и обработки данных

📱 Python 3.x
ℹ️ Модули: разные в зависимости от утилиты — os, csv, json, argparse и др.

📌 hseera/python-utilities - набор утилит для обработки файлов, сортировки данных, анализа логов, преобразования CSV/JSON и др. Cкрипты небольшие, легко интегрируемые, не завязаны на большой фреймворк.

👨‍💻 Пример одного скрипта — Merge Files Column (из репо):
import os
import csv
import argparse

def merge_columns(input_files, output_file, column_index):
with open(output_file, 'w', newline='', encoding='utf-8') as out:
writer = csv.writer(out)
for infile in input_files:
with open(infile, newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
if len(row) > column_index:
writer.writerow([row[column_index]])
else:
writer.writerow([''])
print("Merged into", output_file)

if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('inputs', nargs='+', help='Input CSV files')
parser.add_argument('-o', '--output', required=True, help='Output file')
parser.add_argument('-c', '--col', type=int, default=0, help='Column index to merge')
args = parser.parse_args()
merge_columns(args.inputs, args.output, args.col)


📌 Что делает:
🟢 Читает несколько CSV файлов
🟢 Выбирает одну колонку (индекс) из каждой строки
🟢 Объединяет эти колонки в один выходной файл
🟢 Полезно при аналитике, когда нужно “собрать” один показатель из разных источников


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

#скрипты

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

Plotnine

📌 Plotnine — библиотека для создания статистических визуализаций в Python, основанная на принципах "grammar of graphics", заимствованных из R-пакета ggplot2. Она предоставляет декларативный и мощный способ создания графиков, позволяя пользователю сосредоточиться на данных и их представлении, а не на технических деталях построения графиков.

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


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍3
Internet Connectivity Monitor

📱 Python 3.x
ℹ️ Модули: subprocess, time, csv, возможно datetime — скрипт периодически пингует выбранный IP/хост и логирует статус и задержки.

📌 Internet Connectivity Monitor — утилита, которая следит за стабильностью интернет-подключения: пингует указанный хост/сервер с заданным интервалом и записывает в CSV лог с временными метками, статусом “online” или “outage” и задержкой (ms). Подходит, если хочешь видеть периоды провалов связи.

👨‍💻 Пример кода (упрощённый вариант):
import subprocess
import time
import csv
from datetime import datetime

HOST = "8.8.8.8"
INTERVAL = 60 # секунда
LOG_FILE = "connectivity_log.csv"

def ping(host):
# ping для Linux/macOS; под Windows может быть другой ключ
result = subprocess.run(["ping", "-c", "1", host], capture_output=True)
return result.returncode == 0, result

def log_status(timestamp, status, latency):
with open(LOG_FILE, "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([timestamp, status, latency])

def extract_latency(output):
# пробуем парсить строку ping-ответа
out = output.decode('utf-8', errors='ignore')
# строка вида: time=12.345 ms
for part in out.split():
if part.startswith("time="):
try:
return float(part.split("=")[1])
except:
pass
return None

def main():
# заголовок CSV, если файл новый
try:
with open(LOG_FILE, "x") as f:
writer = csv.writer(f)
writer.writerow(["timestamp", "status", "latency_ms"])
except FileExistsError:
pass

while True:
ts = datetime.now().isoformat()
ok, res = ping(HOST)
latency = None
if ok:
latency = extract_latency(res.stdout)
status = "online"
else:
status = "outage"
log_status(ts, status, latency)
print(f"{ts} — {status} — {latency}")
time.sleep(INTERVAL)

if name == "__main__":
main()


📌 Что делает:
🟢 Пингует указанный хост (по умолчанию 8.8.8.8) с интервалом
🟢 Определяет, отвечает ли хост (если нет — “outage”)
🟢 Если ответ — парсит задержку (ms)
🟢 Записывает лог в формате CSV: временная метка, статус, задержка
🟢 Выводит в консоль текущее состояние


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

#скрипты

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

rembg

📌 rembg — библиотека для удаления фона из изображений (background removal) с помощью нейросетевых моделей. Отличный инструмент, если нужно автоматически “вырезать” объект и сделать фон прозрачным — например, для продуктов, портретов, дизайна.

📌 Особенности библиотеки:
🟢 Использует предобученные модели — не нужно самому тренить что-то тяжелое
🟢 Работает быстро: может обрабатывать отдельные изображения или батчами
🟢 Поддерживает разные форматы изображений (PNG, JPG и др.)
🟢 Может быть использована в скриптах, приложениях или на сервере
🟢 Легко интегрируется с PIL/Pillow или OpenCV


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
USBKill — скрипт-защита от несанкционированных USB-устройств

📱 Python 3.x
ℹ️ Модули: использует стандартные библиотеки os, subprocess, time и работу с устройствами USB в UNIX-подобных системах.

📌 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()


📌 Что делает:
🟢 Мониторит список USB-устройств
🟢 Сравнивает с белым списком
🟢 При обнаружении “чужого” устройства — выполняет “жёсткое” действие (shutdown, удаление, очистка)
🟢 Полезен как антифизическая защита при чувствительных данных


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

#скрипты

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

HOTTBOX

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

📌 Особенности библиотеки:
🟢 Поддержка операций над тензорами: умножения, срезы, перестановки, транспонирование и др.
🟢 Алгоритмы декомпозиции тензоров: CP, Tucker и др.
🟢 Методы для многоклассовой классификации и объединения данных на основе тензорных представлений — например, Support Tensor Machine и Tensor Ensemble Learning
🟢 API, упрощающий интеграцию с другими библиотеками научного стека (NumPy, SciPy и др.)
🟢 Встроенные инструменты визуализации тензоров и их разложения — помогает лучше понять структуру данных и результаты анализа
🟢 Сконцентрирована на масштабируемости и интерактивном использовании (например в Jupyter)


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥3
Image to PDF Converter

📱 Python 3.x
ℹ️ Модули: Pillow (PIL) и os — используется для обработки изображений и работы с файловой системой.

📌 Image to PDF Converter — утилита, которая берёт изображения из заданной папки, подгоняет их под нужный формат/размер (например, A4), и объединяет в один PDF-документ. Удобно, если у тебя есть множество JPG/PNG, и ты хочешь получить единый PDF без сторонних инструментов.

👨‍💻 Пример кода (адаптированная логика):
from PIL import Image
import os

def images_to_pdf(img_folder, output_pdf_path, paper_size=(595, 842)):
# paper_size в пунктах — примерно A4 (в зависимости от DPI)
imgs = []
for fname in sorted(os.listdir(img_folder)):
if fname.lower().endswith(('.png', '.jpg', '.jpeg')):
img_path = os.path.join(img_folder, fname)
img = Image.open(img_path).convert('RGB')
img = img.resize(paper_size) # подгонка под формат
imgs.append(img)
if not imgs:
print("Нет изображений для конвертации")
return
first, rest = imgs[0], imgs[1:]
first.save(output_pdf_path, save_all=True, append_images=rest)
print(f"Создан PDF: {output_pdf_path}")

if __name__ == "__main__":
images_to_pdf("input_images", "out.pdf")


📌 Что делает:
🟢 Сканирует папку с изображениями (JPG, PNG и др.)
🟢 Подгоняет каждый кадр под заданный размер (например, формат страницы)
🟢 Объединяет все изображения в один PDF-файл
🟢 Сохраняет PDF с указанным именем


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

#скрипт

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

nselib

📌 nselib — библиотека для получения открытых данных с сайта биржи NSE (National Stock Exchange of India). С её помощью можно автоматически загружать котировки акций, данные о торговых объёмах, позиции по доставке, списки акций и многое другое.

📌 Особенности библиотеки:
🟢 Работает с Python 3.8+ — совместимость гарантируется.
🟢 Зависимости: requests, beautifulsoup, numpy, scipy, pandas, lxml и др.
🟢 Лёгкий старт: установка одной командой, изучение функций быстрое благодаря хорошему списку API.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
ransomwareDetection-Tool — скрипт, который следит за подозрительной активностью файловой системы

📱 Python 3.x
ℹ️ Модули: watchdog (для отслеживания изменений в папке), os, time, logging и др.

📌 ransomwareDetection-Tool — утилита командной строки, в которую указываешь папку на компьютере, и скрипт отслеживает события: создание, изменение, удаление файлов. Если активность “необычная” (например, много файлов стали изменяться/удаляться быстро), печатает предупреждение и логирует всё в файл. Полезно для домашнего уровня-защиты или мониторинга важных директорий.

👨‍💻 Пример кода (адаптация из main.py):
import time
import os
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class RansomwareHandler(FileSystemEventHandler):
def __init__(self):
self.modified_files = set()
self.deleted_files = set()

def on_modified(self, event):
if not event.is_directory:
self.modified_files.add(event.src_path)
print("Modified:", event.src_path)

def on_deleted(self, event):
if not event.is_directory:
self.deleted_files.add(event.src_path)
print("Deleted:", event.src_path)

def monitor(path_to_watch, check_interval=10):
event_handler = RansomwareHandler()
observer = Observer()
observer.schedule(event_handler, path=path_to_watch, recursive=True)
observer.start()
try:
while True:
time.sleep(check_interval)
# Простая логика: если за интервал изменилось или удалилось слишком много файлов
if len(event_handler.modified_files) > 100 or len(event_handler.deleted_files) > 10:
print("Warning: Potential ransomware activity detected!")
# Можно логировать события
event_handler.modified_files.clear()
event_handler.deleted_files.clear()
except KeyboardInterrupt:
observer.stop()
observer.join()

if name == "__main__":
path = "/path/to/watch"
monitor(path, check_interval=10)


📌 Что делает:
🟢 Мониторит указанную директорию на события изменения и удаления файлов
🟢 Логирует эти события в консоль и файл (например ransomware_detection.log)
🟢 Периодически проверяется, если много изменений/удалений — вывод предупреждения о потенциальной атаке


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

#скрипты

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

glasbey

📌 glasbey — библиотека для алгоритмической генерации цветовых палитр (categorical palettes), особенно полезных когда у тебя есть много категорий и ты хочешь, чтобы каждая категория была визуально отличимой.

📌 Особенности библиотеки:
🟢 Можно создавать палитры с произвольным количеством цветов: glasbey.create_palette(palette_size=15) — и цвета будут стараться быть максимально отличимыми визуально.
🟢 Можно расширять существующие палитры, или “с нуля” задавать seed цвета, чтобы новая палитра дополняла прежнюю (чтобы цвета не пересекались сильно).
🟢 Поддержка ограничений: можно задавать границы яркости, хромности (chroma), чтобы цвета не были слишком яркими или слишком блеклыми.
🟢 Можно создавать “блочные” палитры — когда есть иерархии категорий, вложенные группы.
🟢 Легко использовать в связке с matplotlib / seaborn и др. визуализациями — просто генерируешь цвета и передаёшь библиотеке визуализации.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4
Forwarded from Python_Scripts
CompressImages.py — скрипт для пакетной обработки изображений: сжатия и изменения размера

📱 Python 3.x
ℹ️ Модули: PIL (Pillow), os, sys, argparse — используется для обработки изображения и работы с файловой системой.

📌 CompressImages.py — утилита, которую запускаешь в папке с изображениями (или указываешь исходную папку), скрипт изменяет размер изображений до заданных лимитов (максимальная ширина/высота), сжимает качество (JPEG или др.), переименовывает по шаблону, и сохраняет в output-папку. Полезно, когда надо оптимизировать папки с фотографиями, иконками, медиа-контентом.

👨‍💻 Пример кода (адаптация из CompressImages.py):
import os
import sys
from PIL import Image
from argparse import ArgumentParser

def process_images(input_dir, output_dir, max_width, max_height, quality=70, rename_template=None):
os.makedirs(output_dir, exist_ok=True)
count = 0
for fname in os.listdir(input_dir):
if fname.lower().endswith(('.jpg', '.jpeg', '.png')):
path = os.path.join(input_dir, fname)
img = Image.open(path)
# изменение размера с сохранением пропорций
img.thumbnail((max_width, max_height))
base_name, ext = os.path.splitext(fname)
if rename_template:
out_name = rename_template.replace("{count}", str(count)) + ext
else:
out_name = fname
out_path = os.path.join(output_dir, out_name)
img.save(out_path, quality=quality)
print(f"Saved: {out_path}")
count += 1

def main():
parser = ArgumentParser()
parser.add_argument("input_dir")
parser.add_argument("output_dir")
parser.add_argument("--max_width", type=int, default=800)
parser.add_argument("--max_height", type=int, default=600)
parser.add_argument("--quality", type=int, default=70)
parser.add_argument("--rename", help="template, e.g. img_{count}")
args = parser.parse_args()
process_images(args.input_dir, args.output_dir, args.max_width, args.max_height, args.quality, args.rename)

if name == "__main__":
main()


📌 Что делает:
🟢 Идёт по всем изображениям в папке с разрешениями .jpg, .jpeg, .png
🟢 Изменяет их размер до заданных максимальных ширины/высоты, сохраняя пропорции
🟢 Сжимает качество (для JPG например), чтобы уменьшить размер файлов
🟢 Опционально переименовывает файлы по шаблону с номером
🟢 Сохраняет всё в выходную папку, чтобы не перезаписывать оригиналы


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

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86
🔥 Полезные библиотеки 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