Справочник Программиста
6.37K subscribers
1.28K photos
375 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
⚒️ pyrsistent — это Python-библиотека для работы с персистентными (иммутабельными) структурами данных, которая обеспечивает безопасное и предсказуемое поведение объектов без их изменения.

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

Основные возможности:
🔵Неизменяемые коллекции: список, словарь, множество и другие.
🔵Эффективное копирование — изменения создают новую структуру без полного копирования данных.
🔵Вложенные структуры с безопасными обновлениями.
🔵Высокая производительность за счёт структурных оптимизаций.
🔵Удобна для тестирования и работы с чистыми функциями.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 The Fuck — это инструмент командной строки, который помогает исправлять ошибки в предыдущих командах терминала, экономя время и избавляя от необходимости повторно вводить исправленные команды.

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

Основные особенности:
🔵Быстрое исправление опечаток и ошибок в командах терминала
🔵Поддержка множества правил для разных инструментов и команд
🔵Возможность автоматически выполнять исправленную команду
🔵Настраиваемые пользовательские правила исправления
🔵Поддержка популярных оболочек: Bash, Zsh, Fish, PowerShell
🔵Экономия времени и повышение продуктивности при работе с консолью
🔵Интуитивно понятный и простой в использовании интерфейс командной строки

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤‍🔥3👍1
🚀 Django Channels — это официальное расширение фреймворка Django, которое добавляет поддержку асинхронных протоколов, таких как WebSockets, MQTT, а также возможности для долгосрочных соединений и фоновых задач.

Это позволяет создавать приложения с реальным временем, такие как чаты, уведомления, игры и системы мониторинга, при этом сохраняя привычную архитектуру Django.

Основные особенности:
Поддержка WebSocket и других асинхронных протоколов
Использование ASGI вместо WSGI для асинхронной работы
Возможность обработки долгосрочных соединений
Концепция потребителей (Consumers) для обработки событий
Интеграция с Redis для межпроцессного обмена сообщениями
Поддержка фоновых задач и событий
Совместимость с синхронными и асинхронными представлениями
Встроенный ASGI-сервер Daphne
Простота интеграции в существующие проекты Django
Подходит для приложений с реальным временем (чаты, уведомления, игры и др.)

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

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

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

🔥Сохрани, чтобы не потерять!

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2🔥2
⚒️ pluggy — это минималистичная, готовая к производственному использованию система плагинов.

Основные возможности:
🔵Объявление и использование hook-спецификаций для точек расширения.
🔵Регистрация и управление плагинами через PluginManager.
🔵Поддержка нескольких реализаций одного hook-а.
🔵Контроль порядка выполнения плагинов по приоритету.
🔵Возможность динамического подключения и отключения плагинов.
🔵Интеграция с entry points для автозагрузки плагинов.
🔵Безопасная передача и сбор результатов от всех hook-ов.
🔵Минимальный размер и высокая производительность.

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

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

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

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

➡️Установка модуля: pip install Pillow imagehash

from PIL import Image
import imagehash
import os


def find_duplicate_images(folder):
hashes = {} # Словарь для хранения хэшей изображений и соответствующих им имен файлов
for filename in os.listdir(folder):
# Проверяем, что файл имеет расширение изображения
if filename.endswith(('.png', '.jpg', '.jpeg')):
path = os.path.join(folder, filename)
hash_val = imagehash.average_hash(Image.open(path)) # Создаем хэш изображения
if hash_val in hashes: # Если такой хэш уже встречался
print(f"Дубликат: {filename} и {hashes[hash_val]}") # Выводим найденный дубликат
else:
hashes[hash_val] = filename # Сохраняем хэш и имя файла в словарь


if __name__ == '__main__':
folder = input("Введите путь к папке с изображениями: ")
find_duplicate_images(folder)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3
📝datatable — это Python-библиотека, предназначенная для эффективного и высокопроизводительного анализа табличных данных.

Основные возможности:
🔵Высокая производительность при обработке данных
🔵Поддержка очень больших наборов данных (в том числе больше объёма ОЗУ)
🔵Реализация на C/C++ для ускорения вычислений
🔵Автоматическая многопоточность
🔵Гибкая фильтрация, сортировка, группировка и агрегации
🔵Интеграция с pandas, NumPy и PyArrow
🔵Поддержка memory-mapping для работы с файлами напрямую с диска
🔵Совместимость с производственным использованием

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

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

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

Основные особенности:
🔵Поддержка форматов ELF, PE, Mach-O, OAT, DEX, VDEX и ART
🔵Единая абстрактная модель для работы с разными бинарными форматами
🔵Возможность анализа и модификации исполняемых файлов
🔵Поддержка языков C++, Python, Rust и частично C
🔵Расширенная версия LIEF Extended с поддержкой DWARF, PDB, Objective-C, dyld shared cache, дизассемблера и ассемблера
🔵Интеграции с Ghidra и Binary Ninja
🔵Кроссплатформенная работа на Windows, Linux и macOS

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2
🌐 Код для сканирования открытых вкладок в Google Chrome на Python

Для отправки GET-запроса для получения данных о вкладках в формате JSON в коде используется библиотека requests.

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

import requests


def get_chrome_tabs(debug_port=9222):
"""
Получает и выводит список открытых вкладок Chrome через удаленную отладку.

Args:
debug_port (int): Порт, на котором включена удаленная отладка.
По умолчанию используется порт 9222.
"""
try:
response = requests.get(f"http://localhost:{debug_port}/json")
tabs = response.json()

if not tabs:
print("Нет открытых вкладок или отладка не включена.")
return

