Справочник Программиста @programmersguide_1 Channel on Telegram

Справочник Программиста

@programmersguide_1


По рекламе и написанию кода на заказ - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Справочник Программиста (Russian)

Справочник Программиста - это Telegram канал, который призван помочь программистам развиваться и совершенствовать свои навыки. Здесь вы найдете полезные советы, инструкции, а также возможность заказать написание кода по вашим требованиям. Кроме того, на канале можно найти рекламные объявления и компании, предлагающие свои услуги в области программирования. Основным контактом для рекламы и заказа кода на канале является @it_start_programmer. Если вы хотите узнать больше о курсах, предлагаемых для программистов, обратитесь к @courses_from_it_start_bot. Для тех, кто хочет проверить свои знания в Python, доступны викторины по этому языку программирования на канале @python_quizzes_tasks. Дополнительную информацию можно найти на сайте канала: https://it-start.online/. Здесь вы найдете статьи, уроки и другую полезную информацию для программистов. Присоединяйтесь к каналу "Справочник Программиста" и развивайтесь вместе с нами в мире программирования!

Справочник Программиста

30 Jan, 18:34


Пять калькуляторов на Python

В данной статье напишем код пяти полезных калькуляторов на Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Jan, 10:48


👀 Библиотека fastjsonschema в Python

fastjsonschema — это высокопроизводительная библиотека для валидации JSON-схем в Python.

Компилирует схемы JSON в нативный Python-код, что делает её одной из самых быстрых среди аналогов.

Основные особенности библиотеки:
🔵Высокая скорость: Схема компилируется в Python-код один раз, а затем выполняется без интерпретации.
🔵Совместимость с стандартом JSON Schema: Поддерживает Draft 04, Draft 06, Draft 07 и Draft 2019-09.
🔵Минимальные зависимости: Написана на чистом Python без внешних зависимостей.
🔵Генерация исключений: В случае ошибки валидации выбрасывается подробное исключение.

➡️Установка библиотеки: pip install fastjsonschema

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Jan, 06:18


Код для сортировки файлов по типам на Python

Для сортировки файлов в коде используются модули pathlib и shutil.

import shutil
from pathlib import Path


def sort_files_by_type(folder_path):
# Преобразуем путь к папке в объект Path
folder = Path(folder_path)

# Проверяем, существует ли папка и является ли она директорией
if not folder.exists() or not folder.is_dir():
print("Указанная папка не существует или это не папка.")
return

# Перебираем все файлы в указанной папке
for file in folder.iterdir():
# Проверяем, является ли объект файлом
if file.is_file():
# Получаем расширение файла (если оно есть), иначе 'Без расширения'
extension = file.suffix[1:] if file.suffix else 'Без расширения'

# Формируем путь для папки с соответствующим расширением
extension_folder = folder / extension

# Создаём папку для расширения, если она ещё не существует
extension_folder.mkdir(exist_ok=True)

# Перемещаем файл в соответствующую папку
shutil.move(str(file), extension_folder / file.name)

# Сообщаем, что файлы отсортированы
print("Файлы отсортированы по типам.")


# Пример: сортировка файлов в указанной папке
sort_files_by_type("C:/Users/User/Downloads")


➡️Справочник Программиста. Подписаться

Справочник Программиста

29 Jan, 16:19


👀 Библиотека fsspec в Python

Библиотека fsspec предназначена для работы с файловыми системами через единый интерфейс.

Абстрагирует взаимодействие с различными типами файловых систем (локальные, удалённые, распределённые) и позволяет работать с ними с использованием унифицированных методов.

Основные возможности библиотеки
🔵Единый интерфейс для работы с разными хранилищами: Можно работать с локальными файлами, облачными хранилищами или FTP/HTTP-серверами одинаково.
🔵Прозрачное чтение и запись: Поддерживает различные протоколы через единую схему доступа.
🔵Кэширование данных: Позволяет хранить данные локально для ускорения операций.
🔵Поддержка файлов как объектов: Предоставляет API для работы с файлами в стиле файловых объектов Python, что упрощает чтение, запись и обработку данных.
🔵Расширяемость: Можно подключать дополнительные плагины для поддержки новых типов файловых систем.
🔵Совместимость с библиотеками Pandas, Dask, Zarr и другими.

➡️Установка библиотеки: pip install fsspec

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

29 Jan, 13:17


👀 Библиотека Blessed в Python

Библиотека Blessed предоставляет удобные функции для создания цветного и форматированного текста, управления курсором, обработки ввода и других возможностей взаимодействия с консолью.

Основные возможности библиотеки:
🔵Цветной текст и стилизация: Упрощает создание цветного текста и добавление форматирования, такого как жирный шрифт, курсив, подчёркивание и т. д.
🔵Управление курсором: Позволяет перемещать курсор в терминале, что полезно для создания динамических интерфейсов, таких как прогресс-бары, текстовые игры и другие приложения.
🔵Обработка ввода: Поддерживает работу с клавишами ввода, включая функциональные клавиши (стрелки, F1-F12), обработку последовательностей ESC и других специальных команд.
🔵Автоматическое определение возможностей терминала: Определяет, поддерживает ли текущий терминал цветной вывод, какие функции доступны, и автоматически адаптируется.
🔵Совместимость: Работает с различными терминалами (например, xterm, tmux, screen) и заботится о кроссплатформенности.

➡️Установка библиотеки: pip install blessed

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

29 Jan, 11:48


Код для преобразования видео в GIF на Python

Для преобразования видео в GIF в коде используется библиотека moviepy.

➡️ Установка библиотеки: pip install moviepy

from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):
video = VideoFileClip(video_path)
video.write_gif(gif_path, fps=60)


convert_video_to_gif("video.mp4",
"output.gif")


➡️Справочник Программиста. Подписаться

Справочник Программиста

29 Jan, 10:47


📺 Конвертация видео в GIF на Python

В данном shorts напишем код для конвертации видео в GIF на Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Jan, 10:45


👀 Библиотека FastAPI-Admin в Python

Библиотека FastAPI-Admin позволяет добавлять административную панель к приложениям, созданным с использованием фреймворка FastAPI.

Предназначена для управления данными приложения через веб-интерфейс, предоставляя CRUD-функционал и удобную настройку интерфейса.

Основные возможности библиотеки:
🔵Автоматическое создание CRUD-интерфейса: Поддержка операций создания, чтения, обновления и удаления записей в базе данных.
🔵Гибкость и расширяемость: Легко настраиваемые модели и интерфейсы. Возможность создания своих компонентов и настроек.
🔵Интеграция с популярными базами данных: Работает с такими ORM, как SQLAlchemy, Tortoise ORM, и другими.
🔵Поддержка RBAC (Role-Based Access Control): Возможность настройки ролей и разрешений для пользователей.
🔵Простая настройка интерфейса: Современный и удобный интерфейс, основанный на Ant Design Pro. Возможность кастомизации дизайна и добавления новых страниц.
🔵Авторизация и аутентификация: Готовые решения для авторизации пользователей.

➡️Установка библиотеки: pip install fastapi-admin

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Jan, 06:21


🦆 Код для получения случайных изображений уток на Python

Помню как вам зашли посты про получение случайных изображений кошек и собак, поэтому держите уток 😉

Для обращения к Random Duck API в коде используется библиотека requests.

➡️Установка библиотек: pip install requests

import requests
from pathlib import Path


def get_random_duck():
# URL для получения случайной картинки утки
url = "https://random-d.uk/api/v2/random"
try:
# Выполнение GET-запроса для получения данных
response = requests.get(url)
response.raise_for_status() # Проверка на успешный статус запроса
# Возвращаем URL картинки утки из полученного JSON
return response.json().get("url")
except requests.RequestException:
# В случае ошибки возвращаем None
return None


def save_duck_image(image_url, folder="ducks"):
# Определение пути для папки, где будут храниться картинки
folder_path = Path(folder)
folder_path.mkdir(parents=True, exist_ok=True) # Создание папки, если её нет

try:
# Запрос для получения картинки по URL
response = requests.get(image_url)
response.raise_for_status() # Проверка на успешный статус запроса
# Получение имени файла из URL картинки
image_name = Path(image_url).name
# Полный путь для сохранения файла
file_path = folder_path / image_name

# Открытие файла для записи в бинарном режиме и сохранение содержимого
with file_path.open('wb') as file:
file.write(response.content)

# Выводим сообщение о успешном сохранении
print(f"Картинка сохранена: {file_path}")
except requests.RequestException:
# В случае ошибки при скачивании выводим сообщение
print("Ошибка при скачивании картинки")


if __name__ == "__main__":
# Получение случайной картинки утки
duck_image_url = get_random_duck()
if duck_image_url:
# Если URL картинки получен, сохраняем изображение
save_duck_image(duck_image_url)
else:
# Если не удалось получить URL картинки, выводим ошибку
print("Не удалось получить изображение")


➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Jan, 16:23


👀 Библиотека PyCryptodome в Python

Библиотека PyCryptodome предназначена для работы с криптографией в Python. Предоставляет инструменты для шифрования, дешифрования, генерации ключей и цифровой подписи.

Считается более современной и поддерживаемой альтернативой PyCrypto, которая уже не обновляется.

Основные возможности библиотеки:
🔵Шифрование и дешифрование: Поддержка симметричных и асимметричных алгоритмов (AES, RSA, DES3 и др.).
🔵Хеширование: Реализация популярных алгоритмов (SHA-256, SHA-512, MD5 и др.).
🔵Генерация случайных чисел: Использование криптографически безопасного генератора.
🔵Цифровые подписи: Создание и проверка подписи (RSA, DSA).
🔵Управление ключами: Генерация, экспорт и импорт ключей в форматах PEM, DER.
🔵Поддержка режимов шифрования: Работа с режимами CBC, GCM, EAX, и другими.
🔵Аутентифицированное шифрование: Поддержка алгоритмов AES-GCM, ChaCha20-Poly1305.

➡️Установка библиотеки: pip install pycryptodome

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Jan, 10:46


Код для поиска больших файлов на диске на Python

Для поиска больших файлов на диске в коде используется модуль pathlib.

from pathlib import Path


def find_large_files(folder_path, size_threshold_mb):
# Преобразуем порог размера в байты
size_threshold_bytes = size_threshold_mb * 1024 * 1024

# Создаём объект Path для указанной папки
folder = Path(folder_path)

# Рекурсивно проходим по всем файлам в папке и подкаталогах
for file_path in folder.rglob('*'):
# Проверяем, является ли найденный объект файлом
if file_path.is_file():
try:
# Получаем размер файла в байтах
file_size = file_path.stat().st_size

# Если размер файла превышает указанный порог, выводим его путь и размер в МБ
if file_size > size_threshold_bytes:
print(f"{file_path} - {file_size / (1024 ** 2):.2f} MB")
except FileNotFoundError:
# Если файл был удалён до обработки, игнорируем ошибку
pass


# Пример: найти файлы больше 1024 МБ в папке "C:/"
find_large_files("C:/", 1024)


➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Jan, 06:18


👀 Библиотека calendar-widget в Python

Библиотека calendar-widget предоставляет удобный виджет календаря для использования в графических интерфейсах, таких как Tkinter.

Основные особенности библиотеки:
🔵Отображение месяцев и дней: Календарь отображает месяцы и дни, что позволяет пользователям выбирать даты.
🔵Настройки: Можно настроить внешний вид календаря, включая шрифт, цвет и другие параметры.
🔵Обработка событий: Позволяет отслеживать выбор дат, что полезно для приложений, которые требуют ввода данных с датами.

➡️Установка библиотеки: pip install calendar-widget

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Jan, 13:15


👀 Библиотека Django-cachalot в Python

Библиотека Django-cachalot предназначена для кэширования запросов к базе данных в Django.

Автоматически кэширует результаты запросов ORM, что позволяет значительно снизить нагрузку на базу данных и ускорить работу приложений.

Основные возможности:
🔵Автоматическое кэширование SELECT-запросов ORM.
🔵Автоматическая инвалидизация кэша при изменении данных (INSERT, UPDATE, DELETE).
🔵Поддержка сложных запросов, включая JOIN, аннотации, агрегации и подзапросы.
🔵Совместимость с основными базами данных Django (PostgreSQL, MySQL, SQLite).
🔵Поддержка популярных бекендов кэширования (Redis, Memcached и др.).

➡️Установка библиотеки: pip install django-cachalot

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Jan, 06:14


Tkinter Designer — это инструмент для упрощения создания пользовательских интерфейсов (GUI) в Python.

Автоматизирует процесс разработки интерфейса: вместо ручного написания кода для каждого элемента интерфейса, разработчики могут использовать визуальный редактор Figma, а затем сгенерировать Python-код на основе созданного макета.

Основные особенности:
🔵Интеграция с Figma для создания макетов интерфейсов.
🔵Автоматическая генерация Python-кода на основе макетов.
🔵Простота использования, подходящая для новичков.
🔵Поддержка графических ресурсов из Figma (иконки, изображения, цвета).
🔵Экономия времени на разработке пользовательских интерфейсов.

➡️Установка библиотеки: pip install tkdesigner

