Справочник Программиста
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
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Plotext в Python

Библиотека Plotext позволяет строить графики прямо в консоли/терминале.

Основные возможности библиотеки:
🔵Графики в терминале - отображает графики прямо в консоли с использованием символов ASCII.
🔵Типы графиков - поддерживаются различные виды графиков: линейные графики, точечные диаграммы, гистограммы и другие.
🔵Масштабирование и настройка осей - можно управлять диапазоном осей, изменять масштаб, и добавлять метки осей.
🔵Цветовые схемы - поддерживает цветные графики, если терминал поддерживает цвета.
🔵Работа с большими данными - умеет "сжимать" большие наборы данных, отображая их в уменьшенном виде.
🔵Настраиваемые размеры графиков - можно изменять размер графика под свой терминал.
🔵Отсутствие зависимостей - не требует никаких графических библиотек, что делает её легковесной.

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

# Генерируем данные
x = [1, 2, 3, 4, 5]
y = [10, 5, 7, 2, 8]

# Строим график
plt.plot(x, y)

# Добавляем заголовок и метки осей
plt.title("Пример графика")
plt.xlabel("Ось X")
plt.ylabel("Ось Y")

# Отображаем график
plt.show()


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

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

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

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

Основные возможности библиотеки:
🔵Автоматическое определение шифра: Способна анализировать зашифрованный текст и автоматически определять, каким методом он был зашифрован.
🔵Обширная база шифров: Поддерживаются множество шифров и кодировок, таких как Base64, Hex, Caesar cipher, Vigenère cipher и другие.
🔵Использование вероятностных методов: Использует вероятностные модели и анализ естественного языка для определения возможного расшифрованного текста. Анализирует частотность символов и слов для повышения точности расшифровки.
🔵Расширяемость: Можно добавлять собственные шифры и кодировки, если стандартного набора недостаточно.

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥5👍1
Справочник Программиста
📺 Удаление и замена фона изображения на Python В данном shorts напишем код для удаления старого фона изображения и его замены на новый. ➡️Справочник Программиста. Подписаться
Код для удаления и замены фона изображения на Python

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

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

from rembg import remove
from PIL import Image

input_path = 'image.png'
background_path = 'background.jpg'
output_path = 'image_output.png'

# Открываем исходное изображение и удаляем фон
open_image = Image.open(input_path)
output = remove(open_image)

# Открываем изображение с новым фоном
background = Image.open(background_path)

# Приводим фон к размеру вырезанного изображения
background = background.resize(output.size)

# Накладываем вырезанное изображение на фон
background.paste(output, (0, 0), output)

# Сохраняем итоговое изображение
background.save(output_path)


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

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

💉Поддерживает различные типы SQL-инъекций, такие как:
Union-based SQL-инъекции
Boolean-based Blind SQL-инъекции
Time-based Blind SQL-инъекции
Error-based SQL-инъекции
Out-of-band SQL-инъекции

Основные возможности библиотеки:
🔵Автоматическое определение уязвимостей: автоматически анализирует веб-формы, параметры GET и POST для поиска уязвимых к SQL-инъекциям точек.
🔵Многоуровневая поддержка баз данных: Поддерживает множество СУБД, таких как MySQL, PostgreSQL, Oracle, Microsoft SQL Server, SQLite и другие.
🔵Получение данных: Позволяет извлекать данные из уязвимой базы данных (например, таблицы, столбцы и строки).
🔵Запуск команд: Позволяет запускать команды на базе данных (например, получение хэшей паролей, создание новых пользователей и т.д.).
🔵Автоматизация: Легко интегрируется в автоматизированные тесты на безопасность.

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

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

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

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

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

Основные возможности библиотеки:
🔵Чтение и изменение тэгов ID3 (ID3v1, ID3v2): Извлечение информации об исполнителе, альбоме, жанре и других метаданных, а также изменение или добавление новых данных в тэги ID3.
🔵Работа с обложками (artwork): Извлечение и добавление изображений в аудиофайл (например, обложек альбомов).
🔵Поддержка встроенных комментариев и текстов песен (lyrics): Можно добавлять или изменять текст песни и комментарии внутри MP3-файла.
🔵Получение технической информации о файле: Информация о битрейте, продолжительности трека, размере файла и т. д.

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

# Открываем MP3 файл
audiofile = eyed3.load("audio.mp3")