for i, tab in enumerate(tabs, start=1):
title = tab.get('title', 'Без названия')
url = tab.get('url', 'Без URL')
print(f"{i}. {title} — {url}")

except requests.exceptions.ConnectionError:
print(f"Не удалось подключиться к Chrome (порт {debug_port}).")
print("Убедитесь, что Chrome запущен с ключом: chrome.exe --remote-debugging-port=9222")


if __name__ == "__main__":
get_chrome_tabs()


Как использовать:

Запустить Chrome с отладочным портом: chrome.exe --remote-debugging-port=9222
Запустить скрипт — он выведет список всех открытых вкладок (название + URL).


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤔2❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
📰 drawdata — это небольшая Python-библиотека, которая добавляет интерактивные виджеты прямо в Jupyter Notebook (а также совместима с VSCode и Colab), позволяя вам рисовать собственные датасеты вручную, а затем использовать их для анализа или обучения моделей машинного обучения.

Основные возможности:
🔵Рисование собственных датасетов вручную
🔵Создание scatter-датасетов
🔵Создание гистограмм и баров
🔵Экспорт данных в pandas или polars DataFrame
🔵Получение данных в формате (X, y) для scikit-learn
🔵Поддержка интерактивной работы в Jupyter, VSCode и Colab

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🤨1
💻 fastapi-sqlalchemy-asyncpg — это шаблон проекта, демонстрирующий, как можно интегрировать FastAPI, Pydantic 2.0 и SQLAlchemy ORM с PostgreSQL с асинхронным драйвером asyncpg.

Стек:
FastAPI — современный, высокопроизводительный фреймворк для создания API.
Pydantic 2.0 — библиотека для валидации данных.
SQLAlchemy ORM — инструмент для работы с базами данных на уровне объектов.
PostgreSQL через asyncpg — эффективный асинхронный клиент для взаимодействия с PostgreSQL.

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

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

Ориентирован на обеспечение масштабируемости, поддержки чистой архитектуры и удобной разработки.

Основные характеристики:
Современная база — поддержка Python 3.13+
Инфраструктура конфигурации и внедрения зависимостей
Адаптеры и моки для тестирования
Единая модель данных (Entities & DTOs)
Утилиты для типичных задач
Поддержка BDD
Лучшие практики и структура проекта

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🔥2👍1
🌐 Starlette-admin — это быстрый, красивый и расширяемый фреймворк для административного интерфейса поверх Starlette и FastAPI.

Позволяет создавать полнофункциональные CRUD-интерфейсы для разных систем хранения данных, не ограничиваясь конкретными ORM или ODM, и предоставляет удобную админку, аналогичную Flask-Admin, но адаптированную под современный стек Python-API.

Основные возможности:
🔵CRUD-интерфейсы для любых моделей
🔵Поиск, фильтрация и сортировка данных
🔵Экспорт данных в CSV, Excel, PDF и печать
🔵Управление файлами и изображениями
🔵Аутентификация и авторизация
🔵Кастомные views и batch-действия
🔵Поддержка SQLAlchemy, SQLModel, MongoEngine, ODMantic и Beanie

➡️Установка: pip install starlette-admin

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥1
🔥 you-get — это консольная утилита для скачивания медиа-контента (видео, аудио и изображений) из Интернета, когда другие способов сохранить нужный ресурс нет.

Основные возможности:
🔵Скачивание видео, аудио и изображений с популярных сайтов ( YouTube, TikTok, VK и т.д.)
🔵Отображение доступных форматов и качества перед загрузкой
🔵Автоматическая загрузка субтитров с YouTube
🔵Скачивание изображений по ссылкам и через скрапинг страниц
🔵Стриминг видео напрямую в медиаплеер без рекламы
🔵Поддержка продолжения загрузки после прерывания
🔵Настройка имени и директории для сохраняемых файлов
🔵Поддержка прокси для обхода сетевых ограничений

➡️Установка: pip install you-get

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1
SABnzbd — это бинарный новсридер (Usenet-клиент), написанный на Python. Он автоматизирует процесс загрузки файлов с Usenet, значительно упрощая взаимодействие с этим протоколом.

Вместо того чтобы вручную скачивать, проверять, восстанавливать и распаковывать файлы, достаточно добавить NZB-файл — и SABnzbd выполнит всю работу автоматически.

Основные возможности:
🔵Автоматизация загрузок
🔵Интуитивно понятный веб-интерфейс
🔵Интеграция с популярными инструментами (Sonarr, Radarr, Lidarr и др.)
🔵Поддержка RSS-лент
🔵Многоязычный интерфейс
🔵Многоуровневая настройка параметров загрузки
🔵Поддержка нескольких серверов Usenet
🔵Гибкая настройка через API и скрипты

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

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

Для конвертации изображения в ч/б в коде используется библиотека Pillow.

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

from PIL import Image

# Открываем изображение
image = Image.open('input_image.jpg')

# Конвертируем в оттенки серого
gray_image = image.convert('L')

# Сохраняем результат
gray_image.save('output_image_pil.jpg')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1
🤖 remnawave-bedolaga-telegram-bot — это проект Telegram-бота, предназначенного для автоматизированной продажи подписок в Telegram.

Интегрирован с Remnawave версии 2.1.1 и предоставляет пользователям возможность приобретать подписки через Telegram, а также управлять ими.

Основные особенности:
Интеграция с Remnawave версии 2.1.1
Поддержка автоплатежей
Управление подписками через интерфейс бота
Реферальная система для привлечения новых пользователей
Административная панель для управления пользователями и подписками

Основные библиотеки:
aiogram
asyncpg
SQLAlchemy
pydantic
redis

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

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