Справочник Программиста
6.29K subscribers
1.36K photos
387 videos
64 files
1.71K 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
Библиотека tox в Python

Библиотека tox предназначена для автоматизации тестирования и управления окружениями в Python.

Основные возможности библиотеки:
🔵Тестирование в нескольких окружениях: Позволяет запускать тесты в разных версиях Python (например, 3.7, 3.8, 3.9).
🔵Управление зависимостями: Каждое окружение в tox может иметь свои зависимости, которые будут установлены автоматически перед запуском тестов.
🔵Изоляция окружений: Использует виртуальные окружения (virtualenv), чтобы каждый тестовый запуск был полностью изолирован от системных зависимостей и окружений.
🔵Автоматизация тестов: Может быть интегрирован с CI/CD системами, такими как GitHub Actions, Travis CI и другие, для автоматического запуска тестов при изменении кода.
🔵Поддержка различных задач: Можно настроить для выполнения других задач, например, проверки стиля кода (линтинга), сборки документации и т.д.

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

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

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

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

Основные возможности библиотеки:
🔵Стемминг на разных языках: Поддерживает множество языков, включая английский, русский, французский, немецкий и другие.
🔵Легкость использования: Предоставляет удобный API для получения стемм слов.
🔵Эффективность: Быстрая и легковесная, что делает её отличным выбором для больших объемов текста.

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

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

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

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

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

from moviepy.editor import VideoFileClip

# Загружаем видеофайл
video = VideoFileClip("input_video.mp4")

# Создаём видео без звука
silent_video = video.without_audio()

# Сохраняем видео без звука
silent_video.write_videofile("output_video.mp4")


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

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

Основные возможности библиотеки:
🔵Аннотации и визуализация: Позволяет легко добавлять аннотации (bounding boxes, метки) к изображениям и видео, а также поддерживает различные форматы аннотаций, что упрощает интеграцию с другими библиотеками.
🔵Работа с видео: Поддерживает обработку видеопотоков, включая разбиение на кадры, сохранение кадров и работу с аннотированным видео.
🔵Поддержка интеграций: Легко интегрируется с такими библиотеками как OpenCV, YOLO, PyTorch и другими.
🔵Гибкость и расширяемость: Можно расширять библиотеку под конкретные задачи, добавляя свои собственные визуализации и алгоритмы обработки данных.

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

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

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

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

Основные утилиты:
🔵csvclean: Исправляет возможные ошибки в файле CSV, такие как строки неправильной длины.
🔵csvcut: Извлекает определенные столбцы из CSV-файла.
🔵csvgrep: Фильтрует строки CSV-файла по заданному критерию, например, с использованием регулярных выражений.
🔵csvsql: Позволяет выполнять SQL-запросы к CSV-файлу. Может также генерировать SQL-команды для создания таблиц, соответствующих данным CSV.
🔵csvstat: Проводит статистический анализ CSV-файла, предоставляя сводную информацию о данных, таких как количество строк, столбцов, минимальные и максимальные значения и т.д.
🔵csvformat: Преобразует формат CSV-файла (например, меняет разделитель).
🔵csvstat: Конвертирует данные из CSV в JSON.

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

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

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

Библиотека Playwright предназначена для автоматизации браузеров.

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

Основные возможности библиотеки:
🔵Мультибраузерная поддержка: Работает с Chromium, Firefox и WebKit (движок Safari), что делает его идеальным для кросс-браузерного тестирования.
🔵Поддержка headless-режима: Браузеры могут запускаться как с графическим интерфейсом, так и без него (headless-режим), что повышает производительность при выполнении тестов или парсинга.
🔵Тестирование в реальном времени: Можно взаимодействовать с браузером так, как это делает реальный пользователь: клики, ввод текста, переходы по страницам и т.д.
🔵Запись и воспроизведение действий: Возможность записывать пользовательские действия, а затем воспроизводить их программно.

Пример создания скриншота веб-страницы:
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
# Запускаем браузер Chromium
browser = p.chromium.launch(headless=False)
# Открываем новую вкладку
page = browser.new_page()
# Переходим на сайт
page.goto('https://example.com')
# Делаем скриншот страницы
page.screenshot(path='example.png')
# Закрываем браузер
browser.close()