# Получаем информацию о тэге
print("Исполнитель:", audiofile.tag.artist)
print("Альбом:", audiofile.tag.album)
print("Название трека:", audiofile.tag.title)

# Изменяем метаданные
audiofile.tag.artist = "Новый артист"
audiofile.tag.album = "Новый альбом"
audiofile.tag.title = "Новое название трека"

# Сохраняем изменения
audiofile.tag.save()


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

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

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

Библиотека marker-pdf предназначена для быстрой и точной конвертации PDF-документов в формат markdown.

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

Основные особенности библиотеки:
🔵Извлечение содержимого: Позволяет извлекать текст, изображения и таблицы из PDF-файлов и конвертировать их в формат markdown. Также может эффективно удалять ненужные заголовки, подзаголовки и другие артефакты из оригинального документа.
🔵Конвертация уравнений: Поддерживает конвертацию большинства уравнений в формат LaTeX, что полезно для научных документов с математическим содержанием.
🔵Поддержка нескольких языков: Поддерживает документы на различных языках, что делает её универсальным инструментом для широкой аудитории.

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

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

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

Для автоматического архивирования старых файлов в коде используются модули os, shutil и time, которые входят в стандартную библиотеку Python.

import os
import shutil
import time


def archive_old_files(source_dir, archive_dir, days_old):
# Проверяем, существует ли директория архива
if not os.path.exists(archive_dir):
# Если нет, создаем её
os.makedirs(archive_dir)

# Время отсечения: текущее время минус количество дней в секундах
cutoff_time = time.time() - (days_old * 86400)

# Проходим по всем файлам в исходной директории
for filename in os.listdir(source_dir):
# Полный путь к файлу
file_path = os.path.join(source_dir, filename)

# Проверяем, является ли путь файлом
if os.path.isfile(file_path):
# Получаем время последнего изменения файла
last_modified_time = os.path.getmtime(file_path)

# Если файл старше времени отсечения
if last_modified_time < cutoff_time:
# Перемещаем файл в архив
shutil.move(file_path, os.path.join(archive_dir, filename))
# Выводим сообщение об архивировании
print(f"Архивировано: {filename}")


source_directory = '/path/to/source' # Исходная директория
archive_directory = 'archive' # Директория архива
days_threshold = 30 # Порог в днях

# Вызов функции архивирования
archive_old_files(source_directory, archive_directory, days_threshold)


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

Утилита Elia предназначена для взаимодействия с большими языковыми моделями (LLMs) и работает полностью в терминале.

Основные особенности:
🔵Интерфейс: Предлагает интуитивно понятный интерфейс, который позволяет пользователям легко взаимодействовать с различными языковыми моделями, такими как ChatGPT, Claude, Llama 3 и другими.
🔵Клавиатурная навигация: Утилита ориентирована на клавиатурное управление, что позволяет пользователям быстро выполнять команды и получать результаты без необходимости использования мыши.
🔵Поддержка нескольких моделей: Поддерживает множество языковых моделей, что делает её универсальным инструментом для различных задач, связанных с обработкой естественного языка.

➡️Установка утилиты: pipx install elia-chat

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

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

Библиотека Yellowbrick предназначена для визуализации данных и специально разработана для улучшения процесса машинного обучения (ML).

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

Строится на основе библиотек Matplotlib и Scikit-Learn, что делает её совместимой с привычными инструментами и подходами в экосистеме Python для машинного обучения.

Основные возможности библиотеки:
🔵Визуализация данных:
🟢Feature Analysis (Анализ признаков): Позволяет исследовать и анализировать различные признаки (фичи) в данных.
🟢Class Balance (Баланс классов): Визуализирует распределение классов в задачах классификации, что помогает понять, насколько сбалансированы данные.
🔵Визуализация моделей:
🟢ROC-AUC кривая: Построение ROC кривой и вычисление AUC для оценки производительности классификационных моделей.
🟢Confusion Matrix (Матрица ошибок): Отображает правильные и неправильные предсказания модели, показывая, какие классы чаще всего путаются.
🟢Prediction Error (Ошибка предсказания): Визуализирует отклонение предсказанных значений от реальных для моделей регрессии.
🟢Residuals Plot (График остатков): Помогает оценить остатки модели регрессии, чтобы понять, хорошо ли она справляется с задачей.
🔵Диагностика моделей:
🟢Learning Curve (Кривая обучения): Показывает, как изменяется качество модели в зависимости от количества обучающих данных.
🟢Validation Curve (Кривая валидации): Помогает выбрать оптимальные значения гиперпараметров, показывая зависимость качества модели от значения определенного гиперпараметра.
🟢Silhouette Plot (Силуэтный график): Для оценки качества кластеризации с помощью коэффициента силуэта.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥3👍2
👩‍💻 Утилита pyenv-win на Python