📱 Репозиторий
⚙️ Инструкция

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Jan, 16:17


👀 Библиотека pyinstrument в Python

Библиотека pyinstrument предназначена для профилирования кода на Python и позволяет отслеживать, сколько времени затрачивает выполнение различных частей программы.

Предоставляет удобный и быстрый способ выявления узких мест в производительности, помогая оптимизировать код.

Основные особенности библиотеки:
🔵Простота использования: Для использования библиотеки достаточно просто импортировать её и запустить профилирование.
🔵Текстовый и HTML-отчёт: Результаты профилирования можно вывести в виде текстового отчёта в консоли или в более наглядном HTML-формате.
🔵Точное измерение времени: Использует стеки вызовов для точного измерения времени, затрачиваемого на выполнение каждой функции, включая время, проведённое в подфункциях.
🔵Поддержка многозадачности: Поддерживает профилирование многозадачных приложений, например, когда используется асинхронное программирование с asyncio.

➡️Установка библиотеки: pip install pyinstrument

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Jan, 10:45


🖼Код для получения случайных изображений на Python

Для получения случайных изображений мы воспользуемся Lorem Picsum API.

Для обращения к API в коде используется библиотека requests, а для работы с изображением - Pillow и io.

➡️Установка библиотек: pip install requests Pillow

import requests
from PIL import Image
from io import BytesIO


def get_random_image(width: int, height: int):
"""
Получает случайное изображение с Lorem Picsum API.

:param width: Ширина изображения.
:param height: Высота изображения.
:return: Объект PIL.Image или None в случае ошибки.
"""
url = f"https://picsum.photos/{width}/{height}"
try:
response = requests.get(url)
response.raise_for_status() # Проверка на ошибки HTTP
image = Image.open(BytesIO(response.content))
return image
except requests.RequestException as e:
print(f"Ошибка при запросе изображения: {e}")
return None


def save_image(image: Image.Image, filename: str):
"""
Сохраняет изображение в файл.

:param image: Объект PIL.Image.
:param filename: Имя файла для сохранения.
"""
try:
image.save(filename)
print(f"Изображение сохранено как {filename}")
except Exception as e:
print(f"Ошибка при сохранении изображения: {e}")


if __name__ == "__main__":
# Указываем размеры изображения
width = 800
height = 600

# Получаем случайное изображение
random_image = get_random_image(width, height)
if random_image:
# Сохраняем изображение в файл
save_image(random_image, "random_image.jpg")


➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Jan, 06:17


👀 Библиотека Urwid в Python

Библиотека Urwid предназначена для создания консольных пользовательских интерфейсов (CUI).

Поддерживает расширенные функции, такие как управление вводом с клавиатуры, мыши, раскраска текста, а также динамическое изменение размеров виджетов.

Основные возможности библиотеки:
🔵Гибкая система виджетов: Предоставляет множество встроенных виджетов, таких как кнопки, поля ввода, текстовые метки, списки и диалоги, которые можно комбинировать для создания интерфейсов.
🔵Поддержка Unicode: Поддерживает отображение текста в Unicode, что позволяет работать с различными языками и символами.
🔵Динамическое изменение размеров: Адаптируется к изменениям размеров терминала, что полезно для пользователей с различными разрешениями экрана.
🔵Цветовые схемы: Поддерживаются настраиваемые цветовые палитры для оформления интерфейсов.
🔵Обработка событий: Предоставляет удобные инструменты для работы с событиями, включая ввод с клавиатуры, мыши и таймеры.
🔵Асинхронность: Легко интегрируется с асинхронными фреймворками, такими как asyncio, что делает библиотеку подходящей для сетевых приложений и задач реального времени.

➡️Установка библиотеки: pip install urwid

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

21 Jan, 13:32


Код для сканирования на наличие дубликатов файлов по хэшу с логированием на Python

Для сканирования на наличие дубликатов файлов по хэшу с логированием в коде используются стандартные библиотеки os, hashlib, logging и typing.

import os
import hashlib
import logging
from typing import Dict

# Настройка логирования
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[
logging.FileHandler("duplicates.log", encoding="utf-8"), # Лог записывается в файл
logging.StreamHandler() # Лог также выводится в консоль
]
)


def get_file_hash(file_path: str, chunk_size: int = 65536) -> str:
hasher = hashlib.md5() # Создаем объект хэша MD5
try:
# Открываем файл в бинарном режиме для чтения
with open(file_path, 'rb') as file:
# Читаем файл частями, чтобы не загружать весь файл в память
while chunk := file.read(chunk_size):
hasher.update(chunk) # Обновляем хэш с помощью очередного блока данных
return hasher.hexdigest() # Возвращаем итоговый хэш файла
except FileNotFoundError:
logging.error(f"Файл не найден: {file_path}") # Логируем ошибку, если файл отсутствует
raise
except PermissionError:
logging.error(f"Нет доступа к файлу: {file_path}") # Логируем ошибку, если нет прав доступа
raise


def find_duplicates(folder_path: str) -> None:
# Проверяем, существует ли указанная директория
if not os.path.exists(folder_path):
logging.error(f"Указанная директория не существует: {folder_path}")
return

# Словарь для хранения хэшей файлов и их путей
files_hash: Dict[str, str] = {}
# Проходимся по всем папкам, подкаталогам и файлам в директории
for root, dirs, files in os.walk(folder_path):
for file in files: # Обрабатываем каждый файл в текущей директории
file_path = os.path.join(root, file) # Формируем полный путь к файлу
try:
# Вычисляем хэш текущего файла
file_hash = get_file_hash(file_path)
if file_hash in files_hash:
# Если хэш уже есть в словаре, то найден дубликат
logging.info(f"Дубликат найден: {file_path} и {files_hash[file_hash]}")
else:
# Если хэша нет в словаре, добавляем файл в словарь
files_hash[file_hash] = file_path
except Exception as e:
# Логируем любые ошибки, возникшие при обработке файла
logging.warning(f"Не удалось обработать файл {file_path}: {e}")


if __name__ == "__main__":
# Пример: поиск дубликатов в указанной директории
target_folder = r"C:\Users\User\Documents"
find_duplicates(target_folder)


➡️Справочник Программиста. Подписаться

Справочник Программиста

21 Jan, 06:15


👀 Библиотека python-slugify в Python

Библиотека python-slugify позволяет конвертировать строки в удобный для использования формат "slug".

Slug — это короткий, человекочитаемый идентификатор, часто используемый в URL для замены пробелов и специальных символов на безопасные и удобные для чтения символы (обычно дефисы).

Основные возможности библиотеки:
🔵Замена пробелов и спецсимволов: Преобразует пробелы, символы пунктуации и спецсимволы в дефисы.
🔵Поддержка Unicode: Поддерживает символы различных языков, включая кириллицу.
🔵Транслитерация: Может автоматически преобразовывать текст из одного алфавита в другой (например, кириллицу в латиницу).
🔵Настраиваемый разделитель: Позволяет задавать любой разделитель вместо стандартного дефиса.
🔵Поддержка кастомных функций обработки текста: Возможность использовать собственные функции для обработки строк.

➡️Установка библиотеки: pip install python-slugify

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

20 Jan, 16:10


👀 Библиотека wheel в Python

Библиотека wheel используется для работы с форматом wheel — стандартом для упрощённой упаковки и установки Python-пакетов.

Wheel-пакеты (*.whl) представляют собой предварительно скомпилированные дистрибутивы Python-пакетов, которые можно быстро и эффективно устанавливать через pip.

Основные возможности библиотеки:
🔵Создание wheel-пакетов из исходного кода.
🔵Распаковка содержимого wheel-пакетов.
🔵Проверка валидности wheel-пакетов.
🔵Упрощение установки пакетов благодаря предсобранным бинарникам.
🔵Совместимость с инструментами сборки, такими как setuptools.
🔵Поддержка работы с платформозависимыми и универсальными пакетами.
🔵Ускорение установки пакетов через pip.
🔵Автоматизация процесса упаковки и развёртывания Python-проектов.

➡️Установка библиотеки: pip install wheel

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

20 Jan, 13:08


DocETL — это инструмент, предназначенный для извлечения, преобразования и загрузки данных из документов.

Создан для обработки текстовых данных, особенно из медицинских документов, но может применяться и в других областях.

Основные особенности:
🔵Поддержка форматов PDF, DOCX и TXT.
🔵Извлечение текста из сложных документов с сохранением структуры.
🔵Очистка, нормализация и анализ данных.
🔵Сохранение преобразованных данных в базы данных или другие форматы.
🔵Специализированные функции для анализа медицинских терминов.
🔵Выявление и обработка чувствительных данных.
🔵Возможность подключения пользовательских функций для обработки данных.
🔵Интеграция с другими библиотеками и проектами.

➡️Установка библиотеки: pip install docetl

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

19 Jan, 13:55


👀 Библиотека python-magic в Python

Библиотека python-magic — это удобный интерфейс для работы с libmagic, популярной утилитой, которая определяет типы файлов на основе их содержимого, а не по расширению.

С помощью этой библиотеки вы можете быстро узнать, что представляет собой файл, например, является ли он изображением, текстом, PDF-документом и т.д.

Основные возможности библиотеки:
🔵Определение типа файла на основе содержимого.
🔵Получение MIME-типа файла.
🔵Определение типа данных из буфера байтов.
🔵Указание пути к пользовательскому файлу базы данных magic.mgc.
🔵Работа с различными типами файлов: текст, изображения, видео, архивы и др.
🔵Кроссплатформенность: поддержка Linux, Windows и macOS.

➡️Установка библиотеки: pip install python-magic

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

19 Jan, 06:14


👀 Библиотека StatsForecast в Python

Библиотека StatsForecast предназначена для высокопроизводительного прогнозирования временных рядов.

Предлагает простоту использования, масштабируемость и высокую производительность благодаря использованию современных технологий, таких как Numba для ускорения вычислений.

Основные возможности библиотеки:
🔵Самые быстрые и точные реализации AutoARIMA, AutoETS, AutoCES, MSTL и Theta на Python.
🔵Готовая интеграция с Spark, Dask и Ray.
🔵Прогнозирование с учетом вероятностей и доверительные интервалы.
🔵Поддержка экзогенных переменных и статических ковариат.
🔵Обнаружение аномалий.

➡️Установка библиотеки: pip install statsforecast

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

11 Jan, 16:23


👀 Библиотека bcrypt в Python

Библиотека bcrypt используется для хэширования паролей с использованием алгоритма bcrypt, который является адаптивным и безопасным методом хранения паролей.

Позволяет хэшировать, проверять и генерировать соли, обеспечивая высокий уровень безопасности благодаря возможности настройки "стоимости" вычислений.

Основные особенности библиотеки:
🔵Хэширование паролей: Использует алгоритм bcrypt для создания хэшей паролей. Этот алгоритм использует соль для предотвращения атак с помощью радужных таблиц и делает хэширование более вычислительно сложным с каждым годом.
🔵Гибкость и настройка:
🟢Cost factor (или work factor) позволяет увеличивать вычислительную сложность хэширования, чтобы сделать его более защищённым от атак с использованием параллельных вычислений.
🟢Можно настроить количество итераций для хэширования, что позволяет адаптировать алгоритм под требования безопасности.
🔵Соль: Соль — это случайная строка, которая добавляется к паролю перед его хэшированием, обеспечивая уникальность каждого хэша, даже если два пользователя имеют одинаковые пароли.
🔵Безопасность: Позволяет безопасно хранить пароли, так как bcrypt не позволяет восстановить исходный пароль из его хэша. Для проверки пароля используется метод checkpw, который сравнивает введённый пароль с хэшем.

➡️Установка библиотеки: pip install bcrypt

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

11 Jan, 12:57


Voice-Pro — утилита с веб-интерфейсом на базе Gradio, предназначенная для обработки аудио. Разработана на языке Python и предоставляет широкий спектр функций для работы с голосом и текстом.

Основные возможности:
🔵Загрузка с YouTube: Позволяет скачивать видео с YouTube и извлекать из них аудио в форматах mp3, wav или flac.
🔵Удаление вокала: Использует технологии MDX-Net (UVR5) и Demucs для разделения вокала и инструментала в аудиофайлах.
🔵Распознавание речи (STT): Поддерживает преобразование речи в текст с использованием моделей Whisper, Faster-Whisper и Whisper-Timestamped.
🔵Переводчик: Интегрирован с Google Translate для перевода коротких текстов и субтитров на более чем 100 языков.
🔵Синтез речи (TTS): Предоставляет функции преобразования текста в речь с использованием Edge-TTS, а также моделей E2 и F5-TTS, поддерживающих клонирование голоса.
🔵Клонирование голоса: Обеспечивает возможность клонирования голоса для создания подкастов или других аудиоматериалов.
🔵Реальное время и пакетная обработка: Поддерживает как обработку в реальном времени, так и пакетную обработку большого количества файлов.

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

09 Jan, 13:24


👀 Библиотека FastUI в Python

Библиотека FastUI предназначена для быстрого создания пользовательских интерфейсов (UI) с использованием Python-кода.