➡️Установка библиотеки: pip install playwright
➡️Установка необходимых компонентов: python -m playwright install

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

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

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

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

Основные особенности библиотеки:
🔵Текстовые и графические игры: Поддерживает как текстовые, так и графические игры, позволяя создавать, например, roguelike-игры, простые симуляции или платформеры.
🔵Работа с консолью: Легко позволяет управлять текстовыми элементами в консоли, что делает её отличным выбором для игр с интерфейсом в стиле ретро (ASCII-графика).
🔵Удобные классы и структуры данных: Предлагает готовые классы для карт, объектов, персонажей и сцен, что упрощает разработку и ускоряет процесс.
🔵Кроссплатформенность: Работает на разных операционных системах, таких как Windows, Linux и macOS.
🔵Модульная архитектура: Можно легко расширять возможности своей игры, добавляя новые модули и компоненты.

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

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

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

В данном shorts напишем код для парсинга веб-страниц по ссылке с сохранением в PDF-файл.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9🔥3👍2
Справочник Программиста
📺 Парсинг веб-страниц по URL в PDF на Python В данном shorts напишем код для парсинга веб-страниц по ссылке с сохранением в PDF-файл. ➡️Справочник Программиста. Подписаться
Код для парсинга веб-страницы по URL в PDF на Python

Для парсинга и сохранения веб-страницы в PDF-документ в коде используются библиотеки pyppdf и pyppeteer.

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

import pyppdf
from pyppeteer.errors import PageError, TimeoutError, NetworkError


def main(url, name):
try:
pyppdf.save_pdf(name, url)
except PageError:
print('Не удалось загрузить страницу.')
except TimeoutError:
print('Тайм-аут.')
except NetworkError:
print('Нет доступа к сети.')


if __name__ == '__main__':
url = input('Введите ссылку: ')
name = input('Введите название итогового PDF: ')
main(url, name)


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

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

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

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

Пример использования библиотеки:
from progress.bar import Bar

# Создаём объект Bar с названием 'Processing' и максимальным значением 1,000,000
bar = Bar('Processing', max=1000000)
# Запускаем цикл от 0 до 999,999 (всего 1,000,000 итераций)
for i in range(1000000):
# Увеличиваем прогресс бар на 1 для каждой итерации
bar.next()
# Завершаем прогресс бар, когда все итерации завершены
bar.finish()


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

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

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

Для объединения CSV-файлов в один в коде используются библиотеки pandas и os.

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

import pandas as pd
import os

# Указываем папку, где хранятся файлы
folder_path = 'путь_к_вашей_папке'

# Получаем список всех CSV файлов в папке
csv_files = [file for file in os.listdir(folder_path) if file.endswith('.csv')]

# Создаем пустой список для хранения DataFrame'ов
data_frames = []

# Читаем каждый CSV файл и добавляем его в список
for file in csv_files:
file_path = os.path.join(folder_path, file)
df = pd.read_csv(file_path)
data_frames.append(df)

# Объединяем все DataFrame'ы в один
combined_df = pd.concat(data_frames, ignore_index=True)

# Сохраняем результат в новый CSV файл
combined_df.to_csv('объединенный_файл.csv', index=False)


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

Библиотека Marshmallow предназначена для сериализации/десериализации объектов Python, а также их валидации.

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

Сериализация - преобразование сложных объектов Python (например, экземпляров классов) в простые типы данных (словари, JSON).

Десериализация - преобразование данных из форматов JSON или словарей Python обратно в объекты Python.

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


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

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

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

Проект pixelSplat предназначен для реконструкции 3D-изображений на основе пары 2D-изображений, используя метод Gaussian splatting.

Установка (Python 3.10+):
$ git clone https://github.com/dcharatan/pixelsplat.git

$ cd pixelsplat

$ python -m venv venv

$ source venv/bin/activate

$ pip install -r requirements.txt


📱 Репозиторий
💻 Сайт проекта

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

Библиотека hotpdf предназначена для работы с PDF-документами с акцентом на производительность и экономию памяти.

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