Утилита pyenv-win позволяет управлять различными версиями Python на операционных системах Windows.

Является портом оригинальной библиотеки pyenv, которая изначально предназначена для UNIX-систем (например, Linux и macOS), и предоставляет аналогичный функционал на Windows.

Основные возможности:
🔵Управление версиями Python: Позволяет легко устанавливать, переключаться и удалять различные версии Python.
🔵Изолированная среда: Вместо глобальной установки Python можно работать с локальными версиями для каждого проекта, что минимизирует конфликты зависимостей и версий Python.
🔵Простая установка новых версий: С помощью команды pyenv install можно легко загрузить и установить нужную версию Python, а затем активировать её с помощью команды pyenv global (для глобальной установки) или pyenv local (для конкретного проекта).
🔵Совместимость с pipenv и virtualenv: Хорошо сочетается с такими инструментами, как pipenv или virtualenv, которые позволяют создавать виртуальные среды для проектов, что делает управление зависимостями более гибким и удобным.

➡️Установка библиотеки: pip install pyenv-win --target %USERPROFILE%\\.pyenv

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

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

Библиотека Faust предназначена для реализации потоковой обработки данных с использованием асинхронного программирования и похожая по принципам работы на Kafka Streams.

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

Основные особенности библиотеки:
🔵Асинхронность: Использует библиотеку asyncio для асинхронного программирования, что позволяет эффективно управлять большим количеством соединений и задач в потоках данных.
🔵Модели объектов (Tables): Позволяет сохранять состояние между обработками сообщений с помощью таблиц, которые могут быть похожи на обычные базы данных, но они оптимизированы для работы в распределённой среде.
🔵Простота работы с Kafka: Делает интеграцию с Apache Kafka простой и удобной, используя интуитивно понятный API для работы с темами, продюсерами и потребителями данных.
🔵Stream Processing: Возможность обработки данных в реальном времени с поддержкой оконных операций (например, обработки данных за последние 5 минут или других временных интервалов).
🔵Масштабируемость: Поддерживает горизонтальное масштабирование и распределённую обработку потоков данных на нескольких узлах кластера.
🔵Типы агрегаций и функций: Поддерживает сложные операции с потоками данных, такие как фильтрация, разделение потоков, объединение потоков, агрегация и др.

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

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

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

Библиотека uiautomator2 используется для автоматизации пользовательских интерфейсов (UI) на устройствах с операционной системой Android.

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

Основные возможности библиотеки:
🔵Запуск приложений: Возможность запускать приложения, указывая их package name, и выполнять с ними действия (например, отправлять сообщения, вводить текст и т.д.).
🔵Взаимодействие с элементами интерфейса: Поддержка взаимодействия с элементами UI по различным атрибутам, таким как текст, ресурсный идентификатор (resource-id), класс, и даже XPath (хотя последний метод работает медленнее).
🔵Работа с текстом: Ввод текста в текстовые поля и чтение текста с экрана.
🔵Клик по элементам: Автоматизированные клики по элементам интерфейса.
🔵Скроллинг: Возможность скроллирования в списках и других элементах, поддерживающих прокрутку.
🔵Жесты: Поддержка жестов, таких как свайпы, мультитач (например, масштабирование), долгие нажатия и т.д.
🔵Скриншоты: Возможность делать скриншоты экрана устройства.
🔵Работа с уведомлениями и системными окнами: Автоматизация взаимодействия с уведомлениями и диалоговыми окнами.
🔵Получение информации о текущем состоянии устройства: Проверка состояния экрана (включен ли он или заблокирован), получение информации о батарее, использовании CPU и других характеристиках.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🔥2👍1
Media is too big
VIEW IN TELEGRAM
👩‍💻 Библиотека Open-Interpreter в Python

Библиотека Open-Interpreter позволяет запускать команды на естественном языке для выполнения кода и управления компьютером через терминал или программный интерфейс.

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