Создана на базе FastAPI и Pydantic, предоставляя разработчикам мощный и удобный инструмент для построения интерфейсов без необходимости глубокого изучения фронтенд-технологий.

Основные особенности библиотеки:
🔵Быстрое создание UI: Позволяет описывать интерфейс на Python с использованием декларативного подхода, что снижает порог входа для разработчиков.
🔵Интеграция с FastAPI: Отлично сочетается с FastAPI, предоставляя возможность интеграции UI с API в одном проекте.
🔵Использование Pydantic: Данные и валидация базируются на модели Pydantic, что гарантирует согласованность и удобство работы с типизированными данными.
🔵Интерактивный UI: Поддержка интерактивных элементов, таких как формы, таблицы и кнопки, позволяет быстро создавать пользовательские приложения.
🔵Масштабируемость: Подходит как для небольших проектов, так и для создания интерфейсов в крупных системах.

➡️Установка библиотеки: pip install fastui

📱 Репозиторий
💬 Демо

➡️Справочник Программиста. Подписаться

Справочник Программиста

08 Jan, 14:21


Код для добавления текстового водяного знака на видео на Python

Для работы с видео в коде используется библиотека moviepy, а для работы с изображением текста - Pillow и numpy.

➡️Установка библиотек: pip install moviepy Pillow numpy

from moviepy.editor import VideoFileClip, CompositeVideoClip, ImageClip
from PIL import Image, ImageDraw, ImageFont
import numpy as np


def add_watermark(input_video, output_video, watermark_text, font_size=24, position=("right", "bottom"), opacity=128):
# Загружаем видео
video = VideoFileClip(input_video)

# Создаём изображение с текстом водяного знака
font_path = "arial.ttf" # Указываем путь к файлу шрифта
font = ImageFont.truetype(font_path, font_size)

# Получаем размеры текста
text_bbox = font.getbbox(watermark_text)
text_width, text_height = text_bbox[2], text_bbox[3]

# Создаём прозрачное изображение для водяного знака
watermark_image = Image.new("RGBA", (text_width, text_height), (0, 0, 0, 0))
draw = ImageDraw.Draw(watermark_image)
draw.text((0, 0), watermark_text, font=font, fill=(255, 255, 255, opacity))

# Преобразуем Pillow-изображение в NumPy-массив
watermark_array = np.array(watermark_image)

# Конвертируем NumPy-массив в ImageClip
watermark_clip = ImageClip(watermark_array).set_duration(video.duration)

# Определяем позицию водяного знака
if position == ("right", "bottom"):
position = (video.size[0] - text_width - 10, video.size[1] - text_height - 10)
elif position == ("left", "top"):
position = (10, 10)
elif position == ("right", "top"):
position = (video.size[0] - text_width - 10, 10)
elif position == ("left", "bottom"):
position = (10, video.size[1] - text_height - 10)

watermark_clip = watermark_clip.set_position(position)

# Создаем итоговое видео
final_video = CompositeVideoClip([video, watermark_clip])
final_video.write_videofile(output_video, codec="libx264", audio_codec="aac")


# Пример использования
add_watermark(
input_video="input.mp4",
output_video="output_with_watermark.mp4",
watermark_text="My Watermark",
font_size=36,
position=("right", "bottom"),
opacity=200
)


➡️Справочник Программиста. Подписаться

Справочник Программиста

07 Jan, 16:27


psudohash — это инструмент для создания хэшей на основе "криптографически псевдослучайных данных".

Предназначена для генерации идентификаторов, ключей или других элементов, которые требуют уникальности и не нуждаются в обратном преобразовании.

Основные возможности:
❄️Генерация хэшей: создаёт хэши с использованием алгоритмов, подходящих для задач, не требующих высокой криптографической устойчивости.
❄️Настраиваемая длина: возможность задавать длину выходного хэша.
❄️Простота использования: рассчитан на минимальную настройку, позволяя быстро интегрировать его в проекты.

📱 Репозиторий
📹 Видео-презентация

➡️Справочник Программиста. Подписаться

Справочник Программиста

06 Jan, 21:03


До конца скидок остался 1 день!

Справочник Программиста

06 Jan, 06:22


👀 Библиотека In_place в Python

Библиотека In_place предоставляет удобный способ для редактирования файлов "на месте" — т.е. без необходимости создавать временные файлы, а затем заменять оригинал.

Позволяет безопасно изменять содержимое файла, обрабатывая его строка за строкой. Библиотека может быть особенно полезной для задач, где требуется модифицировать текстовые файлы.

Основные возможности библиотеки:
❄️Редактирование файлов "на месте" через временный файл.
❄️Чтение файла строка за строкой с одновременной записью изменений.
❄️Безопасная замена оригинального файла только после успешной обработки.
❄️Поддержка текстового и бинарного режимов работы.
❄️Простое добавление, удаление или модификация строк в файле.
❄️Обработка файлов любого размера без создания дополнительных копий в памяти.
❄️Автоматическое управление временными файлами и их удаление.
❄️Обработка исключений без повреждения оригинального файла.
❄️Кросс-платформенность для Windows, macOS и Linux.

➡️Установка библиотеки: pip install in-place

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

05 Jan, 07:47


Код для создания изображений с подписями на Python

Для создания изображения с подписью в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install Pillow

from PIL import Image, ImageDraw, ImageFont


def create_image_with_text(text, output_path="output.png", text_size=36, position="center"):
# Создаём новое изображение размером 800x400, цвет фона - тёмно-синий
img = Image.new("RGB", (800, 400), color=(73, 109, 137))
# Инициализируем объект для рисования
draw = ImageDraw.Draw(img)

# Загружаем шрифт Arial с указанным размером текста
font = ImageFont.truetype("arial.ttf", size=text_size)

# Вычисляем размер текста с помощью textbbox (границы текста в формате (x_min, y_min, x_max, y_max))
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0] # Ширина текста
text_height = text_bbox[3] - text_bbox[1] # Высота текста

# Устанавливаем координаты текста в зависимости от выбранного положения
if position == "center": # Центр изображения
text_x = (img.width - text_width) // 2
text_y = (img.height - text_height) // 2
elif position == "top-left": # Верхний левый угол
text_x, text_y = 10, 10
elif position == "top-right": # Верхний правый угол
text_x = img.width - text_width - 10
text_y = 10
elif position == "bottom-left": # Нижний левый угол
text_x = 10
text_y = img.height - text_height - 10
elif position == "bottom-right": # Нижний правый угол
text_x = img.width - text_width - 10
text_y = img.height - text_height - 10
else:
# Если указано некорректное положение, выбрасываем исключение
raise ValueError(
"Недопустимое значение для position. Используйте: center, top-left, top-right, bottom-left, bottom-right."
)

# Добавляем текст на изображение по рассчитанным координатам
draw.text((text_x, text_y), text, fill="white", font=font)
# Сохраняем изображение в файл
img.save(output_path)
# Выводим сообщение о сохранении файла
print(f"Изображение сохранено как {output_path}")


# Запрашиваем у пользователя текст для изображения
text = input("Введите текст для изображения: ")
# Запрашиваем у пользователя размер текста
text_size = int(input("Введите размер текста: "))
# Предлагаем выбрать расположение текста
print(
"Выберите расположение текста: center, top-left, top-right, bottom-left, bottom-right"
)
# Получаем выбор пользователя
position = input("Введите расположение текста: ").strip()
# Вызываем функцию с указанными параметрами
create_image_with_text(text, text_size=text_size, position=position)


➡️Справочник Программиста. Подписаться

Справочник Программиста

04 Jan, 21:03


До конца скидок осталось 3 дня!

Справочник Программиста

03 Jan, 11:18


👀 Библиотека pynput в Python

Библиотека pynput используется для управления клавиатурой и мышью, а также для отслеживания их ввода.

Основные возможности библиотеки:
❄️Перехват нажатий и отпусканий клавиш.
❄️Симуляция нажатий клавиш и ввода текста.
❄️Перехват событий мыши (движение, клики, прокрутка).
❄️Симуляция кликов мыши, перемещения курсора и прокрутки.
❄️Поддержка работы с горячими клавишами.
❄️Кроссплатформенность (Windows, macOS, Linux).

➡️Установка библиотеки: pip install pynput

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

03 Jan, 06:15


sudoku-in-python-packaging — это проект, который демонстрирует, как структурировать Python-проект для решения задачи создания и упаковки консольного приложения на примере игры «Судоку».

Это учебный пример, который помогает лучшие понять практики Python-разработки и создания упаковки для распространения через PyPI.

Каждая ячейка в сетке судоку представляет собой пакет sudoku_{x}_{y} (индексировано 0), а версия (1-9) - это значение в поле, поэтому вы можете написать pyproject.toml, и установленные пакеты будут решением.

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

02 Jan, 16:12


👀 Библиотека Tenacity в Python

Библиотека Tenacity предназначена для управления повторными попытками выполнения операций, которые могут завершиться неудачно.

Позволяет легко настроить логику повторов, интервалов между попытками, максимальное количество попыток и обработку ошибок.

Основные возможности библиотеки:
❄️Повтор попыток при ошибках: Если функция вызывает исключение, Tenacity может автоматически выполнить её повторно.
❄️Настройка интервалов: Можно задавать фиксированные или изменяющиеся интервалы между попытками.
❄️Ограничение попыток: Настраивается максимальное количество попыток или общее время выполнения.
❄️Фильтрация исключений: Можно указать, какие именно исключения должны приводить к повторной попытке.
❄️Callbacks (обратные вызовы): Добавление пользовательских функций для логирования или другой обработки между попытками.

➡️Установка библиотеки: pip install tenacity

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

02 Jan, 12:11


Khoj — это инструмент, который превращает локальный компьютер в персонального помощника на основе ИИ.

Интегрируется с популярными приложениями, такими как Obsidian, и позволяет мгновенно искать информацию в заметках, документах или личных базах данных.

Разработан для локального использования, обеспечивая конфиденциальность и безопасность данных.

Основные возможности:
❄️Локальная работа: Все данные остаются на вашем устройстве, что повышает уровень конфиденциальности.
❄️Интеграция с заметками: Особенно хорошо работает с приложением Obsidian, предоставляя возможность умного поиска и анализа ваших заметок.
❄️Натуральный язык: Поддержка запросов на естественном языке, что позволяет взаимодействовать с инструментом интуитивно.
❄️Расширяемость: Возможность подключения собственных баз знаний, документов и других ресурсов.
❄️OpenAI-интеграция: При наличии ключа API OpenAI, можно дополнительно использовать модели GPT для обработки запросов.

➡️Установка библиотеки: pip install khoj

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

31 Dec, 23:22


С Новым Годом! 🎄☃️🎆

Справочник Программиста

31 Dec, 10:08


🎄Подборка новогоднего контента по Python

🌟Статьи:
Рисование GUI ёлки на Python tkinter
Преобразование текста в новогодний стиль на Python
Анимированная 3D ёлка на Python
Фейерверки на Python

🌟Горизонтальные видео:
📺 Новогодние программы на Python | Сборник №1
🌟 Новогодние программы на Python | Сборник №1

📺 3 Новогодние программы на Python | Сборник №2
🌟 3 Новогодние программы на Python | Сборник №2

🌟Вертикальные видео (shorts):
📺 Анимированная новогодняя открытка на Python
🌟 Анимированная новогодняя открытка на Python

📺 Анимированная ёлка в консоли на Python
🌟 Анимированная ёлка в консоли на Python

Новогодняя распродажа моих курсов

➡️Справочник Программиста. Подписаться

Справочник Программиста

31 Dec, 06:41


👀 Библиотека PyYAML в Python

