Справочник Программиста
6.26K subscribers
1.37K photos
387 videos
64 files
1.73K links
По рекламе - @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

Предложить идею: @it_start_suggestion_bot
Download Telegram
Справочник Программиста
📺 Генерация ASCII арта из изображения на Python В данном shorts напишем код для генерации ASCII-артов из изображения на Python. ➡️Справочник Программиста. Подписаться
Код для генерации 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')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4❤‍🔥2
👀 Библиотека tkforge в Python

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека audio-separator в Python

Библиотека audio-separator предназначена для разделения аудиотреков на отдельные источники, такие как вокал, инструментальные партии и другие компоненты.

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

Основные особенности библиотеки:
🔵Удобный интерфейс: предоставляет простой API для обработки аудиофайлов.
🔵Поддержка различных форматов: может работать с форматами MP3, WAV и другими популярными аудиоформатами.
🔵Гибкость настроек: возможность выбрать количество источников для разделения (например, вокал + аккомпанемент, отдельные инструменты).
🔵Основана на pre-trained моделях: используется предобученная архитектура, что позволяет разделять аудио без дополнительного обучения.

➡️Установка: pip install audio-separator

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥2
👀 Библиотека PyPika в Python

Библиотека PyPika предназначена для генерации SQL-запросов с использованием объектно-ориентированного подхода.

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

Основные возможности библиотеки:
🔵Создание запросов SELECT, INSERT, UPDATE и DELETE.
🔵Поддержка соединений (JOIN), подзапросов и группировок.
🔵Управление фильтрами WHERE, ORDER BY и LIMIT.
🔵Совместимость с различными SQL-диалектами (PostgreSQL, MySQL, SQLite и др.).
🔵Расширяемость за счёт пользовательских функций и выражений.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍6🔥3
Deep-Live-Cam — это утилита, предназначенная для создания виртуальной камеры, которая обрабатывает и изменяет видеопоток (создаёт дипфейк) с использованием нейронных сетей.

Основные возможности:
🔵Применение эффектов в реальном времени:
🟢Наложение фильтров на лицо;
🟢Подмена фона;
🟢Встраивание виртуальных объектов в видеопоток;
🟢Изменение выражений лица с помощью GAN (Generative Adversarial Networks).
🔵Виртуальная камера: Может передавать обработанное видео в качестве потока в такие приложения, как Zoom, Skype, Discord, OBS и другие, где поддерживаются виртуальные камеры.
🔵Поддержка современных технологий:
🟢Использование библиотек глубокого обучения, таких как TensorFlow, PyTorch или OpenCV;
🟢Работа с аппаратным ускорением (например, GPU для повышения производительности).
🔵Программируемые сценарии:
🟢Возможность настройки пользовательских фильтров и алгоритмов обработки;
🟢Расширяемость через кастомные модули.

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🔥2🎄1
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека LangFun в Python

Библиотека LangFun позволяет взаимодействовать с моделями больших языковых моделей (LLM).

Разработана для упрощения интеграции LLM в проекты, обеспечивая гибкость в работе с различными моделями, такими как GPT, Gemini, Claude, Groq, и другими.

Основные возможности библиотеки:
🔵Единый интерфейс для работы с различными LLM (GPT, Gemini, Claude и др.);
🔵Поддержка шаблонов на базе Jinja2 для форматирования запросов;
🔵Работа с мультимодальными объектами (изображения, видео, PDF);
🔵Инструменты для параллельной обработки запросов;
🔵Возможности кэширования и контроля частоты запросов;
🔵Интеграция REST API для работы с моделями через стандартные HTTP-запросы;
🔵Инструменты генерации и выполнения кода;
🔵Система оценки моделей (FunEval) с возможностью визуализации результатов.

➡️Установка: pip install langfun[all]

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для конвертации 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-файле.")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека Trio в Python

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

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3👍1
3DTopia-XL — это утилита для 3D-рендеринга и генерации текстурных моделей. Основана на современных нейросетевых подходах и использует технологии дифференцируемого рендеринга.

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека 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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥2👍2🤨1
Wakepy — это небольшая утилита на Python, предназначенная для предотвращения перехода компьютера в спящий режим.

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍4🔥2😁1
👀 Библиотека surya в Python

Библиотека surya представляет собой инструмент для обработки документов с помощью OCR, обеспечивая точное обнаружение текста на уровне строк.

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

Основные особенности библиотеки:
🔵Обнаружение строк текста: Детектирует и аннотирует строки текста на изображениях или PDF-документах, предоставляя точные координаты ограничивающих прямоугольников или полигонов для каждого обнаруженного текста.
🔵Многоязычная поддержка: Поддерживает распознавание текста на различных языках.
🔵Гибкость интеграции: может использоваться как через командную строку, так и в Python-приложениях. В API доступны модели для распознавания текста и его детекции, которые возвращают результаты в структурированном виде — координаты ограничивающих прямоугольников, полигоны и распознанный текст.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥3🔥3