✔ Слушай книгу по частям без потери места
✔ Удобно для изучающих язык — возвращаться на нужный момент
✔ Повтор занятий и лекций
✔ Прост в использовании и работает офлайн
import pygame
import time
import os
import json
AUDIO_FILE = "audiobook.mp3"
PROGRESS_FILE = "progress.json"
pygame.mixer.init()
pygame.mixer.music.load(AUDIO_FILE)
# Загрузка позиции
if os.path.exists(PROGRESS_FILE):
with open(PROGRESS_FILE) as f:
data = json.load(f)
position = data.get(AUDIO_FILE, 0)
print(f"▶️ Продолжаем с {round(position, 2)} сек")
else:
position = 0
pygame.mixer.music.play(start=position)
try:
while pygame.mixer.music.get_busy():
time.sleep(1)
except KeyboardInterrupt:
current_pos = pygame.mixer.music.get_pos() / 1000 + position
with open(PROGRESS_FILE, "w") as f:
json.dump({AUDIO_FILE: current_pos}, f)
print(f"\n⏸️ Остановлено на {round(current_pos, 2)} сек. Позиция сохранена.")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤5🔥3
💾 git-xl
🔍 Особенности:
📊 Позволяет работать с Excel так же удобно, как с кодом
🧠 Идеально для команд, где Excel — основной источник данных
🎯 Отлично сочетается с Git, CI/CD, версионным контролем
🔥 Спасает от потери данных и ошибок в формулах
⚙️ Установка 👇👇👇
C:\Developer>git xl install
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3😁1
Speech-Decoder-main.zip
10.2 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, SpeechRecognition, requests
📂 База данных: -
Этот бот предназначен для облегчения взаимодействия с голосовыми сообщениями и повышения удобства пользователей. 🗣️➡️📜
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤3
✔ Быстрое копирование текста с видео/презентации
✔ Сохранение URL из слайдов, PDF, Zoom
✔ Захват данных с баннеров, билетов, визиток
✔ Инструмент “умного экрана” для повседневных задач
import pytesseract
from PIL import ImageGrab
import re
# Сделать скриншот (или открыть готовое изображение)
img = ImageGrab.grab() # Скриншот всего экрана
# img = Image.open("screenshot.png")
text = pytesseract.image_to_string(img, lang="eng+rus")
print("📝 Распознанный текст:\n", text)
# Поиск ссылок, email, телефонов
urls = re.findall(r'https?://\S+', text)
emails = re.findall(r'\b[\w.-]+@[\w.-]+\.\w+\b', text)
phones = re.findall(r'\+?\d[\d\s\-]{7,}', text)
print("\n🔗 Найденные ссылки:", urls)
print("✉️ Email:", emails)
print("☎️ Телефоны:", phones)
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍16🔥1
💾 Pyenv-win
🔍 Особенности:
🧠 Поддержка десятков проектов с разными версиями Python
🚀 Безопасное тестирование, разработка, миграции
🎯 Идеально для разработчиков, автоматизаторов и CI-сценариев
⚙️ Настраивается за 5 минут и решает массу проблем на Windows
⚙️ Установка 👇👇👇
pip install pyenv-win
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
ChannelOffer-main.zip
9 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram
📂 База данных: sqlite3
Основные функции:
📨 Прием предложений (текст/фото) от пользователей
🔔 Уведомления автора о решении модератора
💻 Панель управления для администраторов:
Просмотр новых заявок
Одобрение/отклонение контента
📢 Автоматическая публикация одобренных постов в канал
📊 Логирование действий в боте
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
✔ Учёба (модули, курсы, темы)
✔ Фитнес-планы, диеты, повседневные дела
✔ “Что посмотреть/прочитать/попробовать”
✔ Оффлайн-трекер без регистрации и сайтов
import json
import os
FILENAME = "checklist.json"
def load_tasks():
if os.path.exists(FILENAME):
with open(FILENAME, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save_tasks(tasks):
with open(FILENAME, "w", encoding="utf-8") as f:
json.dump(tasks, f, ensure_ascii=False, indent=2)
def show_tasks(tasks):
if not tasks:
print("📭 Список пуст.")
return
for i, task in enumerate(tasks):
mark = "✅" if task["done"] else "⬜"
print(f"{i+1}. {mark} {task['title']}")
def main():
tasks = load_tasks()
while True:
print("\n📋 Чеклист:")
show_tasks(tasks)
print("\n1. Добавить 2. Отметить выполненным 3. Удалить 4. Выйти")
choice = input("Выбор: ")
if choice == "1":
title = input("Введите задачу: ")
tasks.append({"title": title, "done": False})
elif choice == "2":
index = int(input("Номер задачи: ")) - 1
if 0 <= index < len(tasks):
tasks[index]["done"] = True
elif choice == "3":
index = int(input("Номер задачи: ")) - 1
if 0 <= index < len(tasks):
del tasks[index]
elif choice == "4":
break
else:
print("❌ Неверный выбор.")
save_tasks(tasks)
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2
💾 Nbconvert
🔍 Особенности:
📊 Позволяет делиться результатами анализа, моделей и графиков — красиво и понятно
🧠 Используется в научной среде, бизнес-отчётах, образовании
🎯 Поддерживает автоматизацию: из ноутбука → в PDF отчёт → по email
⚙️ Установка 👇👇👇
pip install nbconvert
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
telegram-form-bot-main.zip
9.3 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram
📂 База данных: aiosqlite
🚀 Возможности:
- Приём заявок от пользователей
- Уведомление администратора о новых заявках
- Просмотр всех заявок через админ-панель
- Получение подробной информации по заявке
- Удаление заявок
- Использование базы данных SQLite
- Разделение логики на пользователя и администратора
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥1
✔ Хранить, что ты уже посмотрел
✔ Планировать, что хочешь посмотреть
✔ Оценивать и сортировать любимые фильмы
✔ Делать личную “кинобазу”
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