Библиотека PyYAML предназначена для работы с YAML (YAML Ain't Markup Language), удобным для человека форматом сериализации данных.

YAML
часто используется для конфигурационных файлов и в случаях, когда требуется передача данных между языками программирования, так как он более читаем по сравнению с другими форматами, такими как JSON и XML.

Основные возможности библиотеки:
❄️Чтение YAML: позволяет загружать данные из файлов или строк в формате YAML и преобразовывать их в объекты Python (например, в словари и списки).
❄️Запись YAML: может сериализовать объекты Python обратно в формат YAML, позволяя сохранять данные в файлах или выводить их на экран.
❄️Поддержка сложных объектов: может обрабатывать сложные структуры данных, такие как вложенные списки и словари, а также пользовательские классы.

➡️Установка библиотеки: pip install PyYAML

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Dec, 16:02


Код анимированной консольной новогодней ёлки на Python

Для стилизации в коде используется сторонняя библиотека colorama.

➡️Установка библиотеки: pip install colorama

import random
import time
from colorama import init, Fore

init(autoreset=True) # Инициализация colorama


def draw_tree(height=10):
try:
while True:
print("\033c", end="") # Очистка консоли
print("Новогодняя ёлка\n")
for i in range(1, height + 1):
level = " " * (height - i) + "*" * (2 * i - 1)
decorated_level = "".join(
random.choice([
Fore.GREEN + "*", # Зелёная звезда
Fore.RED + "o", # Красный шарик
Fore.YELLOW + "x" # Жёлтая гирлянда
]) if char == "*" else char for char in level)
print(decorated_level)
print(" " * (height - 1) + Fore.MAGENTA + "|||") # Ствол
time.sleep(0.5) # Пауза для анимации
except KeyboardInterrupt:
print("\nАнимация остановлена. С наступающим Новым годом!")


if __name__ == "__main__":
draw_tree()


➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Dec, 10:23


📺 Анимированная ёлка в консоли на Python

В данном shorts напишем код анимированной консольной новогодней ёлки на Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Dec, 00:47


🎲 Игра «Кости» на Python

В данной статье напишем 2 версии кода игры «Кости» на Python: консольная и с графическим интерфейсом.

📖Похожие статьи:
Игра «Арканоид» на Python
Игра «Пинг-понг» на Python
Пишем игру «Виселица» на Python
Крестики-нолики на Python
Крестики-нолики с графическим интерфейсом на Python
Анаграммы на Python
Пишем игру «Змейка» на Python
Игра «Угадай число» на Python
Игра «Камень, ножницы, бумага» на Python

➡️Справочник Программиста. Подписаться

Справочник Программиста

29 Dec, 06:13


👀 Библиотека SlowAPI в Python

Библиотека SlowAPI позволяет ограничивать скорость запросов для веб-приложений, построенных на фреймворках Starlette и FastAPI.

С её помощью можно контролировать количество запросов, которые могут быть обработаны сервером за определённый промежуток времени, чтобы предотвратить злоупотребления или перегрузку сервера.

Основные возможности библиотеки:
❄️Ограничение скорости запросов: позволяет задавать лимиты на количество запросов, которые клиент может отправить за определённый период времени.
❄️Интеграция с FastAPI и Starlette: легко интегрируется с популярными фреймворками, такими как FastAPI и Starlette.
❄️Простота использования: предоставляет простой интерфейс для настройки и использования ограничений скорости.

➡️Установка библиотеки: pip install slowapi

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Dec, 10:45


Код для фильтрации видео в ЧБ на Python

Для фильтрации видео в ЧБ в коде используется библиотека moviepy.

➡️Установка библиотеки: pip install moviepy

from moviepy.editor import VideoFileClip
from moviepy.video.fx import all as vfx

# Загрузка видео
clip = VideoFileClip("input_video.mp4")

# Применение черно-белого фильтра
clip = vfx.blackwhite(clip)

# Сохранение результата
clip.write_videofile("black_and_white_video.mp4")


➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Dec, 08:03


📺 Трюк с функцией zip в Python

В данном shorts рассмотрим трюк с функцией zip() в Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Dec, 06:35


Новогодняя распродажа моих курсов! 🎁

Скидка на Курс по Python 3 - 5️⃣0️⃣🔤
Скидка на Курс по созданию телеграм-ботов на Python с фреймворком Aiogram 3 - 5️⃣0️⃣🔤
Скидка на Курс по созданию графического интерфейса в Python 3 с tkinter - 5️⃣0️⃣🔤

Акция продлится до 8 января включительно!


Приобрести курсы можно у телеграм-бота - @courses_from_it_start_bot

Всех с Наступающим! 🍭🥂

Справочник Программиста

27 Dec, 14:06


Фейерверки на Python

В данной статье напишем код для красивой анимации запуска и взрыва фейерверков на Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Dec, 10:45


👀 Библиотека easier-docker в Python

Библиотека
easier-docker предназначена для упрощения работы с Docker-контейнерами и изображениями прямо из Python-кода.

Предоставляет удобный интерфейс для автоматизации задач управления контейнерами, что полезно для разработки, тестирования или деплоя приложений.

Основные возможности библиотеки:
❄️Запуск Docker-контейнеров.
❄️Остановка Docker-контейнеров.
❄️Удаление Docker-контейнеров.
❄️Управление несколькими контейнерами одновременно.
❄️Скачивание (pull) изображений из Docker Hub.
❄️Удаление изображений Docker.
❄️Просмотр списка доступных контейнеров и изображений.
❄️Настройка портов и параметров контейнеров.
❄️Работа с Docker через Python-объекты и функции.
❄️Легкая интеграция с DevOps и CI/CD процессами.

➡️Установка библиотеки: pip install easier-docker

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

26 Dec, 10:45


👀 Библиотека Questionary в Python

Библиотека Questionary предназначена для создания интерактивных командных интерфейсов (CLI).

Позволяет быстро и удобно реализовать ввод данных от пользователя с помощью заранее определённых вопросов и различных форматов ввода.

Основные возможности библиотеки:
❄️Текстовый ввод.
❄️Ввод пароля.
❄️Вопрос с подтверждением (да/нет).
❄️Выбор одного варианта из списка.
❄️Выбор из списка с использованием числовых индексов.
❄️Множественный выбор из списка.
❄️Ввод пути к файлу или папке с автодополнением.
❄️Поддержка подсветки и кастомизации через Prompt Toolkit.
❄️Простая интеграция в CLI-приложения.

➡️Установка библиотеки: pip install questionary

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

25 Dec, 19:08


Код для генерации QR-кода с доступом к Wi Fi на Python

Для генерации qr-кода в коде используется библиотека qrcode.

➡️Установка библиотеки: pip install qrcode

import qrcode

# Данные для подключения к Wi-Fi
ssid = 'Your_WiFi_SSID' # Имя сети
password = 'Your_WiFi_Password' # Пароль

# Формирование строки для подключения
wifi_string = f"WIFI:T:WPA;S:{ssid};P:{password};;"

# Генерация QR-кода
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(wifi_string)
qr.make(fit=True)

# Создание изображения QR-кода
img = qr.make_image(fill='black', back_color='white')

# Сохранение изображения
img.save("wifi_qr.png")


➡️Справочник Программиста. Подписаться

Справочник Программиста

25 Dec, 10:42


📺 Генерируем QR-код с доступом к Wi Fi на Python

В данном shorts напишем код для генерации qr-кода с доступом к Wi Fi на Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

25 Dec, 06:18


Bandit — это инструмент для анализа безопасности исходного кода Python. Используется для автоматического поиска потенциально уязвимых мест в коде.

Он сканирует Python-файлы и выявляет известные проблемы безопасности, такие как использование небезопасных функций, уязвимости в конфигурации и другие ошибки, которые могут привести к проблемам в приложении.

Основные возможности:
❄️Обнаружение уязвимостей в коде.
❄️Анализ конфигурации.
❄️Настраиваемые проверки.
❄️Поддержка анализа всей директории.
❄️Уровни серьезности и уверенности.
❄️Гибкие форматы вывода.
❄️Интеграция в процессы разработки.
❄️Легкость использования.
❄️Масштабируемость.

➡️Установка: pip install bandit

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

24 Dec, 13:17


👀 Библиотека HTTPie в Python

HTTPie — это удобная библиотека и CLI-инструмент для взаимодействия с веб-сервисами через HTTP-запросы.

Ориентирована на разработчиков, предлагая простоту использования и удобное представление данных.

Основные возможности библиотеки:
❄️Удобный и читаемый синтаксис для HTTP-запросов.
❄️Автоматическое форматирование и цветной вывод данных.
❄️Поддержка всех HTTP-методов: GET, POST, PUT, DELETE, PATCH и др.
❄️Простая авторизация через Bearer-токены, Basic Auth и другие методы.
❄️Отправка запросов с JSON, форм-данными и файлами.
❄️Управление заголовками, куками и параметрами запросов.
❄️Автоматическая обработка cookies.
❄️Поддержка HTTP/1.1 и HTTP/2.
❄️Расширяемость через плагины.
❄️Работа как CLI-инструмент и как библиотека в Python.

➡️Установка библиотеки: pip install httpie

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

24 Dec, 10:45


Код для объединения всех PDF-документов в указанной директории на Python

Для работы с PDF-документами в коде используется библиотека PyPDF2.

➡️Установка библиотеки: pip install pypdf2

from pathlib import Path
from PyPDF2 import PdfMerger


def merge_pdfs_in_directory(directory_path, output_path):
# Создаём объект PdfMerger
merger = PdfMerger()

# Перебираем все PDF файлы в директории
for file_path in Path(directory_path).rglob('*.pdf'):
merger.append(file_path)

# Сохраняем объединённый PDF
merger.write(output_path)
merger.close()


directory_path = r'C:\путь\к\директории' # Путь к директории с PDF файлами
output_path = r'C:\путь\к\выходному_файлу\merged_output.pdf' # Путь для итогового файла

merge_pdfs_in_directory(directory_path, output_path)


➡️Справочник Программиста. Подписаться

Справочник Программиста

24 Dec, 06:15


👀 Библиотека Prompt Toolkit в Python

Библиотека Prompt Toolkit позволяет разрабатывать интерфейсы командной строки (CLI) с поддержкой автодополнения, подсветки синтаксиса, обработки событий и других функций.

Основные возможности библиотеки:
❄️Подсветка синтаксиса ввода.
❄️Редактирование многострочного ввода.
❄️Продвинутое автодополнение кода.
❄️Поддержка привязок клавиш для Emacs и Vi.
❄️Инкрементный поиск (обратный и прямой).
❄️Корректная работа с Unicode символами.
❄️Поддержка мыши для позиционирования и прокрутки.
❄️Автоподсказки (в стиле fish).
❄️Кроссплатформенность (Linux, OS X, FreeBSD, OpenBSD, Windows).
❄️Минимальные зависимости.

➡️Установка библиотеки: pip install prompt_toolkit

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Dec, 23:00


5 программ на Python для работы с видео

В данной статье напишем пять программ на Python для работы с видео.

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Dec, 10:39


👀 Библиотека alive-progress в Python

Библиотека alive-progress предназначена для создания прогресс-баров и спиннеров с анимацией в реальном времени.

Позволяет пользователям визуально отслеживать прогресс длительных операций и получать оценку времени их завершения.

Основные возможности библиотеки:
❄️Красивые анимации: Разнообразные стили прогресса с анимацией, которая не только информативна, но и выглядит привлекательно.
❄️Поддержка асинхронности: Хорошо работает с asyncio.
❄️Гибкость настройки: Можно добавлять дополнительные метрики, заголовки и изменять визуальный стиль индикатора.
❄️Автоматическая оценка времени: Оценивает оставшееся время выполнения.
❄️Мониторинг производительности: Отображает скорость выполнения операций.

➡️Установка библиотеки: pip install alive-progress

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Dec, 06:20


👀 Библиотека holidays в Python

Библиотека holidays предназначена для работы с праздничными днями разных стран.

Предоставляет простой способ проверять, является ли конкретная дата праздником, получать список праздников для заданного года и страны, а также работать с кастомными праздниками.

Основные возможности библиотеки:
❄️Создание списка праздников для заданной страны (и региона).
❄️Проверка, является ли конкретная дата праздником.
❄️Получение названия праздника по дате.
❄️Перечисление всех праздников за заданный год.
❄️Добавление собственных (кастомных) праздников.
❄️Учёт региональных праздников (для стран с регионами/штатами).
❄️Поддержка более 100 стран.

➡️Установка библиотеки: pip install holidays

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Dec, 16:25


👀 Библиотека you-get в Python

Библиотека you-get предназначена для загрузки мультимедийного контента, такого как видео, аудио и изображения, с различных сайтов, включая YouTube, TikTok и т.д.

Проста в использовании и поддерживает широкий спектр платформ.

Особенности библиотеки:
❄️Поддержка множества сайтов: YouTube, VK, TikTok, Vimeo и многие другие. Полный список поддерживаемых сайтов можно найти в документации.
❄️Простота использования: Позволяет загружать файлы одной командой. Автоматически определяет формат и качество файла.
❄️Кроссплатформенность: Работает на Windows, macOS и Linux.
❄️Поддержка прокси: Позволяет использовать прокси для обхода географических ограничений.

➡️Установка библиотеки: pip install you-get

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Dec, 14:31


Код анимированной новогодней открытки на Python

➡️Установка необходимой библиотеки: pip install pygame

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Dec, 13:23


📺 Анимированная новогодняя открытка на Python

В данном shorts напишем код анимированной новогодней открытки на Python. 🎄

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Dec, 10:50


👀 Библиотека csv_trimming в Python

Библиотека csv_trimming предназначена для упрощения процесса очистки и преобразования CSV-файлов.

Предоставляет удобные инструменты для удаления лишних пробелов, ненужных символов и обработки данных в файлах CSV.

Основные возможности библиотеки:
❄️Удаление лишних пробелов: Убирает пробелы в начале и в конце строк или внутри самих значений ячеек.
❄️Удаление пустых строк и столбцов: Можно удалить полностью пустые строки и столбцы, что упрощает обработку данных.
❄️Фильтрация данных: Возможность удалить строки, которые не соответствуют заданным условиям, например, на основе значений в одном или нескольких столбцах.
❄️Обработка кавычек и специальных символов: Помогает обработать строки с кавычками и другими специальными символами, которые могут встречаться в CSV файлах.

➡️Установка библиотеки: pip install csv_trimming

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

21 Dec, 13:21


Chainsaw Human Typing — это инструмент, предназначенный для имитации набора текста человеком. Полезен, когда нельзя вставлять текст напрямую.

Имитирует разнообразные скорости набора текста и непредсказуемые паузы между клавишами, что делает поведение более похожим на человека.

Основные возможности:
❄️Реалистичная имитация печати: Генерирует задержки между нажатиями клавиш, а также включает небольшую рандомизацию скорости набора текста.
❄️Гибкость настроек: Можно задавать среднюю скорость печати. Поддерживаются случайные ошибки с последующим исправлением (чтобы ввод выглядел ещё более реалистично).
❄️Простота использования: Легко интегрируется в существующие Python-скрипты.

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

04 Dec, 13:13


👀 Библиотека TerminalTextEffects в Python

Библиотека
TerminalTextEffects позволяет создавать анимированные текстовые эффекты прямо в терминале.

Работает как в виде самостоятельного приложения, так и в качестве библиотеки, которую можно интегрировать в Python-скрипты.

Основные возможности библиотеки:
🔵Поддержка 256 цветов и RGB-градиентов.
🔵Создание анимаций с использованием сложных траекторий и кривых Безье.
🔵Множество встроенных эффектов, таких как "Матрица", "Фейерверк", "Цветные волны" и другие.
🔵Гибкие настройки кадровой частоты и размеров "канваса" для отображения текста.
🔵Возможность использования библиотеки без сторонних зависимостей.

➡️Установка библиотеки: pip install terminaltexteffects

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

03 Dec, 13:16


👀 Библиотека Pyglet в Python

Библиотека Pyglet предназначенная для разработки мультимедийных приложений, включая игры и другие графические приложения.

Проста в использовании, поддерживает работу с графикой, звуком и видео, а также имеет удобный интерфейс для работы с окнами.

Основные возможности библиотеки:
🔵Графика:
🟢Работа с 2D- и 3D-графикой.
🟢Поддержка OpenGL для отрисовки.
🟢Работа с текстурами и шейдерами.
🟢Возможность загрузки и отображения изображений в различных форматах (PNG, JPEG и др.).
🔵Звук:
🟢Поддержка воспроизведения аудио в формате WAV, MP3, OGG и других.
🟢Обработка звуковых эффектов.
🔵Видео: Воспроизведение видеофайлов с поддержкой различных форматов.
🔵Работа с окнами:
🟢Создание окон с произвольными размерами и настройками.
🟢Обработка ввода от клавиатуры и мыши.
🔵События и анимация:
🟢Реализация системы событий для взаимодействия с пользователем.
🟢Лёгкая работа с анимациями.

➡️Установка библиотеки: pip install pyglet

📱 Репозиторий
⚙️ Документация
Примеры

➡️Справочник Программиста. Подписаться

Справочник Программиста

03 Dec, 06:13


Код для генерации мемов на основе случайных шаблонов и текстов на Python

Для получения шаблона мема в коде используются библиотеки requests и random, а для работы с изображением - Pillow.

➡️Установка библиотек: pip install requests Pillow

import requests
from PIL import Image, ImageDraw, ImageFont
import random


# Получаем случайный шаблон мемов
def get_random_meme_template():
url = "https://api.imgflip.com/get_memes"
response = requests.get(url).json()
memes = response['data']['memes']
meme = random.choice(memes)
return meme['url']


# Создаём мем
def create_meme(image_url, text):
img = Image.open(requests.get(image_url, stream=True).raw)
draw = ImageDraw.Draw(img)

# Задаём параметры шрифта
font = ImageFont.truetype("arial.ttf", 40)

# Получаем размеры текста
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0]
text_height = text_bbox[3] - text_bbox[1]