Основные возможности библиотеки:
🔵Выполнение сгенерированного кода: Позволяет напрямую исполнять код, который генерируется самой моделью или передаётся пользователем.
🔵Интерактивные сессии: Поддерживает интерактивные сессии, где можно писать и тестировать код в режиме реального времени.
🔵Многоязыковая поддержка: Хотя основной упор сделан на Python, Open-Interpreter поддерживает выполнение кода на других языках программирования (в зависимости от конфигурации).
🔵Обработка ошибок: Умеет анализировать ошибки, возникающие при выполнении кода, и может давать рекомендации или предлагать исправления.
🔵Работа с файлами и данными: Возможность создавать и редактировать изображения, видео, PDF-документы и управлять большими наборами данных.
🔵Контроль браузера: Можно управлять Chrome для автоматизации задач и поиска информации в интернете.
🔵Поддержка локальных и облачных моделей: Может использовать как локальные языковые модели через LM Studio, так и облачные модели (например, GPT-4).

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥2🔥2
Наконец-то YouTube даст возможность выкладывать shorts'ы длиннее 1 минуты! 🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉11❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Stegano в Python

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

Основные возможности библиотеки:
🔵Скрытие текста в изображениях: Можно спрятать текстовое сообщение в изображении без заметных изменений для человеческого глаза.
🔵Извлечение сообщений: Возможность извлечь спрятанный текст из изображения.
🔵Поддержка нескольких методов стеганографии:
🟢LSB (Least Significant Bit) - классический метод, который использует младшие биты каждого пикселя для хранения информации.
🟢LSBSet - улучшенный вариант LSB, который работает с несколькими младшими битами пикселей в наборе (сетах) и распределяет данные по изображению более равномерно.
🟢SteganoMagic - более сложные алгоритмы, включающие в себя работу с криптографией.
🟢Redundant LSB (с избыточностью) - дублирует спрятанные данные в несколько мест изображения, что позволяет увеличить устойчивость к повреждениям данных или изменениям изображения. Он также использует младшие биты пикселей.
🟢Invisible Ink (невидимые чернила) - реализует концепцию скрытия данных так, чтобы они были "невидимыми" для человеческого восприятия. Использует особые параметры изображения для кодирования данных.
🟢Text-based стеганография - Можно также внедрять данные в текстовые файлы. Например, в тексте можно скрыть данные, изменяя пробелы, количество строк и другие элементы форматирования.

Пример кода для скрытия сообщения в изображении:
from stegano import lsb

# Скрытие текста в изображении
secret_image = lsb.hide("image.jpg", "Secret message")
secret_image.save("image_with_secret.png")


Пример кода для извлечения сообщения из изображения:
from stegano import lsb

# Извлечение скрытого сообщения
secret_message = lsb.reveal("image_with_secret.png")
print(secret_message)


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

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

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

Для открытия PDF-документа в коде используется библиотека tabula, а для его конвертации в CSV - pandas.

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

import tabula
import pandas as pd

filename = 'document.pdf'
# Чтение таблиц из PDF
tables = tabula.read_pdf(filename, encoding='utf-8', pages='1', multiple_tables=True)

# Объединение всех DataFrame в один
df = pd.concat(tables, ignore_index=True)

# Сохранение объединённого DataFrame в CSV-файл
df.to_csv('output.csv', index=False, encoding='utf-8-sig')


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

В данной статье напишем код для обрезки изображений на Python с использованием библиотеки OpenCv.

Работать программа будет следующим образом:
🔤 Выделение области: Пользователь выделяет область изображения, которую хочет обрезать.
🔤Сохранение обрезанного изображения: После выделения определённой области можно нажать на клавишу «C», и будет сохранено обрезанное изображение.
🔤Выход из программы: Для выхода из программы можно будет нажать на клавишу «Esc».

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

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

Основные характеристики библиотеки:
🔵Производительность: Может значительно улучшить производительность приложений, особенно тех, которые требуют интенсивных вычислений.
🔵Совместимость: Совместим с большинством версий Python (2.6 и выше, включая Python 3.x) и поддерживает множество стандартных библиотек, включая NumPy и другие популярные пакеты.
🔵Компиляция в исполняемые файлы: Позволяет создавать независимые исполняемые файлы, которые не требуют установки Python на целевой машине.
🔵Поддержка многопоточности и асинхронного программирования: Хорошо работает с многопоточными и асинхронными программами, что позволяет эффективно использовать современные многоядерные процессоры.
🔵Лицензия: Распространяется под лицензией MIT, что делает его бесплатным и открытым для использования и модификации.

Пример компиляции скрипта:
python -m nuitka your_script.py


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

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

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