Отлично подходит для тестирования, предоставляя:
SQLAlchemy
, Django
, psycopg
, asyncpg
и прочими.def test_sqlalchemy_just_works(pglite_session):
user = User(name="Alice", email="alice@test.com")
pglite_session.add(user)
pglite_session.commit()
assert user.id is not None
assert User.query.count() == 1 # Real PostgreSQL!
pip install py-pglite[sqlalchemy] # для SQLAlchemy/SQLModel
pip install py-pglite[django] # для Django
pip install py-pglite[asyncpg] # для чистого asyncpg
pip install py-pglite[extensions] # с поддержкой pgvector и др.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥2👍1
Проще говоря, достаточно добавить один декоратор
@pysnooper.snoop()
к функции, и библиотека начнёт логировать все её шаги — какие строки выполняются, какие значения присваиваются переменным и как изменяется состояние программы.Основные возможности:
pip install pysnooper
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7🔥2
📘 Весь материал оформлен в виде Jupyter-ноутбуков: удобно читать, легко искать нужные темы. Чёткая структура и множество примеров кода делают обучение максимально понятным.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤🔥2🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
⚒️ crudadmin — это библиотека для
Минимизирует количество шаблонного кода и позволяет быстро создавать административные интерфейсы.
Основные возможности:
🔵 Автоматическая генерация CRUD-интерфейсов на основе моделей
🔵 Поддержка кастомизации форм и отображения данных.
🔵 Гибкая система фильтров, поиска и сортировки.
🔵 Возможность расширения стандартных возможностей с помощью плагинов.
🔵 Поддержка работы с REST API.
🔵 Простая интеграция с существующим проектом
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Django
, которая превращает ваш проект в удобную административную панель с функциями CRUD (создание, чтение, обновление, удаление) без необходимости писать лишний код.Минимизирует количество шаблонного кода и позволяет быстро создавать административные интерфейсы.
Основные возможности:
Django
.Django
.pip install "crudadmin[memcached]"
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥1
Предоставляет простой интерфейс для диагностики проблем, связанных с неэффективным управлением памятью.
Основные возможности:
pip install pyleak
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2🤔1
Основные возможности:
pip install notify-py
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6❤🔥3👍2
Написана полностью на Python и поддерживает асинхронный ввод-вывод (
asyncio
), что делает её удобной для интеграции в современные веб-приложения.Основные возможности:
asyncio
и использование корутин.pip install aiortc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍3🔥1
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