# Смещаем текст выше от нижнего края
padding = 50 # Отступ от нижнего края
position = ((img.width - text_width) / 2, img.height - text_height - padding)

# Рисуем текст на изображении
draw.text(position, text, font=font, fill="white", stroke_fill="black", stroke_width=2)
img.save("meme.png")
print("Мем создан и сохранен как meme.png.")


meme_url = get_random_meme_template()
text = input("Введите текст для мема: ")
create_meme(meme_url, text)


➡️Справочник Программиста. Подписаться

Справочник Программиста

02 Dec, 10:36


👀 Библиотека AnyIO в Python

Библиотека AnyIO упрощает работу с асинхронным кодом в Python. Позволяет писать универсальные программы, которые могут работать с разными системами асинхронности, такими как asyncio или Trio.

Основные возможности библиотеки:
🔵Абстракция событийных циклов: Предоставляет единый интерфейс для работы с различными событийными циклами. Это упрощает миграцию между фреймворками и улучшает совместимость кода.
🔵Управление задачами: Поддержка создания, отмены и управления задачами (корутинами). Предоставляет высокоуровневые API для работы с задачами, которые унифицированы для всех поддерживаемых фреймворков.
🔵Асинхронные примитивы синхронизации: Предоставляются инструменты для синхронизации, такие как семафоры, события, блокировки, которые работают независимо от фреймворка.
🔵Работа с сетью: Поддерживает работу с TCP, UDP, UNIX сокетами, а также имеет инструменты для создания и использования SSL-соединений.
🔵Асинхронные файловые операции: Чтение и запись файлов выполняются асинхронно, что может быть полезно для приложений с высокой нагрузкой на диск.
🔵Поддержка таймаутов и дедлайнов: Возможность задавать таймауты и дедлайны для задач и операций, что упрощает обработку длительных или застрявших операций.
🔵Поддержка WebSocket и потоков: Предоставляет удобные API для работы с WebSocket-соединениями, а также для управления потоками.

➡️Установка библиотеки: pip install anyio

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

02 Dec, 06:07


ingestr — это инструмент командной строки, предназначенный для передачи данных между различными источниками и целевыми системами без необходимости писать код.

Основные возможности:
🔵Передача данных между различными базами данных и аналитическими платформами.
🔵Миграция данных из устаревших систем в современные хранилища.
🔵Резервное копирование данных для обеспечения их безопасности.
🔵Синхронизация данных между рабочими базами и аналитическими системами.
🔵Пакетная и инкрементальная загрузка данных.
🔵Клонирование баз данных для тестирования и разработки.
🔵Поддержка реального времени для приложений, требующих мгновенных обновлений.
🔵Легкость автоматизации с использованием планировщиков задач и CI/CD систем.

➡️Установка библиотеки: pip install ingestr

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

01 Dec, 10:42


Sketch — это утилита для генерации Python-кода с использованием моделей машинного обучения.

Предназначена для упрощения разработки и прототипирования, генерируя код на основе текстовых описаний задач. Особенно полезна для автоматизации рутинных задач и ускорения разработки прототипов.

Основные возможности:
🔵Генерация кода по описанию: Пользователь вводит текстовое описание задачи, и утилита генерирует соответствующий Python-код.
🔵Поддержка различных задач: Подходит для генерации кода, связанного с анализом данных, визуализацией, машинным обучением и другими популярными областями.
🔵Интерактивный интерфейс: Работает в режиме CLI (Command Line Interface), обеспечивая удобное взаимодействие с пользователем.

➡️Установка библиотеки: pip install sketch

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

01 Dec, 06:15


👀 Библиотека gspread в Python

Библиотека gspread предназначена для работы с Google Sheets через API.

Позволяет программно взаимодействовать с таблицами, выполнять такие задачи, как создание таблиц, чтение, запись и обновление данных, а также управление доступом.

Основные особенности библиотеки:
🔵Открытие таблицы по названию, ключу или URL.
🔵Чтение, запись и форматирование диапазонов ячеек.
🔵Настройка доступа и управления правами.
🔵Группировка обновлений (пакетная обработка).

➡️Установка библиотеки: pip install gspread

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Nov, 19:46


👀 Библиотека Tabled для Python

Библиотека Tabled предназначена для обнаружения и извлечения таблиц. Использует surya для поиска всех таблиц в формате PDF, определения строк/столбцов и форматирования ячеек в markdown, csv или html.

Основные особенности библиотеки:
🔵Работает с PDF, изображениями, документами Word и PowerPoint.
🔵Стабильная скорость работы без резких задержек
🔵Высокая надёжность и время безотказной работы

➡️Установка библиотеки: pip install tabled-pdf

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Nov, 15:00


Готовься к ЕГЭ и ОГЭ по математике и информатике легко и эффективно!

Подписывайся на наш канал ЕГЭ и ОГЭ по математике и информатике! 📚 Что тебя ждет:
Простые разборы сложных заданий
Полезные материалы и схемы
Советы и лайфхаки для успешной сдачи экзаменов

🎁 Сейчас в канале проходит конкурс с крутыми призами!
🏆 Главный приз — бесплатные занятия до конца учебного года по подготовке к ЕГЭ или ОГЭ!
💵 А также денежные призы для победителей!

Не упусти возможность бесплатно подготовиться к экзаменам и выиграть классные подарки! Подписывайся, участвуй в конкурсе и становись лучше каждый день! 🚀

➡️ Подписаться на канал

Справочник Программиста

30 Nov, 13:13


Код для склейки нескольких видеороликов на Python

Для склейки нескольких видеороликов в коде используется библиотека movis.

➡️Установка библиотек: pip install movis

import movis as mv

# Создаём композицию с размером 1920x1080 пикселей и продолжительностью 8 секунд
scene = mv.layer.Composition(size=(1920, 1080), duration=8.0)

# Добавляем первый видео слой из файла 'video1.mp4' в композицию, начало с 0 секунды
video1 = scene.add_layer(mv.layer.Video('video1.mp4'), offset=0.0)

# Добавление второй видео слой из файла 'video2.mp4' в композицию, начало с 4 секунд
video2 = scene.add_layer(mv.layer.Video('video2.mp4'), offset=4.0)

# Сохраняем итоговое видео
scene.write_video('multi_video_layer.mp4')


➡️Справочник Программиста. Подписаться

Справочник Программиста

30 Nov, 06:20


👀 Библиотека Mitmproxy в Python

Библиотека Mitmproxy предназначена для анализа и модификации HTTP, HTTPS и WebSocket трафика.

Позволяет перехватывать запросы и ответы между клиентом и сервером, модифицировать их на лету и сохранять для последующего анализа.

Основные особенности библиотеки:
🔵Перехват HTTP и HTTPS запросов и ответов с возможностью их изменения на лету.
🔵Сохранение полных HTTP-сессий для последующего воспроизведения и анализа.
🔵Воспроизведение клиентской стороны HTTP-сессии.
🔵Воспроизведение HTTP-ответов от ранее записанного сервера.
🔵Режим обратного прокси для перенаправления трафика на указанный сервер.
🔵Режим прозрачного прокси на macOS и Linux.
🔵Скриптовые изменения HTTP-трафика с использованием Python.
🔵Генерация SSL/TLS сертификатов для перехвата на лету.

➡️Установка библиотеки: pip install mitmproxy

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Nov, 13:16


Wakepy — это небольшая утилита на Python, предназначенная для предотвращения перехода компьютера в спящий режим.

Полезна, когда необходимо выполнять долгие вычисления, загружать или передавать данные, либо запускать процессы, которые не должны прерываться из-за режима энергосбережения системы.

Основные возможности:
🔵Блокировка перехода в спящий режим: Предотвращает автоматическое отключение экрана или переход устройства в режим сна.
🔵Кроссплатформенность: Поддерживает Windows, macOS и Linux.
🔵Простой интерфейс: Легко интегрируется в проекты благодаря простому синтаксису.

➡️Установка библиотеки: pip install wakepy

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

28 Nov, 10:42


👀 Библиотека Movis в Python

Библиотека Movis предназначена для видеообработки, ориентирована на создание анимаций, презентационных роликов, графики и других видеоэффектов с помощью кода.

Предоставляет множество возможностей, которые обычно встречаются в профессиональном ПО для видеомонтажа.

Основные особенности библиотеки:
🔵Простое редактирование видео. Обрезка, добавление переходов, наложение текста и изображений.
🔵Работа с различными форматами аудио и видео через ffmpeg.
🔵Поддержка сложных анимаций с использованием ключевых точек и различных режимов плавности.
🔵Возможность добавления пользовательских слоев, эффектов и анимаций.

Пример использования библиотеки:
import movis as mv

# Создаём композицию размером 1920x1080 пикселей и длительностью 5 секунд
scene = mv.layer.Composition(size=(1920, 1080), duration=5.0)

# Добавляем фоновый прямоугольник красного цвета
scene.add_layer(mv.layer.Rectangle(scene.size, color='#fb4562'))

# Добавляем текстовый слой с анимацией появления
text_layer = scene.add_layer(
mv.layer.Text('Hello World!', font_size=100, font_family='Arial', color='#ffffff'),
offset=1.0, # Текст появится через 1 секунду
position=(960, 540), # Центр композиции
opacity=0.0 # Начальная прозрачность
)

# Анимация плавного появления текста
text_layer.opacity.enable_motion().extend([0.0, 1.0], [0.0, 1.0])

# Сохраняем видео
scene.write_video('output.mp4')


➡️Установка библиотеки: pip install movis

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Nov, 16:11


3DTopia-XL — это утилита для 3D-рендеринга и генерации текстурных моделей. Основана на современных нейросетевых подходах и использует технологии дифференцируемого рендеринга.

