FFmpeg
, предоставляющие удобный и «питоничный» доступ к функциям обработки аудио и видео.Этот пакет позволяет работать с мультимедийными данными (декодирование, кодирование, ресемплинг, ресайз, фильтрация) без необходимости напрямую взаимодействовать с низкоуровневыми API FFmpeg.
Основные возможности:
NumPy
для удобной обработки кадров как массивов.pip install av
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Для скачивания изображений в коде используется библиотека
requests
.pip install requests
import requests
def download_image(url, filename):
try:
# Отправляем GET-запрос по указанному URL
response = requests.get(url, stream=True)
# Проверяем, что запрос был успешным (статус 200)
response.raise_for_status()
# Открываем файл в бинарном режиме записи ('wb')
with open(filename, 'wb') as file:
# Записываем содержимое ответа в файл
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(f"Изображение успешно сохранено как: {filename}")
except requests.exceptions.RequestException as e:
print(f"Ошибка при скачивании изображения: {e}")
except IOError as e:
print(f"Ошибка при сохранении файла: {e}")
# Пример использования функции
if __name__ == "__main__":
image_url = "https://placehold.co/600x400/000000/FFFFFF?text=Пример+изображения" # Замените на реальный URL изображения
output_filename = "saved_image.jpg" # Имя файла для сохранения
download_image(image_url, output_filename)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2
Позволяет легко поднимать нужные сервисы (например, PostgreSQL, Redis, Kafka, MySQL и другие) прямо во время тестирования, избавляя от необходимости настраивать окружение вручную.
Основные возможности:
pytest
и другими тестовыми фреймворками.pip install testcontainers
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Для контроля свободного места на диске в коде используется модуль
psutil
.pip install
psutil
import shutil
def check_disk_space(path='/'):
try:
total, used, free = shutil.disk_usage(path)
return total, used, free
except FileNotFoundError:
print(f"Ошибка: Путь '{path}' не найден.")
return None
except Exception as e:
print(f"Произошла ошибка: {e}")
return None
def bytes_to_gb(bytes_value):
"""Конвертирует байты в гигабайты."""
return bytes_value / (1024**3)
if __name__ == "__main__":
# Можно указать путь, который необходимо проверить.
# Для Windows используйте букву диска, например 'C:/'
# Для Linux/macOS используйте '/' для корня или определенную точку монтирования, например '/home'
path_to_check = '/' # Измените, если хотите проверить другой путь
disk_info = check_disk_space(path_to_check)
if disk_info:
total_bytes, used_bytes, free_bytes = disk_info
total_gb = bytes_to_gb(total_bytes)
used_gb = bytes_to_gb(used_bytes)
free_gb = bytes_to_gb(free_bytes)
print(f"--- Информация о дисковом пространстве для '{path_to_check}' ---")
print(f"Общий объем: {total_gb:.2f} GB")
print(f"Использовано: {used_gb:.2f} GB")
print(f"Свободно: {free_gb:.2f} GB")
# Здесь можно добавить проверку порогового значения
free_percentage = (free_bytes / total_bytes) * 100
print(f"Свободно: {free_percentage:.2f}%")
if free_percentage < 10:
print("ВНИМАНИЕ: Свободное место на диске ниже 10%! Рассмотрите возможность очистки.")
else:
print("Не удалось получить информацию о дисковом пространстве.")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥1
📦 py7zr — это Python-библиотека для работы с архивами 7z (7zip) в чистом Python без зависимости от нативных бинарников 7-Zip.
Основные возможности:
🔵 Чтение и распаковка .7z-архивов.
🔵 Создание новых .7z-архивов с поддержкой сжатия.
🔵 Поддержка AES-шифрования и паролей.
🔵 Работа с потоками и файловыми объектами.
🔵 Совместимость с многотомными архивами.
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Основные возможности:
pip install py7zr
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2👍2
Основные возможности:
pip install anytree
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥3
Cтабильная, гибкая и расширяемая основа, подходящая как для маленьких скриптов, так и для крупных многокомпонентных систем.
Основные особенности:
pip install cement
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Проект ориентирован на случаи, когда нужно дать ИИ-агентам или пользователям возможность запускать произвольный код (Python, Node.js и т.д.) с сильной изоляцией и управляемыми ресурсами.
Основные возможности:
pip install microsandbox
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1
Позволяет ограничивать частоту вызовов функций в асинхронных и синхронных приложениях — особенно полезна для API-клиентов и ботов.
Основные возможности:
pip install premier
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥1
📦 InvenTree – это управления складом и номенклатурой, построенная на Python /Django и предоставляющая полный REST API как для веб-интерфейса, так и для внешних интеграций.
Основные возможности:
🔵 Автоматическая аутентификация через токены или логин/пароль.
🔵 Получение и фильтрация данных через удобные методы.
🔵 Создание, обновление и удаление объектов (CRUD).
🔵 Работа с объектами склада и запасами.
🔵 Управление деталями, категориями, локациями и BOM.
🔵 Прикрепление файлов и добавление параметров к объектам.
🔵 Перезагрузка и синхронизация данных.
🔵 Простая интеграция с REST API сервера InvenTree.
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Основные возможности:
pip install inventree
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Для массового сжатия изображений в коде используется библиотека
Pillow
, для добавления прогресс-бара - tqdm
.pip install Pillow tqdm
from pathlib import Path
from PIL import Image
from tqdm import tqdm
def process_images_compact(input_path: str, output_folder: str = 'out', max_width: int = 1920, quality: int = 85):
out_dir = Path(output_folder)
out_dir.mkdir(parents=True, exist_ok=True)
allowed_exts = {'.jpg', '.jpeg', '.png'}
# Собираем список всех файлов в input_path (и подпапках), которые имеют разрешенные расширения
# rglob('*') рекурсивно ищет все файлы и папки
files = [p for p in Path(input_path).rglob('*') if p.suffix.lower() in allowed_exts]
for p in tqdm(files, leave=False):
# Открываем изображение с помощью Pillow
im = Image.open(p)
# Получаем текущие ширину и высоту изображения
w, h = im.size
# Проверяем, превышает ли ширина изображения заданную максимальную ширину
if w > max_width:
# Вычисляем коэффициент масштабирования
ratio = max_width / w
# Изменяем размер изображения, сохраняя пропорции
im = im.resize((max_width, int(h * ratio)))
# Определяем полный путь для сохранения обработанного изображения в выходной папке
output_file_path = out_dir / p.name
# Сохраняем изображение
if p.suffix.lower() == '.png':
im.save(output_file_path, optimize=True)
else:
im.save(output_file_path, quality=quality, optimize=True)
if __name__ == "__main__":
process_images_compact('my_photos', output_folder='resized_photos', max_width=1024, quality=80)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤🔥2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Основные возможности:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍1
Основные возможности:
pip install scrubadub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Для отслеживания изменений в директории в коде используется библиотека watchdog.
pip install watchdog
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os
class MyEventHandler(FileSystemEventHandler):
def on_any_event(self, event):
"""Логирует любое событие файловой системы."""
if event.is_directory:
event_type = "Каталог"
else:
event_type = "Файл"
if event.event_type == 'created':
print(f"СОЗДАН: {event_type} {event.src_path}")
elif event.event_type == 'deleted':
print(f"УДАЛЕН: {event_type} {event.src_path}")
elif event.event_type == 'modified':
print(f"ИЗМЕНЕН: {event_type} {event.src_path}")
elif event.event_type == 'moved':
print(f"ПЕРЕМЕЩЕН: {event_type} из {event.src_path} в {event.dest_path}")
def start_watching(path):
event_handler = MyEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
print(f"Мониторинг папки: {path}. Нажмите Ctrl+C для остановки.")
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
print("Мониторинг остановлен.")
if __name__ == "__main__":
# Замените 'путь_к_папке' на фактический путь к папке, которую вы хотите отслеживать
folder_to_watch = 'путь_к_папке'
# Создаем папку, если она не существует (необязательно, для демонстрации)
if not os.path.exists(folder_to_watch):
os.makedirs(folder_to_watch)
print(f"Создана папка для демонстрации: {folder_to_watch}")
start_watching(folder_to_watch)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Ориентирован на конвертацию документов (PDF) в подкаст‑формат, где AI генерирует скрипт и превращает его в аудио разговор между двумя «ведущими».
Основные возможности:
bark
и Parler‑tts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Основные особенности
pip install vizro
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥1
Основные особенности:
⚠️ Информация предоставлена исключительно в образовательных целях. Использование в незаконных действиях запрещено.
pip install cai-framework
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥2👍1
Основные возможности:
NumPy
pip install pyopencl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для работы с файлами в коде используется стандартный модуль
os
.Как работает скрипт:
import os
def search_string_in_files(folder_path, search_string):
# Проходимся по всем файлам и папкам, начиная с указанного пути
for root, _, files in os.walk(folder_path):
# Итерируемся по каждому файлу в текущей папке
for file_name in files:
file_path = os.path.join(root, file_name)
try:
# Открываем файл для чтения в режиме "r" с кодировкой "utf-8"
with open(file_path, "r", encoding="utf-8", errors="ignore") as file:
# Итерируемся по каждой строке в файле, начиная нумерацию с 1
for line_number, line in enumerate(file, start=1):
# Проверяем, содержится ли искомая строка в текущей строке файла
if search_string in line:
print(f"[Найдено] {file_path} (строка {line_number}): {line.strip()}")
except (IOError, OSError):
print(f"[Ошибка] Не удалось открыть файл: {file_path}")
if __name__ == "__main__":
folder = input("Введите путь к папке: ")
query = input("Введите строку для поиска: ")
search_string_in_files(folder, query)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥4
Предоставляет широкий набор инструментов для построения и оценки статистических моделей, проверки гипотез и анализа временных рядов.
Основные особенности:
NumPy
, pandas
, SciPy
pip install statsmodels
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2