💾 Dynaconf
🔍 Особенности:
🔒 Упрощает безопасную работу с настройками
🧩 Идеален для приложений с разными режимами (dev/test/prod)
📦 Мощнее .env, но так же прост в использовании
🎯 Применим и в скриптах, и в микросервисах
⚙️ Установка 👇👇👇
pip install dynaconf
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤2🥰1👏1🤩1
✔ Диагностика “почему тормозит ноутбук”
✔ Анализ фона: какие приложения грузят процессор
✔ Оптимизация работы при автономной работе (ноут, сервер)
✔ Визуализация профиля потребления во времени
import psutil
import time
import matplotlib.pyplot as plt
cpu_usage = []
power_usage = []
timestamps = []
print("📊 Мониторинг запущен (Ctrl+C для завершения)")
try:
start = time.time()
while True:
cpu = psutil.cpu_percent(interval=1)
mem = psutil.virtual_memory().percent
disk = psutil.disk_io_counters().read_bytes + psutil.disk_io_counters().write_bytes
net = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
# Примерная модель энергопотребления (непрямая)
power = 0.5 * cpu + 0.3 * mem + 0.000001 * (disk + net)
timestamp = round(time.time() - start, 1)
timestamps.append(timestamp)
cpu_usage.append(cpu)
power_usage.append(power)
print(f"{timestamp}s ⏱️ CPU: {cpu}% | Mem: {mem}% | Power: ~{round(power, 2)}")
except KeyboardInterrupt:
print("🛑 Мониторинг завершён.")
# График энергопотребления
plt.figure(figsize=(10, 5))
plt.plot(timestamps, power_usage, label="Оценка энергопотребления")
plt.xlabel("Время (сек)")
plt.ylabel("Относительная нагрузка")
plt.title("⚡ Профиль энергопотребления")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.savefig("power_profile.png")
print("📈 График сохранён: power_profile.png")
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6❤2🔥2😁1
💾 Sounddevice
🔍 Особенности:
🎧 Позволяет делать голосовых ботов, анализаторов речи
🎙 Работает прямо с NumPy — удобно для ML и DSP
📦 Простая интеграция с soundfile, wave, scipy
🛠 Идеально для создания диктофонов, обработчиков, плееров
⚙️ Установка 👇👇👇
pip install sounddevice
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5❤2🥰1
Azon-main.zip
595 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: flask
📂 База данных: postgresql
Магазин также имеет RESTful API.
🛠️Функционал:
- Удобный интерфейс : чистый и интуитивно понятный дизайн, который делает онлайн-покупки легкими и приятными.
- Безопасные транзакции : повышенная безопасность с аутентификацией JWT для защиты данных пользователей.
- Управление продуктами : простое создание, обновление и удаление продуктов и магазинов.
- Управление магазинами : управление несколькими магазинами с подробной информацией и изображениями.
- Геокодирование : интеграция с API Яндекс.Карт для поиска мест.
- Доступ к API : расширенный API для программного взаимодействия с платформой.
#web
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤11👍5
✔ Определить, что занимает диск
✔ Очистка ненужного (например, временные папки)
✔ Анализ по категориям (если доработать)
✔ Быстрый обзор на уровне пользователя или сервера
import os
import matplotlib.pyplot as plt
def get_folder_size(path):
total = 0
for dirpath, dirnames, filenames in os.walk(path):
for f in filenames:
try:
fp = os.path.join(dirpath, f)
total += os.path.getsize(fp)
except:
pass
return total
def scan_directory(path, depth=1):
items = []
for item in os.listdir(path):
full_path = os.path.join(path, item)
if os.path.isdir(full_path):
size = get_folder_size(full_path)
else:
size = os.path.getsize(full_path)
items.append((item, size))
items.sort(key=lambda x: -x[1])
return items
def visualize_pie(path):
print(f"🔍 Анализ папки: {path}")
items = scan_directory(path)
labels = [name if size > 10**6 else '' for name, size in items[:10]]
sizes = [size for _, size in items[:10]]
plt.figure(figsize=(8, 8))
plt.pie(sizes, labels=labels, autopct=lambda p: f'{p:.1f}%' if p > 3 else '', startangle=140)
plt.title("📁 Использование пространства (топ 10)")
plt.axis('equal')
plt.tight_layout()
plt.savefig("folder_usage.png")
print("📊 График сохранён: folder_usage.png")
# Пример использования
visualize_pie("C:/Users/YourName/Downloads") # или "." — текущая папка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6
🚀 Полезные библиотеки Python
💾 PyAV
📌 Библиотека Python-интерфейс к мощной библиотеке FFmpeg, позволяющий захватывать, обрабатывать, кодировать и сохранять аудио/видеопотоки. Работает с камерами, файлами, стримами.
🔍 Особенности:
🎬 Полный контроль над потоками: можно построить свой OBS
📷 Поддержка захвата с камеры, микрофона, стримов
🧠 Интеграция с NumPy, OpenCV, PIL
📦 Подходит для видеосерверов, обработки, кастомных видеоустройств
⚙️ Установка 👇👇👇
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 PyAV
📌 Библиотека Python-интерфейс к мощной библиотеке FFmpeg, позволяющий захватывать, обрабатывать, кодировать и сохранять аудио/видеопотоки. Работает с камерами, файлами, стримами.
🔍 Особенности:
🎬 Полный контроль над потоками: можно построить свой OBS
📷 Поддержка захвата с камеры, микрофона, стримов
🧠 Интеграция с NumPy, OpenCV, PIL
📦 Подходит для видеосерверов, обработки, кастомных видеоустройств
⚙️ Установка 👇👇👇
pip install av
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
🔥8❤3👍1
destructor_smoke_bot-main.zip
232.5 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram
📂 База данных: mongoDB
Особенности:
📅 Отслеживает количество дней без курения
💰 Подсчитывает общую сэкономленную сумму
📊 Показывает визуальную шкалу прогресса на пути к 90-дневному рубежу
🔘 Встроенная кнопка для мгновенного доступа к/stats
🧘♂️ Простая локальная логика — требуется база данных mongo
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍8😁3🔥1👏1
✔ Извлечение данных из банковских выписок, чеков, актов, счетов
✔ Автоматизация учёта в малом бизнесе
✔ Быстрая оцифровка бумажных документов
✔ Системы документооборота и бэкапов
import pdfplumber
import pandas as pd
import os
PDF_PATH = "sample_invoice.pdf"
def extract_tables(pdf_path):
dataframes = []
with pdfplumber.open(pdf_path) as pdf:
for i, page in enumerate(pdf.pages):
tables = page.extract_tables()
for table in tables:
df = pd.DataFrame(table[1:], columns=table[0])
dataframes.append(df)
return dataframes
tables = extract_tables(PDF_PATH)
# Сохраняем первую таблицу
if tables:
output_file = "invoice_data.csv"
tables[0].to_csv(output_file, index=False)
print(f"✅ Данные извлечены и сохранены в {output_file}")
else:
print("⚠️ Таблиц не найдено в PDF")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5❤1
🚀 Полезные библиотеки Python
💾 Aiortc
📌 Библиотека Python для реализации WebRTC (реального времени стриминга видео и аудио). Она позволяет передавать видеопотоки (например, с камеры) прямо в браузер, использовать P2P, делать видеочаты, стриминг и прочее.
🔍 Особенности:
📡 Ты можешь сделать свою Zoom-альтернативу
📷 Передача видео с камеры в браузер — без сторонних сервисов
🎯 Подходит для real-time мониторинга, робототехники, AR
📦 Идеально для локальных видеосерверов и проектов без OBS/WebRTC-сервисов
⚙️ Установка 👇👇👇
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Aiortc
📌 Библиотека Python для реализации WebRTC (реального времени стриминга видео и аудио). Она позволяет передавать видеопотоки (например, с камеры) прямо в браузер, использовать P2P, делать видеочаты, стриминг и прочее.
🔍 Особенности:
📡 Ты можешь сделать свою Zoom-альтернативу
📷 Передача видео с камеры в браузер — без сторонних сервисов
🎯 Подходит для real-time мониторинга, робототехники, AR
📦 Идеально для локальных видеосерверов и проектов без OBS/WebRTC-сервисов
⚙️ Установка 👇👇👇
pip install aiortc opencv-python
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
🔥7❤4👍2
ai_tgBot-main.zip
13.8 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, mistralai
📂 База данных: aiosqlite
Реализована система премиум подписки для пользователей через Telegram Stars и Redis.
Возможности:
- Ответы на вопросы с глубоким контекстом
- Генерация текста по запросам
- Генерация изображений
- Анализ изображений (текст на фото)
- Обработка LaTeX выражений
- Интеллектуальный анализ информации
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
✔ Архив договоров, счетов, нормативных актов
✔ Научная литература, статьи, книги
✔ Юридические базы, HR-документы
✔ Всё, где есть десятки или сотни PDF-ов
import os
import pdfplumber
from whoosh import index
from whoosh.fields import Schema, TEXT, ID
from whoosh.qparser import QueryParser
PDF_DIR = "pdfs"
INDEX_DIR = "indexdir"
# 1. Схема индекса
schema = Schema(title=ID(stored=True), content=TEXT)
# 2. Создание/очистка индекса
if not os.path.exists(INDEX_DIR):
os.mkdir(INDEX_DIR)
ix = index.create_in(INDEX_DIR, schema)
else:
ix = index.open_dir(INDEX_DIR)
# 3. Индексация PDF-файлов
writer = ix.writer()
for filename in os.listdir(PDF_DIR):
if filename.endswith(".pdf"):
path = os.path.join(PDF_DIR, filename)
try:
with pdfplumber.open(path) as pdf:
text = "\n".join(page.extract_text() or "" for page in pdf.pages)
writer.add_document(title=filename, content=text)
print(f"✅ Индексирован: {filename}")
except Exception as e:
print(f"⚠️ Проблема с {filename}: {e}")
writer.commit()
# 4. Поиск
search_query = input("🔍 Поисковый запрос: ")
with ix.searcher() as searcher:
parser = QueryParser("content", ix.schema)
query = parser.parse(search_query)
results = searcher.search(query, limit=10)
if results:
print("🔎 Найдено в файлах:")
for r in results:
print("—", r["title"])
else:
print("🙁 Ничего не найдено.")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤6
🚀 Полезные библиотеки Python
💾 Dearpygui
📌 Библиотека Python для создания десктопных GUI-приложений на Python, использующая GPU (OpenGL) для рендеринга. Подходит для визуализации данных, инструментов, редакторов, панелей управления.
🔍 Особенности:
🎮 Можно создавать нативные утилиты, редакторы, панельки
⚡ Аппаратное ускорение — интерфейс не лагает даже с графикой
🛠 Простой и быстрый запуск — идеально для прототипов и MVP
🎯 Подходит для визуализации ML, графов, UI для роботов и инструментов
⚙️ Установка 👇👇👇
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Dearpygui
📌 Библиотека Python для создания десктопных GUI-приложений на Python, использующая GPU (OpenGL) для рендеринга. Подходит для визуализации данных, инструментов, редакторов, панелей управления.
🔍 Особенности:
🎮 Можно создавать нативные утилиты, редакторы, панельки
⚡ Аппаратное ускорение — интерфейс не лагает даже с графикой
🛠 Простой и быстрый запуск — идеально для прототипов и MVP
🎯 Подходит для визуализации ML, графов, UI для роботов и инструментов
⚙️ Установка 👇👇👇
pip install dearpygui
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
1👍7❤3🔥1🎉1
Project_3-main.zip
31.8 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, google-auth
📂 База данных: aiosqlite
Бот позволяет пользователям выполнять базовые операции с календарем непосредственно из Telegram, включая просмотр событий на ближайшую неделю, создание новых событий и удаление существующих.
Проект включает в себя функционал для администраторов, такой как рассылка сообщений всем пользователям и просмотр статистики использования бота.
Бот поддерживает многоязычность и использует базу данных для хранения информации о пользователях и статистике.
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤2
Единственный канал где делимся готовыми скриптами на Python 🚀 по крипто тематике абсолютно бесплатно 💸 :
👇👇👇
- Никакой воды🚀
- Алготрейдинг🤖
- Работа с API бирж, агрегаторов💻
- Автоматизации📈
Подпишись и пользуйся -> Crypto Python
👇👇👇
- Никакой воды
- Алготрейдинг
- Работа с API бирж, агрегаторов
- Автоматизации
Подпишись и пользуйся -> Crypto Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
-Node.js и Cordova
npm install -g cordova
- Android SDK (например, через Android Studio или sdkmanager)
- Python 3
import os
import subprocess
import shutil
PROJECT_NAME = "webapk"
INDEX_HTML_PATH = "my_web/index.html" # твой HTML
OUTPUT_DIR = os.path.abspath("output_apk")
def run(cmd):
print(f"▶ {cmd}")
subprocess.run(cmd, shell=True, check=True)
def main():
if os.path.exists(PROJECT_NAME):
shutil.rmtree(PROJECT_NAME)
print("📦 Создаём Cordova-проект...")
run(f"cordova create {PROJECT_NAME} com.example.webapk WebApp")
os.chdir(PROJECT_NAME)
print("➕ Добавляем Android-платформу...")
run("cordova platform add android")
print("📁 Копируем HTML-файлы...")
shutil.copyfile(os.path.abspath(INDEX_HTML_PATH), "www/index.html")
print("🔧 Собираем APK...")
run("cordova build android")
apk_path = os.path.join("platforms", "android", "app", "build", "outputs", "apk", "debug", "app-debug.apk")
os.makedirs(OUTPUT_DIR, exist_ok=True)
shutil.copy(apk_path, os.path.join(OUTPUT_DIR, "webapp.apk"))
print(f"\n✅ Готово! APK: {os.path.join(OUTPUT_DIR, 'webapp.apk')}")
if name == "main":
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍7🤩3
🚀 Полезные библиотеки Python
💾 Arcade
📌 Библиотека Python для создания 2D-приложений: игр, визуализаций, симуляторов и даже GUI-интерфейсов. В отличие от pygame, она современнее, проще и поддерживает OpenGL-ускорение из коробки.
🔍 Особенности:
🎨 Прекрасно подходит для обучения, визуализации и творчества
🧠 Простая структура: минимальный код — максимум графики
⚡ Работает быстро благодаря OpenGL
🎮 Можно сделать игру, редактор, визуальную панель или демонстрацию
⚙️ Установка 👇👇👇
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Arcade
📌 Библиотека Python для создания 2D-приложений: игр, визуализаций, симуляторов и даже GUI-интерфейсов. В отличие от pygame, она современнее, проще и поддерживает OpenGL-ускорение из коробки.
🔍 Особенности:
🎨 Прекрасно подходит для обучения, визуализации и творчества
🧠 Простая структура: минимальный код — максимум графики
⚡ Работает быстро благодаря OpenGL
🎮 Можно сделать игру, редактор, визуальную панель или демонстрацию
⚙️ Установка 👇👇👇
pip install arcade
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
🔥8❤4👍1
Youtube-Parser-main.zip
10 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: google-api-python-client
📂 База данных: -
Ключевые особенности:
- Ротация API-ключей: Автоматически переключается между несколькими API-ключами при исчерпании квоты одного из них.
- Сохранение состояния: Скрипт запоминает, на каком ключевом слове остановился, и при перезапуске продолжает с того же места.
- Кэширование запросов: Повторные запросы с одинаковыми параметрами берутся из локального кэша, экономя драгоценные единицы квоты API.
- Отказоустойчивость: Встроены механизмы повторных попыток (retry) при сетевых сбоях и ошибках API.
- Пакетная запись: Результаты сохраняются порциями (батчами), чтобы не потерять данные при внезапном сбое.
- Интеграция с Google Sheets: Удобное управление входными данными и просмотр результатов прямо в таблице.
- Гибкая конфигурация: Все параметры (ключи, ID таблиц, настройки поиска) вынесены в .env файл.
Спроектирован для длительной работы и устойчивости к ошибкам.
#youtube
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤11👍9
✔ Проверка, кто подключен к Wi-Fi
✔ Поиск "левых" устройств в сети
✔ Детектирование ARP-spoofing / MITM
✔ Базовая защита домашней или офисной сети
from scapy.all import ARP, Ether, srp
import time
def scan(ip_range="192.168.1.0/24"):
print(f"📡 Сканирование сети {ip_range}...")
arp = ARP(pdst=ip_range)
ether = Ether(dst="ff:ff:ff:ff:ff:ff")
packet = ether / arp
result = srp(packet, timeout=3, verbose=0)[0]
devices = []
for sent, received in result:
devices.append({'ip': received.psrc, 'mac': received.hwsrc})
return devices
def print_devices(devices):
print("💻 Обнаруженные устройства:")
for d in devices:
print(f"{d['ip']} ➜ {d['mac']}")
def detect_spoof(devices):
macs = {}
for dev in devices:
if dev['mac'] in macs:
print("⚠️ Возможный ARP-спуфинг!")
print(f"IP-адреса {macs[dev['mac']]} и {dev['ip']} имеют одинаковый MAC: {dev['mac']}")
else:
macs[dev['mac']] = dev['ip']
if __name__ == "__main__":
while True:
devs = scan()
print_devices(devs)
detect_spoof(devs)
print("⏳ Следующий цикл через 30 секунд...\n")
time.sleep(30)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥6
🚀 Полезные библиотеки Python
💾 Pluggy
📌 Библиотека Python для создания гибкой плагин-архитектуры. Если ты хочешь, чтобы к твоему проекту можно было легко подключать сторонние модули (как плагины в pytest, tox, black), — pluggy делает это максимально просто и надёжно.
🔍 Особенности:
🔌 Легко добавить расширяемость к любому проекту
🧠 Отлично подходит для CLI, API, фреймворков, генераторов кода
🧱 Используется в индустриальных open-source проектах
🎯 Делает архитектуру твоего кода чище и гибче
⚙️ Установка 👇👇👇
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Pluggy
📌 Библиотека Python для создания гибкой плагин-архитектуры. Если ты хочешь, чтобы к твоему проекту можно было легко подключать сторонние модули (как плагины в pytest, tox, black), — pluggy делает это максимально просто и надёжно.
🔍 Особенности:
🔌 Легко добавить расширяемость к любому проекту
🧠 Отлично подходит для CLI, API, фреймворков, генераторов кода
🧱 Используется в индустриальных open-source проектах
🎯 Делает архитектуру твоего кода чище и гибче
⚙️ Установка 👇👇👇
pip install pluggy
📁Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍4❤2
TG-Bot-Pocket-Consultant-main.zip
10.6 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: python-telegram-bot, openai, pypdf2
📂 База данных: sqlite3
Возможности:
❓ Ответы на юридические вопросы через Perplexity API
📄 Анализ документов через ChatGPT 4o-mini
✏️ Редактирование документов через ChatGPT 4o-mini
🔒 Ограничения: 10 запросов в день на пользователя для каждого типа
📊 Логирование всех действий пользователей
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8😁1
✔ Охрана дома / офиса / склада
✔ Автоматическая фиксация активности
✔ Мини система видеонаблюдения без интернета
✔ Анализ записей на потом
import cv2
import time
import os
VIDEO_SOURCE = 0 # 0 = вебкамера, или URL/IP камеры, или путь к видеофайлу
SAVE_DIR = "motion_frames"
os.makedirs(SAVE_DIR, exist_ok=True)
cap = cv2.VideoCapture(VIDEO_SOURCE)
_, prev_frame = cap.read()
prev_frame = cv2.cvtColor(prev_frame, cv2.COLOR_BGR2GRAY)
prev_frame = cv2.GaussianBlur(prev_frame, (21, 21), 0)
frame_id = 0
print("📹 Запущен анализ. Ctrl+C для остановки.")
try:
while True:
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (21, 21), 0)
diff = cv2.absdiff(prev_frame, gray)
thresh = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]
motion_percent = (cv2.countNonZero(thresh) / thresh.size) * 100
if motion_percent > 1.0:
filename = f"{SAVE_DIR}/motion_{frame_id}.jpg"
cv2.imwrite(filename, frame)
print(f"📸 Движение! Сохранил кадр: {filename}")
prev_frame = gray
frame_id += 1
time.sleep(0.2)
except KeyboardInterrupt:
print("🛑 Остановлено пользователем.")
finally:
cap.release()
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥20