✔ Хранить, что ты уже посмотрел
✔ Планировать, что хочешь посмотреть
✔ Оценивать и сортировать любимые фильмы
✔ Делать личную “кинобазу”
import json
import os
from tabulate import tabulate
FILENAME = "movies.json"
def load():
if os.path.exists(FILENAME):
with open(FILENAME, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save(movies):
with open(FILENAME, "w", encoding="utf-8") as f:
json.dump(movies, f, ensure_ascii=False, indent=2)
def display(movies, only=None):
table = []
for m in movies:
if only and m["status"] != only:
continue
table.append([m["title"], m["year"], m["rating"], m["status"]])
print(tabulate(table, headers=["Название", "Год", "Рейтинг", "Статус"]))
def main():
movies = load()
while True:
print("\n🎞️ Личный каталог фильмов")
print("1. Добавить фильм\n2. Показать всё\n3. Только 'посмотрено'\n4. Только 'хочу'\n5. Поиск\n6. Выход")
choice = input("Выбор: ")
if choice == "1":
title = input("Название: ")
year = input("Год: ")
rating = input("Оценка (0–10): ")
status = input("Статус (🎬 посмотрено / 📌 хочу посмотреть): ")
movies.append({"title": title, "year": year, "rating": rating, "status": status})
save(movies)
elif choice == "2":
display(movies)
elif choice == "3":
display(movies, only="🎬 посмотрено")
elif choice == "4":
display(movies, only="📌 хочу посмотреть")
elif choice == "5":
q = input("Поиск по названию: ").lower()
found = [m for m in movies if q in m["title"].lower()]
display(found)
elif choice == "6":
break
else:
print("❌ Неверный выбор.")
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
💾 Notify_py
🔍 Особенности:
🧠 Уведомления без необходимости открывать окно или писать GUI
💡 Отлично подходит для фоновых скриптов, резервного копирования, напоминаний
💬 Альтернатива print() + звуку, особенно для долгих процессов
📦 Простая установка, работает даже в venv
⚙️ Установка 👇👇👇
pip install notify_py
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6
Combot-telegram-channel-parser-main.zip
7.6 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: requests, bs4
📂 База данных: sqlite3
Особенности:
-Сбор информации о чатах (название, юзернейм, количество участников, язык, изображение и т.д.).
- Сохранение данных в базу данных SQLite.
- Парсинг данных с сайта через API с использованием BeautifulSoup и requests.
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1😁1
✔ Распечатка планов, расписаний, вешать на стену
✔ Создание расписания для семьи, школы, спорта
✔ Ведение задач и контроль сроков вручную
import calendar
import matplotlib.pyplot as plt
def generate_month_calendar(year, month):
cal = calendar.monthcalendar(year, month)
days = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"]
fig, ax = plt.subplots(figsize=(10, 6))
ax.set_axis_off()
table = ax.table(cellText=cal,
colLabels=days,
cellLoc='center',
loc='upper center')
table.scale(1, 2)
for i in range(len(cal)):
for j in [5, 6]: # Выделим сб/вс
cell = table[i + 1, j]
if cell.get_text().get_text().strip():
cell.set_facecolor("#ffe0e0")
plt.title(f"{calendar.month_name[month]} {year}", fontsize=20)
plt.savefig(f"calendar_{month}_{year}.png", bbox_inches='tight')
print(f"✅ Календарь сохранён: calendar_{month}_{year}.png")
# Пример использования
generate_month_calendar(2025, 6)
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍14❤3
💾 Bandit
🔍 Особенности:
🛡 Позволяет находить проблемы до деплоя
📦 Используется в промышленной разработке, безопасных API
🔍 Совместим с другими линтерами (flake8, black, mypy)
✅ Работает быстро, легко автоматизируется
⚙️ Установка 👇👇👇
pip install bandit
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6🔥2
Единственный канал где делимся готовыми скриптами на Python 🚀 по крипто тематике абсолютно бесплатно 💸 :
👇👇👇
- Никакой воды🚀
- Алготрейдинг🤖
- Работа с API бирж, агрегаторов💻
- Автоматизации📈
Подпишись и пользуйся -> Crypto Python
👇👇👇
- Никакой воды
- Алготрейдинг
- Работа с API бирж, агрегаторов
- Автоматизации
Подпишись и пользуйся -> Crypto Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4🔥2
django_aiogram_postgres-main.zip
38.2 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, django, requests
📂 База данных: postgresql
Проект включает:
- Django-панель администратора
Telegram-бота (aiogram)
- PostgreSQL в качестве базы данных
- Интеграцию с Юкассой
- Проверку подписки на канал и группу
- Docker-окружение
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤4
✔ Контроль доступа (дом, офис)
✔ Ведение журнала посещений
✔ Умный дом: "включить свет, если я"
✔ DIY-система безопасности
import face_recognition
import cv2
import os
from datetime import datetime
KNOWN_DIR = "known_faces"
log_file = "face_log.txt"
known_encodings = []
known_names = []
# Загружаем известные лица
for filename in os.listdir(KNOWN_DIR):
image = face_recognition.load_image_file(os.path.join(KNOWN_DIR, filename))
encoding = face_recognition.face_encodings(image)[0]
known_encodings.append(encoding)
known_names.append(os.path.splitext(filename)[0])
# Запускаем веб-камеру
video = cv2.VideoCapture(0)
print("🧠 Распознавание началось. Нажми Q для выхода.")
while True:
ret, frame = video.read()
rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
faces = face_recognition.face_locations(rgb)
encodings = face_recognition.face_encodings(rgb, faces)
for (top, right, bottom, left), encoding in zip(faces, encodings):
matches = face_recognition.compare_faces(known_encodings, encoding)
name = "Неизвестен"
if True in matches:
idx = matches.index(True)
name = known_names[idx]
with open(log_file, "a", encoding="utf-8") as f:
f.write(f"{datetime.now()}: {name} замечен\n")
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(frame, name, (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (255, 255, 255), 2)
cv2.imshow("📷 Распознавание лиц", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤7👍6
💾 Python-gnupg
🔍 Особенности:
🔐 Безопасная передача и хранение данных
📩 Подходит для email-систем, CLI-утилит, зашифрованных отчётов
🧠 Простая интеграция с существующими пайплайнами и файловыми системами
📦 Полноценный PGP-протокол из Python — без ручного шифрования
⚙️ Установка 👇👇👇
pip install python-gnupg
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2😁1
wg-pay-bot-master.zip
88.2 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, django, requests
📂 База данных: sqlite3
Он может автоматически подключать и отключать пользователей, генерировать QR-коды для мобильных клиентов, а также может использоваться в качестве платежной системы для VPN-сервисов.
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥6❤2
✔ Анализ времени за работой / YouTube / мессенджерами
✔ Осознанность и контроль продуктивности
✔ Личное “времяучёт” без тайм-трекеров и облаков
✔ Самодисциплина без сторонних сервисов
import win32gui
import time
from collections import defaultdict
import matplotlib.pyplot as plt
usage = defaultdict(int)
start = time.time()
print("🎯 Начался трекинг активности. Для остановки — Ctrl+C")
try:
while True:
hwnd = win32gui.GetForegroundWindow()
title = win32gui.GetWindowText(hwnd)
if title:
usage[title] += 1
time.sleep(1)
except KeyboardInterrupt:
print("\n📝 Сбор завершён")
# Отображение отчёта
sorted_usage = sorted(usage.items(), key=lambda x: -x[1])[:10]
labels = [k[:30] + "..." if len(k) > 30 else k for k, _ in sorted_usage]
values = [v for _, v in sorted_usage]
plt.figure(figsize=(10, 6))
plt.barh(labels[::-1], values[::-1])
plt.title("⏱️ Топ-используемые окна")
plt.xlabel("Секунды активности")
plt.tight_layout()
plt.savefig("activity_report.png")
print("📊 Отчёт сохранён: activity_report.png")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1
💾 Keyring
🔍 Особенности:
🔐 Безопаснее .env и config-файлов
🧠 Работает нативно с системами, без лишнего GUI
📦 Подходит для интеграции с любыми API, ботами, cron-скриптами
🎯 Скрыт от пользователя и защищён на уровне ОС
⚙️ Установка 👇👇👇
pip install keyring
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥3👏1
hr-screening-bot-master.zip
5.6 MB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, pypdf
📂 База данных: postgresql
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
✔ Учёба: быстро “увидеть” структуру темы
✔ Анализ видео, книг, уроков
✔ Самообразование — делать себе шпаргалки
✔ Создание презентаций и материалов для других
import networkx as nx
import matplotlib.pyplot as plt
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
from collections import defaultdict
import string
TEXT = """
Python is a powerful language for automation, web development, data science, and machine learning.
It supports many libraries like NumPy, Pandas, Flask, and TensorFlow.
Python is known for its readability and simplicity.
"""
def extract_keywords(text):
stop_words = set(stopwords.words("english"))
words = word_tokenize(text.lower())
words = [w for w in words if w.isalnum() and w not in stop_words]
freq = defaultdict(int)
for w in words:
freq[w] += 1
return sorted(freq.items(), key=lambda x: -x[1])[:10]
def build_mind_map(text):
keywords = [kw for kw, _ in extract_keywords(text)]
sentences = sent_tokenize(text)
G = nx.Graph()
G.add_node("Main Idea")
for kw in keywords:
G.add_node(kw)
G.add_edge("Main Idea", kw)
for s in sentences:
if kw in s.lower():
for sub_kw in word_tokenize(s.lower()):
if sub_kw not in keywords and sub_kw.isalnum():
G.add_node(sub_kw)
G.add_edge(kw, sub_kw)
return G
def draw_mind_map(G):
pos = nx.spring_layout(G, k=0.6)
plt.figure(figsize=(12, 8))
nx.draw(G, pos, with_labels=True, node_color="lightblue", node_size=2000, font_size=10, edge_color="gray")
plt.title("🧠 Mind Map", fontsize=20)
plt.savefig("mind_map.png")
print("✅ Карта сохранена в mind_map.png")
G = build_mind_map(TEXT)
draw_mind_map(G)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤7🔥4👏1
💾 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