Предназначена для работы с 3D-объектами, их текстурами и поверхностями, а также позволяет использовать алгоритмы сглаживания и оптимизации сеток.

Основные функции и особенности:
🔵Генерация текстур с использованием методов машинного обучения.
🔵Дифференцируемый рендеринг, позволяющий обучать модели по 2D-изображениям и реконструировать 3D-структуры.
🔵Поддержка оптимизации сеток с помощью библиотек, таких как PyMCubes, pymeshlab и libigl.
🔵Генерация и обработка текстур с помощью xatlas и других инструментов.
🔵Совместимость с фреймворками, включая PyTorch и Transformers.

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Nov, 13:13


👀 Библиотека Trio в Python

Trio — это асинхронная библиотека для конкурентного программирования, которая предоставляет простой и эффективный способ написания асинхронных программ с использованием принципов asyncio, но с упрощенным и более интуитивно понятным API.

Ориентирована на использование async/await для параллельного выполнения задач, но делает акцент на безопасности и на простоте кода.

Основные особенности библиотеки:
🔵Простота и читаемость: Предоставляет более простой и чистый API по сравнению с asyncio.
🔵Стримы и каналы: Имеет удобные абстракции для работы с потоками данных и каналами, что позволяет легко организовывать асинхронную обработку данных, например, при работе с сервером или многозадачными вычислениями.
🔵Безопасность: Активно стремится избежать распространенных ошибок, таких как гонки и блокировки, предлагая безопасную работу с конкурентными задачами.
🔵Встроенная поддержка отмены задач: В Trio легко управлять отменой задач, что помогает безопасно завершать выполнение при ошибках или по запросу пользователя.
🔵Асинхронный контекст и синхронизация: Имеет механизмы синхронизации такие как nursery, который управляет жизненным циклом задач, гарантируя их безопасное завершение.
🔵Простота тестирования: Ориентирован на упрощение тестирования асинхронных программ.

➡️Установка библиотеки: pip install trio

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

27 Nov, 06:10


Код для конвертации HTML-таблицы в Excel на Python

Конвертация возможна как для одной таблицы, так и для нескольких. Если таблиц несколько, каждая из них сохраняется на отдельном листе.

Для конвертации HTML-таблицы в Excel в коде используется библиотека pandas.

➡️Установка библиотек: pip install pandas openpyxl lxml

import pandas as pd

# Чтение HTML-файла с таблицами
html_file = 'example.html' # Указываем путь к HTML-файлу с таблицами
# Читаем все таблицы из HTML-файла, возвращается список DataFrame
tables = pd.read_html(html_file)

# Проверяем, что таблицы загружены
if tables: # Условие проверяет, есть ли таблицы в списке
# Открываем Excel-файл для записи с использованием ExcelWriter
with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
# Перебираем таблицы и записываем каждую на отдельный лист
for i, table in enumerate(tables):
# Сохраняем текущую таблицу в Excel, создавая новый лист для каждой
table.to_excel(writer, sheet_name=f'Table_{i+1}', index=False)
# Сообщаем, что все таблицы успешно сохранены
print("Все таблицы успешно сохранены в Excel.")
else:
# Выводим сообщение, если таблиц в HTML-файле не обнаружено
print("Таблицы не найдены в HTML-файле.")


➡️Справочник Программиста. Подписаться

Справочник Программиста

24 Nov, 13:12


👀 Библиотека tkforge в Python

Библиотека tkforge предназначена для упрощения создания графических интерфейсов с использованием tkinter.

Позволяет генерировать код интерфейса на основе макетов, созданных в Figma, что особенно удобно для дизайнеров и разработчиков, работающих в команде.

Основные возможности библиотеки:
🔵Генерация tkinter GUI: Возможность экспортировать макеты из Figma и получить готовый Python-код, который создаёт пользовательский интерфейс в tkinter.
🔵Простота интеграции: Требуется указать ID файла Figma, токен для API и путь для сохранения сгенерированного файла.
🔵Обновления и совместимость: Предоставляет инструмент проверки обновлений для актуальности версий и исправлений.
🔵Встроенные утилиты: Например, функция преобразования RGB в HEX и выбор цвета текста на основе яркости фона.

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Nov, 13:30


Код для генерации ASCII-арта из изображения на Python

Для работы с изображением в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install Pillow

from PIL import Image


