Справочник Программиста
6.37K subscribers
1.29K photos
374 videos
64 files
1.61K 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
text-extract-api — это инструмент, предназначенный для высокоточного преобразования изображений, PDF и офисных документов в текст в формате Markdown или структурированные JSON-документы.

Построен на основе FastAPI и использует Celery для асинхронной обработки задач, а Redis — для кэширования результатов OCR.

Основные возможности:
🔵Локальная обработка без облачных зависимостей: Использует PyTorch-базированные OCR и модели Ollama, которые настраиваются через docker-compose, обеспечивая конфиденциальность данных.
🔵Преобразование PDF/Office в Markdown и JSON: Обеспечивает высокую точность распознавания, включая табличные данные, числа и математические формулы, с использованием различных стратегий OCR, таких как Marker, LLama3.2-vision, Surya-OCR и Tesseract.
🔵Улучшение результатов OCR с помощью LLM: Модели LLama помогают исправлять орфографические ошибки и другие неточности в тексте, полученном после OCR.
🔵Удаление персональных данных (PII): Инструмент может использоваться для удаления личной информации из документов.
🔵Асинхронная обработка задач: Использование Celery для распределенной обработки задач.
🔵Кэширование с помощью Redis: Позволяет легко кэшировать результаты OCR перед обработкой LLM.
🔵Гибкие стратегии хранения: Поддерживает различные варианты хранения, включая Google Drive и локальную файловую систему.
🔵CLI для управления задачами: Предоставляет командную строку для отправки задач и обработки результатов.

➡️Установка:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api


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

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

Библиотека PyWebIO позволяет создавать веб-интерфейсы без необходимости писать HTML, CSS или JavaScript.

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

Основные возможности библиотеки:
🔵Вывод текста, изображений, таблиц и графиков
🔵Ввод данных с различных элементов формы (текстовые поля, кнопки, переключатели и т. д.)
🔵Загрузка и скачивание файлов
🔵Чат-подобные диалоги и уведомления
🔵Поддержка асинхронных задач
🔵Запуск в разных режимах: встраиваемый сервер, FastAPI, Flask, Django

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Код для распаковки zip-архива на Python

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

import zipfile


def unzip_file(zip_path, extract_path):
# Открытие zip-файла в режиме для чтения
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
# Извлечение содержимого zip-архива
zip_ref.extractall(extract_path)


if __name__ == '__main__':
unzip_file('example.zip', '')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Python Tutor – это онлайн-инструмент для визуализации Python-кода.

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

Основные возможности:
🔵Пошаговое выполнение кода – можно увидеть, как изменяются переменные и структуры данных на каждом этапе.
🔵Графическое представление памяти – показывает, какие объекты хранятся в памяти и как они связаны.
🔵Поддержка нескольких языков – кроме Python, поддерживает C, C++, Java, JavaScript и другие.
🔵Режим совместной работы – позволяет делиться кодом с другими и совместно анализировать его.
🔵Интерактивный режим – можно менять код и сразу видеть, как изменится выполнение.

🔗 Python Tutor

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

Библиотека MPLD3 связывает Matplotlib с D3.js, позволяя конвертировать графики Matplotlib в интерактивные веб-графики.

Упрощает встраивание визуализаций в веб-приложения без необходимости писать код на JavaScript.

Основные возможности библиотеки:
🔵Конвертация графиков Matplotlib в HTML + JavaScript (D3.js)
🔵Интерактивность — поддержка наведения, масштабирования, выделения данных.
🔵Плагины — добавление интерактивных элементов, таких как всплывающие подсказки.
🔵Легкость интеграции — позволяет сохранять графики в виде HTML-файлов или внедрять их в веб-страницы.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🔥2
Код для удаления метаданных Excel-файла на Python

Для удаления метаданных из Excel-файла в коде используется библиотека openpyxl.

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

import openpyxl


def remove_metadata(file_path, output_path):
# Загружаем Excel-файл
wb = openpyxl.load_workbook(file_path)

# Удаляем метаданные документа
wb.properties.creator = None # Удаляем информацию о создателе
wb.properties.lastModifiedBy = None # Удаляем информацию о последнем редактировавшем
wb.properties.title = None # Удаляем заголовок документа
wb.properties.subject = None # Удаляем тему документа
wb.properties.description = None # Удаляем описание документа
wb.properties.keywords = None # Удаляем ключевые слова
wb.properties.category = None # Удаляем категорию документа
wb.properties.contentStatus = None # Удаляем статус контента

# Удаляем определенные имена (если есть)
for name in list(wb.defined_names): # Перебираем именованные диапазоны
del wb.defined_names[name] # Удаляем каждое определенное имя

# Сохраняем файл без метаданных
wb.save(output_path) # Сохраняем изменения в новый файл
print(f"Метаданные удалены. Файл сохранен как {output_path}") # Выводим сообщение об успешном удалении


if __name__ == "__main__":
remove_metadata("input.xlsx", "output.xlsx")


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

Библиотека translators — это удобный инструмент для работы с онлайн-переводчиками в Python.

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

Основные возможности библиотеки:
🔵Поддержка множества онлайн-переводчиков.
🔵Простота использования (не требует API-ключей).
🔵Поддержка многопоточного перевода.
🔵Возможность парсинга оригинального ответа от сервисов.

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

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

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

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

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

from pathlib import Path
from PIL import Image


def images_to_pdf(image_folder: str, output_pdf: str) -> None:
# Получаем список всех файлов в указанной папке, сортируем их
image_paths = Path(image_folder).glob("*.*")

# Открываем изображения, конвертируем их в формат RGB и фильтруем по разрешённым расширениям
images = [Image.open(img).convert("RGB") for img in image_paths if
img.suffix.lower() in {'.png', '.jpg', '.jpeg', '.bmp', '.gif'}]

if images:
# Сохраняем первый файл как PDF, добавляя остальные изображения в документ
images[0].save(output_pdf, save_all=True, append_images=images[1:])
print(f'PDF успешно сохранён: {output_pdf}')
else:
# Выводим сообщение, если изображений не найдено
print('Нет изображений для конвертации.')


if __name__ == '__main__':
images_to_pdf('папка_с_изображениями', 'результат.pdf')


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

Библиотека fastapi-plugins предназначена для удобного управления ресурсами в FastAPI, такими как кеш Redis, базы данных, очереди задач и другие внешние сервисы.

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

Основные возможности библиотеки:
🔵Простое подключение ресурсов (например, Redis, SQLAlchemy);
🔵Автоматическая инициализация и закрытие соединений;
🔵Поддержка lifespan-событий в FastAPI;
🔵Работа с конфигурацией через pydantic.Settings.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍2🔥2
ClearerVoice-Studio — это открытый AI-инструмент для обработки речи.

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

Основные возможности:
🔵Улучшение речи
🔵Разделение речевых сигналов
🔵Извлечение целевого говорящего
🔵Предобученные модели
🔵Скрипты для обучения и инференса

📱 Репозиторий
🔗 HuggingFace Demo
🔗 ModelScope Demo
🔗 SpeechScore Demo

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
TestZeus Hercules — это первый в мире открытый тестировочный агент, предназначенный для автоматизации тестирования современных веб-приложений.

Преобразует простые шаги, написанные на языке Gherkin, в полностью автоматизированные end-to-end тесты, не требующие навыков программирования. Адаптируется к различным платформам, таким как Salesforce, и подходит для интеграции в CI/CD пайплайны. Целью проекта является демократизация и революционизация автоматизации тестирования, делая передовые инструменты доступными для всех.

Основные особенности:
🔵Поддержка Gherkin: Принимает тесты в формате Gherkin и автоматически выполняет их, предоставляя результаты в формате JUnit.
🔵Готовность к работе с Salesforce: Способен работать со сложными пользовательскими интерфейсами, включая платформы как Salesforce, и может выполнять SOQL или Apex запросы.
🔵Без необходимости в кодировании: Инструмент использует подход без кода, что упрощает процесс автоматизации тестов.
🔵Многоязычная поддержка: Поддерживает несколько языков, что позволяет командам по всему миру работать на единой платформе для тестирования.
🔵Точность: Записывает видео выполнения и захватывает сетевые логи, что помогает в анализе и устранении проблем.
🔵Отсутствие необходимости в обслуживании: Обладает автономными и адаптивными возможностями, что снижает потребность в постоянном обслуживании.
🔵Поддержка CI/CD: Можно запускать локально или интегрировать в пайплайн CI/CD, что делает процесс тестирования быстрым и последовательным.

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

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

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

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

Основные возможности библиотеки:
🔵Запуск команд в shell, как в Bash
🔵Локальное и удалённое выполнение команд
🔵Работа с путями и файловой системой
🔵Пайплайны команд (|, >, <, & и &&)
🔵Удобное создание CLI-интерфейсов

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

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

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

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

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

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

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🔥3
Справочник Программиста
📺 Получение информации о видеокарте на Python В данном shorts напишем код для получения информации о видеокарте на Python. ➡️Справочник Программиста. Подписаться
Код для получения информации о видеокарте на Python

Для получения информации о видеокарте в коде используется библиотека GPUtil, а для красивого вывода в виде таблицы - tabulate.

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

import GPUtil
from tabulate import tabulate

gpus = GPUtil.getGPUs()
list_gpus = []

for gpu in gpus:
gpu_id = gpu.id
gpu_name = gpu.name
gpu_load = f"{gpu.load*100}%"
gpu_free_memory = f"{gpu.memoryFree}MB"
gpu_used_memory = f"{gpu.memoryUsed}MB"
gpu_total_memory = f"{gpu.memoryTotal}MB"
gpu_temperature = f"{gpu.temperature} C"
gpu_uuid = gpu.uuid

list_gpus.append((gpu_id,
gpu_name,
gpu_load,
gpu_free_memory,
gpu_used_memory,
gpu_total_memory,
gpu_temperature,
gpu_uuid))

print(tabulate(list_gpus,
headers=("ID",
"Название",
"Загрузка",
"Свободная память",
"Используемая память",
"Общая память",
"Температура",
"UUID")))


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