Основные возможности библиотеки:
🔵Извлечение текста: Позволяет извлекать текст как со всей страницы, так и с отдельных блоков PDF-файла.
🔵Поиск текста: Предоставляет возможности для поиска конкретных фрагментов текста в документе.
🔵Слияние PDF-файлов: Функция слияния нескольких PDF-документов в один.
🔵Оптимизация потребления памяти: Использует различные подходы (например, sparse matrix), чтобы снижать объём потребляемой памяти при работе с большими файлами, такими как книги на сотни страниц​.

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

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

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

Для извлечения метаданных в коде используется библиотека pymediainfo.

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

from pymediainfo import MediaInfo


def get_detailed_video_metadata(file_path):
# Парсим видеофайл для получения всех доступных метаданных
media_info = MediaInfo.parse(file_path)

# Создаём список для хранения метаданных по каждому треку
detailed_metadata = []

# Проходим по каждому треку в файле
for track in media_info.tracks:
# Собираем все доступные атрибуты трека в виде словаря
track_info = {
'track_type': track.track_type, # Тип трека (например, видео, аудио, текст и т.д.)
'format': track.format, # Формат кодирования
'duration': track.duration, # Продолжительность в миллисекундах (если доступна)
'bit_rate': track.bit_rate, # Битрейт (если доступен)
'width': track.width, # Ширина видео (если это видеотрек)
'height': track.height, # Высота видео (если это видеотрек)
'frame_rate': track.frame_rate, # Частота кадров (если это видеотрек)
'channels': track.channel_s, # Количество каналов (если это аудиотрек)
'sampling_rate': track.sampling_rate, # Частота дискретизации (если это аудиотрек)
'language': track.language, # Язык трека (если указан)
'codec_id': track.codec_id, # Идентификатор кодека
'compression_mode': track.compression_mode, # Режим сжатия
'default': track.default, # Является ли этот трек основным по умолчанию
'forced': track.forced # Принудительно ли используется этот трек
}

# Убираем из словаря пустые значения
track_info = {k: v for k, v in track_info.items() if v is not None}

# Добавляем информацию о треке в общий список
detailed_metadata.append(track_info)

# Возвращаем список метаданных
return detailed_metadata


# Пример использования
file_path = 'video.mp4' # Указываем путь к видео-файлу
# Получаем метаданные
metadata = get_detailed_video_metadata(file_path)
for track in metadata:
# Выводим метаданные каждого трека
print(track)


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

Библиотека jurigged предназначена для "горячей перезагрузки кода" во время выполнения программы. Она позволяет вносить изменения в код без остановки и перезапуска программы.

Основные особенности библиотеки:
🔵Горячая перезагрузка кода: Отслеживает изменения в исходных файлах программы и автоматически применяет их к работающему приложению.
🔵Простота использования: Для начала использования достаточно импортировать jurigged и запустить в нужном модуле.
🔵Отслеживание изменений: Следит за изменениями в .py файлах и пытается аккуратно обновить функции и классы, чтобы минимизировать влияние на текущее состояние программы.
🔵Поддержка многопоточных и асинхронных приложений: Работает с многопоточными приложениями, что позволяет изменять код в сложных системах, таких как веб-серверы или программы с использованием asyncio.
🔵Совместимость: Работает с Python 3.x и поддерживает различные фреймворки и библиотеки.

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

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

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

Библиотека MeTube - это веб-интерфейс для youtube-dl. Предназначена для загрузки видео и аудио с различных видео-платформ, в первую очередь с YouTube.

Функционал библиотеки:
🔵Загрузка видео и аудио: Пользователи могут скачивать видео в разных форматах и разрешениях. Также можно извлекать только аудиодорожки.
🔵Поддержка нескольких источников: Может работать не только с YouTube, но и с другими видео-платформами.
🔵Управление качеством: Возможность выбирать качество видео, от самого низкого до высокого (HD, 4K).
🔵Автоматизация: Хорошо интегрируется в скрипты и программы для автоматического скачивания или обработки видео.
🔵Конвертация форматов: Загрузку видео можно настроить на автоматическое преобразование файлов в нужный формат, например, MP3 для аудио.

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

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