def image_to_ascii(image_path, output_path, width=100):
    # Открываем изображение по указанному пути
    img = Image.open(image_path)
    # Конвертируем изображение в градации серого ('L' - режим grayscale)
    img = img.convert('L')
    # Вычисляем соотношение сторон изображения
    aspect_ratio = img.height / img.width
    # Определяем новую высоту, сохраняя соотношение сторон
    new_height = int(aspect_ratio * width * 0.55)
    # Изменяем размер изображения согласно новым параметрам
    img = img.resize((width, new_height))

    # Получаем пиксельные данные изображения
    pixels = img.getdata()
    # Определяем набор символов для ASCII
    chars = ["@", "#", "S", "%", "?", "*", "+", ";", ":", ",", "."]
    # Преобразуем пиксели в ASCII символы
    ascii_str = "".join([chars[pixel // 25] for pixel in pixels])
    # Получаем длину строки ASCII
    ascii_str_len = len(ascii_str)
    # Формируем строку ASCII изображения с нужной шириной
    ascii_img = "\n".join([ascii_str[index: index + width] for index in range(0, ascii_str_len, width)])

    # Открываем файл в режиме для записи
    with open(output_path, "w") as f:
        # Записываем ASCII изображение в файл
        f.write(ascii_img)


image_to_ascii('image.png', 'output.txt')


➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Nov, 10:48


📺 Генерация ASCII арта из изображения на Python

В данном shorts напишем код для генерации ASCII-артов из изображения на Python.

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Nov, 16:19


👀 Библиотека AudioFlux в Python

Библиотека AudioFlux позволяет анализировать, визуализировать и обрабатывать аудио сигналы.

Разработана для работы с различными задачами, связанными с аудиосигналами, включая извлечение признаков, преобразования и анализ спектра.

Основные возможности библиотеки:
🔵Преобразования аудиосигналов: Поддержка различных видов спектральных преобразований, включая STFT (Short-Time Fourier Transform), CQT (Constant-Q Transform), и Wavelet-преобразования. Возможность анализа сигналов с высокой точностью.
🔵Извлечение признаков: Извлечение акустических характеристик, таких как мел-спектр, мел-кепстральные коэффициенты (MFCC), хрома-признаки, тональные признаки и другие.
🔵Поддержка многодиапазонных спектров: Возможность анализа сигналов в нескольких диапазонах для более детального анализа спектра.
🔵Визуализация: Инструменты для визуализации спектров, включая спектрограммы, мел-спектрограммы и CQT.
🔵Высокая производительность: Оптимизирована для работы с большими объемами аудиоданных благодаря реализации некоторых операций на C.
🔵Кросс-платформенность: Работает на Windows, macOS и Linux.

➡️Установка: pip install audioflux

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Nov, 10:51


👀 Библиотека Hug в Python

Hug — это легковесный фреймворк для создания API и web-приложений на Python. Ориентирован на упрощение разработки API, обеспечивая интуитивно понятный интерфейс и минимальные усилия при настройке.

Основные цели библиотеки: скорость, удобство и читаемость кода.

Основные особенности библиотеки:
🔵Простота использования: Минимизирует количество кода, который нужно написать для создания API. Даже базовые API могут быть реализованы всего за несколько строк кода.
🔵Многопротокольная поддержка: Поддерживает создание API для HTTP, CLI (интерфейс командной строки) и даже функций для прямого использования в Python.
🔵Автоматическая документация: Автоматически генерирует понятную документацию для ваших API, доступную по URL-адресу.
🔵Проверка данных: Поддерживает встроенную валидацию входных данных, используя аннотации типов Python и валидаторы.
🔵Высокая производительность: Работает асинхронно и оптимизирован для работы с сервером ASGI (например, с использованием Starlette или FastAPI).
🔵Масштабируемость: API, созданные на Hug, легко масштабируются благодаря поддержке асинхронных операций.

➡️Установка: pip install hug

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

08 Nov, 16:31


👀 Библиотека Dash в Python

Библиотека Dash предназначена для создания веб-приложений с интерактивными визуализациями данных.

Основана на Flask (для серверной части), React (для фронтенда) и Plotly (для построения графиков).

Основные особенности библиотеки:
🔵Интерактивные визуализации: позволяет создавать интерактивные графики и диаграммы с помощью библиотеки Plotly.
🔵Компоненты интерфейса: предлагает множество компонентов интерфейса, таких как кнопки, ползунки, выпадающие списки и т.д., что позволяет пользователям взаимодействовать с приложением.
🔵Обновление в реальном времени: возможность визуализировать и обновлять данные в реальном времени, что полезно для приложений, требующих постоянного мониторинга.
🔵Поддержка различных форматов данных: может работать с различными источниками данных, включая CSV, JSON и базы данных.
🔵Легкость развертывания: Приложения Dash легко развертывать на сервере или в облаке, что упрощает доступ к ним для конечных пользователей.
🔵Гибкость: позволяет интегрировать собственный CSS и JavaScript для создания более сложных интерфейсов и функций.

➡️Установка библиотеки: pip install dash

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

08 Nov, 12:31


👀 Библиотека python-benedict в Python

Библиотека python-benedict предназначена для работы со словарями и предоставляет расширенные возможности по сравнению с обычными словарями.

Разработана, чтобы упростить манипуляции с данными, например, извлечение вложенных значений, работу с различными форматами данных (JSON, XML, YAML и др.) и многие другие полезные функции.

Основные возможности библиотеки:
🔵Поддержка вложенных ключей (с нотацией через точку).
🔵Получение значений с использованием значений по умолчанию.
🔵Поддержка различных форматов данных (JSON, XML, YAML, TOML, INI и др.).
🔵Преобразование данных между форматами.
🔵Методы для плоской иерархии данных.
🔵Слияние словарей.
🔵Поиск по значению в словаре.
🔵Глубокое копирование и клонирование словарей.
🔵Удаление ключей, включая вложенные.
🔵Встроенные методы для работы с URL и файловыми путями.
🔵Конвертация между словарем и строками форматов (например, JSON, YAML и т.д.).

➡️Установка библиотеки: pip install "python-benedict[all]"

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

08 Nov, 09:26


⚡️Тест на знание Python ⚡️

Ответьте на 20 вопросов за 30 минут и проверьте свои знания. Квиз является частью онлайн-курса «Python Developer. Professional» от Отус.  

➡️ПРОЙТИ КВИЗ: https://vk.cc/cEeLmN

🔥Это курс для опытных разработчиков на Python и других языках программирования, веб-разработчиков, дата-сайентистов и ML-разработчиков, которые хотят углубить знания, повысить производительность и безопасность кода, создавать масштабируемые веб-приложения и анализировать данные. 

🎁Сможете пройти успешно тест - бонусом получите доступ к записям прошедших вебинаров курса.

#реклама
О рекламодателе

Справочник Программиста

07 Nov, 13:23


Код для извлечения всех таблиц из HTML-файла и преобразование их в список списков на Python

Для извлечения всех таблиц из HTML-файла в коде используется библиотека BeautifulSoup4.

➡️Установка библиотек: pip install beautifulsoup4

from bs4 import BeautifulSoup


def extract_tables_from_file(file_path):
# Открываем файл по указанному пути в режиме чтения с кодировкой UTF-8
with open(file_path, 'r', encoding='utf-8') as file:
# Читаем содержимое файла и сохраняем его в переменной html
html = file.read()

# Создаем объект BeautifulSoup для парсинга HTML-кода
soup = BeautifulSoup(html, 'html.parser')
# Инициализируем пустой список для хранения извлеченных таблиц
tables = []
# Находим все элементы <table> в HTML-документе
for table in soup.find_all('table'):
# Инициализируем пустой список для хранения строк текущей таблицы
rows = []
# Находим все строки <tr> в текущей таблице
for row in table.find_all('tr'):
# Извлекаем текст из всех ячеек <td> и <th>, убирая лишние пробелы
cells = [cell.get_text(strip=True) for cell in row.find_all(['td', 'th'])]
# Добавляем список ячеек в список строк
rows.append(cells)
# Добавляем список строк в общий список таблиц
tables.append(rows)
# Возвращаем список всех извлеченных таблиц
return tables


# Вызываем функцию и выводим результат для файла 'example.html'
print(extract_tables_from_file('example.html'))


➡️Справочник Программиста. Подписаться

Справочник Программиста

07 Nov, 06:19


👀 Библиотека EasyOCR в Python

Библиотека EasyOCR предназначена для оптического распознавания текста (OCR). Поддерживает множество языков (более 80) и отличается простотой использования.

Использует нейронные сети для распознавания текста на изображениях, работая с такими популярными библиотеками, как PyTorch и OpenCV.

Основные преимущества библиотеки:
🔵Многоязычная поддержка: поддерживает более 80 языков, включая сложные, такие как китайский, японский и корейский.
🔵Простота использования: установка и использование библиотеки максимально упрощены.
🔵Высокая точность: благодаря использованию современных нейронных сетей, распознавание текста становится более точным, особенно для сложных шрифтов и искажений.

➡️Установка библиотеки: pip install easyocr

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

06 Nov, 13:37


👀 Библиотека Vosk в Python

Библиотека Vosk позволяет преобразовывать аудио в текст без необходимости подключения к интернету.

Поддерживает множество языков, включая русский и английский, и может использоваться на различных платформах, таких как Android, iOS, Raspberry Pi и серверы с Python, Java, C#, Swift и Node.js.

Основные особенности библиотеки:
🔵Поддержка многих языков: поддерживает различные языки и диалекты, что делает её гибким инструментом для многоязычных приложений.
🔵Офлайн-работа: в отличие от большинства современных решений, таких как Google Speech API или Microsoft Azure Speech, Vosk работает полностью офлайн.
🔵Поддержка разных платформ: совместима с Linux, Windows, macOS и даже мобильными платформами, такими как Android и iOS.
🔵Низкие системные требования: может работать на маломощных устройствах, таких как Raspberry Pi.
🔵Простая интеграция с Python: предоставляет удобный Python API, что упрощает её использование в проектах.

➡️Установка библиотеки: pip install vosk

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

06 Nov, 06:17


Код для конвертации всех PDF-документов в директории в Word на Python

Для конвертации PDF-документов в коде используется библиотека pdf2docx.

➡️Установка библиотек: pip install pdf2docx

from pathlib import Path
from pdf2docx import Converter

# Определяем путь к директории с PDF файлами
pdf_dir = Path('pdf_files')
# Определяем путь к директории, куда будут сохранены DOCX файлы
docx_dir = Path('docx_files')

# Проверяем, существует ли директория для DOCX файлов
if not docx_dir.exists():
# Если директория не существует, создаём её
docx_dir.mkdir()

# Проходимся по всем PDF файлам в директории pdf_files
for pdf_file in pdf_dir.glob('*.pdf'): # Используем метод glob для поиска всех файлов с расширением .pdf
# Создаём путь для нового DOCX файла, заменяя расширение на .docx
docx_file = docx_dir / pdf_file.with_suffix('.docx').name
# Создаем экземпляр Converter для текущего PDF файла
cv = Converter(pdf_file)
# Конвертируем PDF файл в DOCX и сохраняем его по указанному пути
cv.convert(docx_file)
# Закрываем экземпляр Converter после завершения конвертации
cv.close()


➡️Справочник Программиста. Подписаться

Справочник Программиста

05 Nov, 10:47


👀 Библиотека regex в Python

Библиотека regex — это продвинутая альтернатива стандартному модулю re для работы с регулярными выражениями.

Основные особенности библиотеки:
🔵Поддержка вложенных шаблонов регулярных выражений.
🔵Расширенные группы и обратные ссылки (именованные и нумерованные).
🔵Поддержка нечеткого поиска с возможностью задавать количество допустимых ошибок.
🔵Оптимизированная работа с Unicode, включая улучшенные границы слов и поддержку сложных символов.
🔵Поддержка повторяющихся шаблонов и использование оператора \G для поиска внутри строки.
🔵Расширенные флаги для более гибкого управления шаблонами, включая POSIX-совместимые регулярные выражения.
🔵Кеширование предыдущих совпадений для оптимизации поиска по большим текстам.
🔵Поддержка параллельных операций для повышения производительности.
🔵Дополнительные возможности по контролю совпадений, такие как негативные и позитивные просмотры.
🔵Возможность более гибкой работы с шаблонами и регулярными выражениями по сравнению со стандартной библиотекой re.

➡️Установка библиотеки: pip install regex

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

25 Oct, 07:05


👀 Библиотека stumpy в Python

Библиотека stumpy предназначена для вычисления матричных профилей и анализа временных рядов с использованием алгоритмов, оптимизированных для высокой производительности.

Особенно полезна для обнаружения паттернов, аномалий и сегментации временных рядов.

Основные функции библиотеки:
🔵Matrix Profile (матричный профиль): Матричный профиль - это вектор минимальных расстояний между подокнами временного ряда. Данный метод позволяет обнаруживать повторяющиеся шаблоны (мотивы) и аномалии в данных.
🔵MOTIF Discovery (поиск мотивов): Помогает находить повторяющиеся структуры (мотивы) в данных временных рядов.
🔵Discord Detection (обнаружение аномалий): Discords - это подстроки временных рядов, которые сильно отличаются от всех остальных. stumpy эффективно ищет такие уникальные аномалии, что важно для задач мониторинга и прогнозирования.
🔵Segment Discovery (сегментация): Используется для разбивки временного ряда на сегменты на основе структурных изменений в данных.

➡️Установка библиотеки: pip install stumpy

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

24 Oct, 11:34


👀 Библиотека fpdf2 в Python

Библиотека fpdf2 — это инструмент для создания PDF-документов программным способом. Является обновлённой и расширенной версией оригинальной библиотеки FPDF, которая долгое время использовалась для тех же целей.

В отличие от других библиотек, таких как ReportLab, fpdf2 фокусируется на простоте использования и лёгкости в освоении.

Основные возможности библиотеки:
🔵Создание PDF с нуля: позволяет легко создавать новые PDF-документы с текстом, изображениями, таблицами и графикой.
🔵Поддержка различных форматов шрифтов: TrueType, OpenType, CID-encoded шрифты и другие.
🔵Многостраничные документы: можно добавлять множество страниц и контролировать их параметры (размер, ориентацию и т. д.).
🔵Создание таблиц и графиков: упрощает генерацию таблиц и добавление диаграмм.
🔵Встраивание изображений: поддержка различных форматов изображений, включая JPEG, PNG и GIF.
🔵Международные символы: поддержка Юникода позволяет легко работать с текстами на разных языках.
🔵Гибкость настройки: позволяет точно контролировать внешний вид документа — размер страниц, поля, выравнивание текста, цвета и так далее.

Пример использования библиотеки:
from fpdf import FPDF

# Создаём PDF-документ
pdf = FPDF()
pdf.add_page()

# Устанавливаем шрифт
pdf.set_font("helvetica", size=12)

# Добавляем текст
pdf.cell(200, 10, text="Hello, World!", align='C')

# Сохраняем PDF
pdf.output("hello_world.pdf")


➡️Установка библиотеки: pip install fpdf2

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

24 Oct, 06:20


📂 Код для автоматического создания и удаления временных файлов на Python

В программировании часто возникает необходимость в создании временных файлов, которые используются для промежуточного хранения данных, а затем автоматически удаляются после завершения работы. В Python мы можем упростить эту задачу с помощью контекстных менеджеров.

Для создания временных файлов в коде используется модуль tempfile, для создания контекстного менеджера - contextlib, а для работы с файловой системой и удаления файла - pathlib.

import tempfile
from contextlib import contextmanager
from pathlib import Path
import time


@contextmanager
def temporary_file(suffix='', prefix='tmp', dir=None):
temp_file = tempfile.NamedTemporaryFile(suffix=suffix, prefix=prefix, dir=dir, delete=False)
try:
# Возвращаем имя временного файла
yield temp_file.name
finally:
# Закрываем файл перед удалением
temp_file.close()
time.sleep(5)
try:
# Используем unlink() для удаления файла
Path(temp_file.name).unlink()
except OSError as e:
print(f"Ошибка при удалении файла {temp_file.name}: {e}")


# Пример использования
if __name__ == "__main__":
with temporary_file(suffix='.txt') as temp_file_name:
print(f"Создан временный файл: {temp_file_name}")
# Работа с временным файлом
try:
with open(temp_file_name, 'w', encoding='utf-8') as f:
f.write("Привет, мир!")
except Exception as e:
print(f"Ошибка при записи в файл {temp_file_name}: {e}")

print("Временный файл удалён автоматически.")


➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Oct, 10:50


👀 Библиотека logfire в Python

Библиотека logfire разработана для удобного и структурированного логирования. Предназначена для работы с библиотекой Pydantic и позволяет автоматически генерировать лог-сообщения из классов Pydantic.

Основные возможности библиотеки:
🔵Автоматическое логирование: Позволяет автоматически добавлять контекстные данные в логи, используя модели Pydantic. Это упрощает процесс логирования, поскольку вам не нужно вручную добавлять поля в каждое сообщение.
🔵Структурированные логи: Поддерживает структурированные логи, что позволяет лучше анализировать данные.
🔵Интеграция с существующими библиотеками: Может быть интегрирован с другими библиотеками для логирования, такими как logging, что позволяет использовать его в уже существующих проектах без необходимости полной переработки логирования.
🔵Гибкая конфигурация: Пользователи могут настраивать, какие поля и данные будут включены в логи, а также управлять форматом сообщений.
🔵Поддержка типов: Благодаря Pydantic, logfire обеспечивает строгую типизацию данных, что помогает избежать ошибок и улучшает читаемость кода.

➡️Установка библиотеки: pip install logfire

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

23 Oct, 06:19


👀 Библиотека Boltons в Python

Библиотека Boltons предоставляет набор модулей с утилитами и функциями для повседневной разработки. Cодержит коллекцию функций и классов, которые можно рассматривать как расширение стандартной библиотеки Python.

Особенностью Boltons является то, что она не привносит новых зависимостей и сосредоточена на предоставлении простых и удобных инструментов.

Преимущества библиотеки:
🔵Легкость и простота: Не добавляет лишних зависимостей, что делает её быстрой и компактной.
🔵Модульность: Все утилиты разделены по функциональным модулям, что позволяет использовать только нужные компоненты.
🔵Документированность: Хорошо документирована, что облегчает её освоение.

➡️Установка библиотеки: pip install boltons

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

22 Oct, 16:56


👀 Библиотека Ibis в Python

Ibis - это библиотека для аналитики данных в Python, предназначенная для упрощения работы с большими данными и абстрагирования сложности различных систем управления базами данных (СУБД).

Её основная цель предоставить высокоуровневый интерфейс для написания запросов к базам данных в Python с использованием синтаксиса, напоминающего Pandas.

Основные особенности библиотеки:
🔵Абстрагирование от SQL: позволяет писать запросы на языке, схожем с Pandas, что значительно упрощает работу с большими данными, не заставляя разработчика вручную писать SQL-запросы.
🔵Совместимость с различными системами хранения данных: поддержка таких СУБД, как PostgreSQL, MySQL, Clickhouse, BigQuery, Impala и многих других. Интеграция с аналитическими системами, включая Apache Spark, Dask и другие распределённые системы.
🔵Ленивая оценка: не выполняет запросы сразу. Вместо этого, она строит выражения, которые можно преобразовать в SQL-запрос, и только когда явно требуется результат (например, execute()), запрос отправляется в базу данных.
🔵Возможность работы с большими данными: оптимизирована для обработки огромных наборов данных, позволяя пользователю эффективно работать с ними на кластерах данных без необходимости загружать все данные в память.

➡️Установка библиотеки: pip install 'ibis-framework[duckdb,examples]'

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

21 Oct, 10:41


PyUIBuilder - интуитивно понятный конструктор графического интерфейса для Python, который позволяет создавать пользовательские интерфейсы с помощью методов перетаскивания и размещения элементов.

Поддерживает несколько фреймворков, включая Tkinter, CustomTkinter и Kivy (в будущем также планируется поддержка PySide).

Основные функции:
🔵Независимость от фреймворка: Способен генерировать код для нескольких фреймворков, что делает его универсальным инструментом для разработчиков.
🔵Предустановленные виджеты: Включает готовые элементы интерфейса, которые можно просто перетаскивать на рабочую область.
🔵Поддержка менеджеров компоновки: Позволяет использовать разные методы расположения элементов, такие как флекс, сетка и абсолютное позиционирование.
🔵Генерация кода на Python: Сгенерированный код легко редактировать, так как он написан на Python.

📱 Репозиторий
⚙️ Документация
💬 Онлайн-конструктор

➡️Справочник Программиста. Подписаться

Справочник Программиста

21 Oct, 06:21


Подборка самых популярных алгоритмов на Python

Обширная коллекцию алгоритмов и структур данных, реализованных на Python.

Данный проект охватывает множество тем и концепций, что делает его полезным как для начинающих программистов, так и для более опытных разработчиков.

📱 Ссылка на репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

20 Oct, 10:08


👀 Библиотека vectorlite-py в Pyhton

Библиотека vectorlite-py предназначена для быстрого поиска векторов в базе данных SQLite.

Позволяет выполнять эффективные запросы для поиска ближайших соседей по векторам, что полезно в задачах, связанных с рекомендательными системами, поисковыми движками и машинным обучением.

Основные возможности библиотеки:
🔵Хранение и запрос векторов: Векторы могут храниться в виде BLOB (двоичных данных) в таблицах SQLite, что позволяет использовать запросы для поиска ближайших соседей.
🔵Поиск методом грубой силы: Функция vector_distance() может выполнять точный поиск путем сравнения расстояний между векторами, используя такие метрики, как косинусное расстояние и расстояние L2.
🔵Виртуальные таблицы: Поддерживает виртуальные таблицы, которые создают индексы для ускорения поиска. Для более быстрого поиска используются графы HNSW (иерархические навигационные маломирные графы).

➡️Установка библиотеки: pip install vectorlite-py

📱 Репозиторий
⚙️ Документация
Примеры

➡️Справочник Программиста. Подписаться

Справочник Программиста

19 Oct, 06:43


👀 Библиотека tkintermapview в Python

Библиотека tkintermapview предоставляет виджет для отображения карт в приложениях, разработанных с использованием tkinter. Позволяет интегрировать карты на основе OpenStreetMap.

Основные возможности библиотеки:
🔵Отображение карт: Позволяет загружать карты из OpenStreetMap и отображать их в приложении.
🔵Поддержка маркеров: Возможность добавлять маркеры на карту, чтобы обозначить определенные точки.
🔵Масштабирование и панорамирование: Пользователи могут масштабировать и перемещать карту для получения более детальной информации о конкретных областях.
🔵Кастомизация: Позволяет настраивать внешний вид карты и маркеров, включая их цвет, размер и стиль.
🔵Работа с координатами: Можно легко работать с координатами (широта и долгота) для определения местоположений на карте.

Пример использования библиотеки:
import tkinter as tk
from tkintermapview import TkinterMapView

# Создание главного окна
root = tk.Tk()
root.title("Пример TkinterMapView")

# Создание виджета карты
map_view = TkinterMapView(root, width=800, height=600, corner_radius=0)
map_view.pack(fill="both", expand=True)

# Установка начального местоположения и уровня масштабирования
map_view.set_position(55.030204, 82.920430) # Новосибирск
map_view.set_zoom(10)

# Добавление маркера
map_view.set_marker(55.030204, 82.920430, "Новосибирск")

# Запуск главного цикла приложения
root.mainloop()


➡️Установка библиотеки: pip install tkintermapview

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

18 Oct, 06:14


👀 Библиотека csv-trimming в Python

Библиотека csv-trimming предназначена для упрощения работы с CSV-файлами, позволяя удалять пробелы, символы новой строки и другие нежелательные символы из значений ячеек.

Полезна, когда нужно очистить данные перед их дальнейшей обработкой или анализом.

Основные возможности библиотеки:
🔵Обрезка пробелов: Удаляет ведущие и завершающие пробелы в строках.
🔵Удаление символов: Позволяет удалять или заменять нежелательные символы в значениях.
🔵Поддержка различных кодировок: Может работать с различными кодировками CSV-файлов.
🔵Поддержка заголовков: Поддерживает работу с файлами, содержащими заголовки столбцов.

➡️Установка библиотеки: pip install csv-trimming

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

17 Oct, 11:13


🖥 Утилита pisegment в Python

Утилита pisegment предназначена для полууправляемой сегментации изображений.

Может использоваться для задач сегментации изображений, выделения фона и семантической сегментации.

Основные особенности утилиты:
🔵Поддержка работы через графический интерфейс, где можно вручную размечать изображение с помощью правой кнопки мыши и выбирать из 9 цветов для аннотаций.
🔵После аннотирования процесс сегментации запускается автоматически.
🔵Инструмент также поддерживает возможность настройки параметров, таких как подавление шума и размер патча для ускорения обработки.

➡️Установка: pip install pisegment

Пример запуска сегментации:
pisegment --input "path/to/image/tobe/segmented" --mask "path/to/the/generated/annotation"


📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

17 Oct, 06:07


👀 Библиотека apsw в Python

Библиотека apsw (Another Python SQLite Wrapper) предназначена для работы с SQLite в Python. Предоставляет более низкоуровневый доступ к функциям SQLite по сравнению с стандартным модулем sqlite3.

Основные особенности и преимущества библиотеки:
🔵Полный доступ к SQLite: предоставляет полный доступ ко всем возможностям SQLite, включая расширения и новые функции, которые могут не поддерживаться в стандартной библиотеке sqlite3.
🔵Поддержка пользовательских функций: позволяет создавать собственные функции и методы, которые могут использоваться в SQL-запросах, что позволяет расширить функциональность SQLite.
🔵Многопоточность: лучше справляется с многопоточными приложениями благодаря более продвинутым механизмам блокировки и управления транзакциями.
🔵Отладка и диагностика: включает инструменты для диагностики и отладки, что может быть полезно при работе с большими и сложными базами данных.
🔵Соблюдение стандартов: следует стандартам Python и SQLite, что обеспечивает высокую степень совместимости.

Пример использования библиотеки:
import apsw

# Создаём базу данных
connection = apsw.Connection("example.db")
cursor = connection.cursor()

# Создаём таблицу
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")

# Вставляем данные
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Иван",))
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Ирина",))

# Извлекаем данные
for row in cursor.execute("SELECT * FROM users"):
print(row)

# Закрываем соединение
connection.close()


➡️Установка библиотеки: pip install apsw

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

16 Oct, 10:42


Код для добавления блюра определённой области изображения на Python

Для добавления блюра в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install Pillow

from PIL import Image, ImageFilter


def add_blur_to_area(image_path, output_path, box):
# Открываем изображение
image = Image.open(image_path)

# Извлекаем область для размытия
area = image.crop(box)

# Применяем блюр к области
blurred_area = area.filter(ImageFilter.GaussianBlur(radius=10))

# Вставляем размытую область обратно в изображение
image.paste(blurred_area, box)

# Сохраняем новое изображение
image.save(output_path)


# Пример использования
image_path = 'image.jpg' # Путь к вашему изображению
output_path = 'output_image.jpg' # Путь к сохранению нового изображения
box = (50, 900, 700, 1400) # Задаём координаты области (x1, y1, x2, y2)

add_blur_to_area(image_path, output_path, box)


➡️Справочник Программиста. Подписаться

Справочник Программиста

16 Oct, 06:12


👀 Библиотека tktimepicker в Python

Библиотека tktimepicker предоставляет виджет выбора времени для интерфейсов, разработанных с использованием библиотеки tkinter.

Позволяет пользователям легко выбирать время с помощью графического интерфейса, что упрощает взаимодействие с приложением.

Основные возможности
🔵Выбор времени: Пользователи могут выбирать часы и минуты.
🔵Настраиваемость: Виджет можно настраивать по своему усмотрению, изменяя такие параметры, как цвет, размеры и шрифты.
🔵Простота использования: Легко интегрируется в существующие приложения на tkinter, что позволяет быстро добавить функционал выбора времени.
🔵Поддержка форматов: Возможность настроить формат времени (например, 12-часовой или 24-часовой).

Пример использования библиотеки:
import tkinter as tk
from tktimepicker import AnalogPicker, AnalogThemes

# Создаём основное окно приложения
root = tk.Tk()

# Создаём виджет выбора времени и передаем ему основное окно
time_picker = AnalogPicker(root)
# Размещаем виджет, позволяя ему расширяться и заполнять все доступное пространство
time_picker.pack(expand=True, fill="both")

# Создаём объект темы для виджета выбора времени
theme = AnalogThemes(time_picker)
# Устанавливаем тему Dracula для виджета
theme.setDracula()

root.mainloop()


➡️Установка библиотеки: pip install tkTimePicker

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

15 Oct, 13:10


Библиотека clean-text в Python

Библиотека clean-text предназначена для очистки текстов от нежелательных символов и форматирования.

Помогает удалять эмодзи, ненужные символы, лишние пробелы и проводить другие операции для подготовки текста к анализу или обработке.

Основные возможности библиотеки:
🔵Удаление нежелательных символов: Помогает избавиться от символов, которые могут мешать обработке текста, например, эмодзи, спецсимволов и других нежелательных элементов.
🔵Нормализация текста: Позволяет нормализовать текст, что включает в себя приведение его к нижнему регистру, удаление или замену специфических символов и строк.
🔵Удаление HTML-тегов: Может быть полезна для удаления тегов HTML из текста, чтобы упростить его дальнейшую обработку.
🔵Работа с символами Unicode: Предоставляет функциональность для обработки символов Unicode и их замены на стандартные символы.

➡️Установка библиотеки: pip install clean-text

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

15 Oct, 10:40


👀 Фреймворк Django-Unicorn в Python

Фреймворк Django-Unicorn добавляет функциональность реактивных компонентов в шаблоны Django. Позволяет создавать интерактивные элементы без необходимости изучать новый язык шаблонов или использовать сложные JavaScript-фреймворки.

Использует Livewire-подобную архитектуру, где связь между клиентом и сервером происходит асинхронно, без необходимости перезагрузки страницы.

Основные особенности фреймворка:
🔵Компоненты: объединение логики Python и HTML-шаблонов в одном модуле.
🔵Реактивные компоненты: автоматическое обновление интерфейса при изменении данных или событиях.
🔵Синхронизация состояния: динамическое обновление данных между клиентом и сервером без перезагрузки страницы.
🔵Асинхронная работа: поддержка асинхронных методов для обработки запросов в фоновом режиме.
🔵Минимальное использование JavaScript: позволяет создавать интерактивные интерфейсы с минимальной потребностью в JS.
🔵Легкая интеграция: простая установка и настройка в проектах Django.
🔵Совместимость с шаблонами Django: полная поддержка работы с Django ORM и другими функциями фреймворка.
🔵Поддержка событий и действий: возможность вызова серверных методов при взаимодействии с элементами интерфейса (клики, ввод данных и т.д.).

➡️Установка библиотеки: pip install django-unicorn

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

14 Oct, 16:18


Библиотека Jedi в Python

Библиотека Jedi предназначена для поддержки интеллектуального анализа кода, автодополнения и навигации в Python-коде.

Используется в различных редакторах кода, таких как Vim, Emacs, Sublime Text, а также в некоторых IDE для предоставления таких функций, как:
🔵Автодополнение кода на основе контекста.
🔵Навигация по исходному коду, включая переход к определению функции или переменной.
🔵Интеллектуальный анализ кода с учётом типов.
🔵Проверка кода на предмет возможных ошибок.

➡️Установка библиотеки: pip install jedi

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться

Справочник Программиста

14 Oct, 06:15


👀 Библиотека PandasGUI в Python

Библиотека PandasGUI предоставляет графический интерфейс для работы с данными в формате DataFrame из библиотеки pandas.

Упрощает процесс анализа и визуализации данных, позволяя пользователям взаимодействовать с данными без необходимости писать код для каждой операции.

Основные возможности библиотеки:
🔵Графический интерфейс для DataFrame: Возможность загружать данные из разных источников (CSV, Excel, SQL и т.д.) и просматривать их в формате таблицы. Также доступны такие функции, как сортировка, фильтрация и групповое редактирование данных через удобные меню.
🔵Визуализация данных: Включает инструменты для создания графиков и диаграмм без написания кода.
🔵Работа с большими объемами данных: Поддерживает работу с большими наборами данных, используя механизмы отложенной загрузки и обработки данных по частям.
🔵Возможность работы с несколькими DataFrame: Возможность загружать и управлять несколькими наборами данных одновременно.
🔵Легкость использования: Ориентирована как на новичков, так и на опытных пользователей. Она делает работу с данными в pandas более интерактивной и интуитивно понятной.

Пример использования библиотеки:
import pandas as pd
from pandasgui import show

# Создаем DataFrame
data = pd.DataFrame({
'Имя': ['Анна', 'Борис', 'Виктор', 'Галина'],
'Возраст': [23, 30, 35, 29],
'Город': ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Казань']
})

# Запускаем PandasGUI
show(data)


➡️Установка библиотеки: pip install pandasgui

📱 Репозиторий

➡️Справочник Программиста. Подписаться

Справочник Программиста

13 Oct, 13:20


🗂 Код для архивации данных на Python

Для архивации в коде используются стандартные модули os и zipfile

import zipfile
import os


def archive_folder(zip_name, folder_path):
# Создаём новый ZIP-архив с именем zip_name
# Параметр 'w' означает, что мы создаём архив с нуля, ZIP_DEFLATED для сжатия
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf:
# Используем os.walk для рекурсивного обхода всех файлов и папок внутри folder_path
for root, dirs, files in os.walk(folder_path):
# Проходимся по всем файлам в текущей директории
for file in files:
# Получаем полный путь к файлу
file_path = os.path.join(root, file)
# Добавляем файл в архив, сохраняя относительный путь от корневой папки
zipf.write(file_path, os.path.relpath(file_path, folder_path))
# Выводим сообщение о том, что файл был добавлен
print(f'Файл {file_path} добавлен в архив.')


# Пример использования
folder_to_archive = 'my_folder' # Указываем папку, которую хотим архивировать
archive_name = 'my_folder_archive.zip' # Указываем имя для создаваемого архива

# Вызываем функцию архивации папки
archive_folder(archive_name, folder_to_archive)


➡️Справочник Программиста. Подписаться

Справочник Программиста

13 Oct, 06:20


Библиотека emoji в Python

Библиотека emoji предназначена для работы с эмодзи, упрощая процесс их добавления и использования в тексте.

Поддерживает добавление эмодзи как по их коротким кодам (например, :smile:), так и непосредственно через их Unicode-символы.

Пример добавления эмодзи:
import emoji
print(emoji.emojize("Python is fun :snake:"))
# Вывод: Python is fun 🐍


➡️Установка библиотеки: pip install emoji

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться