Справочник Программиста
6.28K 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
👩‍💻 Утилита 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
Библиотека MicroRabbit в Python

MicroRabbit - это легковесная библиотека для работы с микросервисами, которая реализует паттерн CQRS (Command Query Responsibility Segregation) и используется для упрощения взаимодействия между различными компонентами системы.

Основные характеристики библиотеки:
🔵CQRS: Разделяет команды и запросы, что позволяет более эффективно управлять состоянием и изменениями в приложении.
🔵Интеграция с RabbitMQ: Использует RabbitMQ как брокер сообщений для асинхронной обработки команд и запросов.
🔵Поддержка событий: Возможность отправки и обработки событий между микросервисами, что способствует созданию более реактивной архитектуры.
🔵Модульность: Позволяет разрабатывать модули, которые могут быть независимо развернуты и масштабированы.
🔵Упрощение кода: С помощью MicroRabbit можно сократить количество кода, необходимого для реализации сложной логики взаимодействия между сервисами.

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

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

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

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

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

from PIL import Image, ImageDraw, ImageFont


def add_text_watermark(input_image_path, output_image_path, text, position, font_path=None, font_size=36,
font_color=(255, 255, 255), opacity=128):
# Открываем изображение
image = Image.open(input_image_path).convert("RGBA")

# Создаём новое изображение с теми же размерами, но для прозрачного слоя
txt_layer = Image.new("RGBA", image.size, (255, 255, 255, 0))

# Создаем объект для рисования
draw = ImageDraw.Draw(txt_layer)

# Загружаем шрифт (используем шрифт по умолчанию, если не указан)
if font_path:
font = ImageFont.truetype(font_path, font_size)
else:
font = ImageFont.load_default()

# Получаем ограничивающий прямоугольник текста
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':
position = ((image.width - text_width) // 2, (image.height - text_height) // 2)
elif position == 'bottom_right':
position = (image.width - text_width - 15, image.height - text_height - 15)

# Добавляем текст с прозрачностью
draw.text(position, text, font=font, fill=(*font_color, opacity))

# Объединяем текстовый слой с оригинальным изображением
watermarked_image = Image.alpha_composite(image, txt_layer)

# Конвертируем обратно в RGB (если нужно для сохранения в JPEG)
watermarked_image = watermarked_image.convert("RGB")

# Сохраняем результат
watermarked_image.save(output_image_path)


# Пример использования
add_text_watermark(
input_image_path="image.jpg",
output_image_path="watermarked_image.jpg",
text="© Your Watermark",
position="bottom_right",
font_path="arial.ttf", # Указываем путь к шрифту (если не указано, используется шрифт по умолчанию)
font_size=50, # Размер текста
font_color=(255, 255, 255), # Цвет текста (белый)
opacity=128 # 50% прозрачности
)


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

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

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

Пример преобразования чисел на английский язык
from num2words import num2words

print(num2words(123))
# Вывод: 'one hundred and twenty-three'


Пример преобразования чисел на русский язык
from num2words import num2words

print(num2words(123, lang='ru'))
# Вывод: 'сто двадцать три'


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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6❤‍🔥3
Спасибо анониму за донат (поздно заметил), последний раз до него он был аж 414 дней назад 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥7
Библиотека Reflex в Python

Библиотека Reflex (ранее известная как Pynecone) предназначена для создания полноценных веб-приложений, где весь код (и фронтенд, и бэкенд) пишется на Python, без необходимости изучать JavaScript.

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

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

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

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

В данном shorts напишем код для создания скриншота области экрана по координатам на Python.

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

Первый способ:

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

from PIL import ImageGrab

# Задаём координаты (x1, y1) и (x2, y2) для области
x1 = 100 # Левый верхний угол по оси X
y1 = 100 # Левый верхний угол по оси Y
x2 = 400 # Правый нижний угол по оси X
y2 = 300 # Правый нижний угол по оси Y

# Делаем скриншот заданной области
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))

# Сохраняем скриншот
screenshot.save('screenshot.png')


Второй способ:

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

import pyscreenshot as ImageGrab

# Задаём координаты области
x1, y1, x2, y2 = 100, 100, 400, 300

# Делаем скриншот
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))

# Сохраняем скриншот
screenshot.save('screenshot.png')


Третий способ:

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

import pyautogui

# Задаём координаты (x, y) и размеры (width, height) области
x = 100
y = 100
width = 300
height = 200

# Делаем скриншот определённой области
screenshot = pyautogui.screenshot(region=(x, y, width, height))

# Сохраняем скриншот
screenshot.save('screenshot.png')


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

Утилита Clark предназначена для работы с аудио и видео в командной строке.

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

Основные возможности утилиты:
🔵Создание временных меток и воспроизведение: Позволяет воспроизводить аудио и видео и создавать временные метки в нужных местах. Можно быстро перемещаться по файлу, ставить метки и при необходимости удалять их.
🔵Обрезка и разделение файлов: Её можно использовать для обрезки ненужных частей или разделения медиафайлов по временным меткам.
🔵Управление через горячие клавиши: Предоставляет набор удобных сочетаний клавиш для управления воспроизведением.
🔵Использование MPV и FFMPEG: Для воспроизведения файлов Clark использует медиаплеер MPV, а для обрезки и разделения - FFMPEG.

➡️Установка: pip install https://github.com/wong-justin/clark/archive/main.zip

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

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