⚒️ pyrsistent — это Python-библиотека для работы с персистентными (иммутабельными) структурами данных, которая обеспечивает безопасное и предсказуемое поведение объектов без их изменения.
Полезна, когда требуется неизменяемость данных, например, в функциональном программировании или при многопоточности.
Основные возможности:
🔵 Неизменяемые коллекции: список, словарь, множество и другие.
🔵 Эффективное копирование — изменения создают новую структуру без полного копирования данных.
🔵 Вложенные структуры с безопасными обновлениями.
🔵 Высокая производительность за счёт структурных оптимизаций.
🔵 Удобна для тестирования и работы с чистыми функциями.
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Полезна, когда требуется неизменяемость данных, например, в функциональном программировании или при многопоточности.
Основные возможности:
pip install pyrsistentPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Анализирует последнюю введённую команду, пытается сопоставить её с набором правил и предлагает исправленную версию, которую можно выполнить с помощью команды
fuck.Основные особенности:
pip install thefuckPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥3👍1
Django, которое добавляет поддержку асинхронных протоколов, таких как WebSockets, MQTT, а также возможности для долгосрочных соединений и фоновых задач.Это позволяет создавать приложения с реальным временем, такие как чаты, уведомления, игры и системы мониторинга, при этом сохраняя привычную архитектуру
Django.Основные особенности:
Djangopip install channelsPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2
Шпаргалка по регулярным выражениям
🔥 Сохрани, чтобы не потерять!
➡️ Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍2🔥2
⚒️ pluggy — это минималистичная, готовая к производственному использованию система плагинов.
Основные возможности:
🔵 Объявление и использование hook-спецификаций для точек расширения.
🔵 Регистрация и управление плагинами через PluginManager.
🔵 Поддержка нескольких реализаций одного hook-а.
🔵 Контроль порядка выполнения плагинов по приоритету.
🔵 Возможность динамического подключения и отключения плагинов.
🔵 Интеграция с entry points для автозагрузки плагинов.
🔵 Безопасная передача и сбор результатов от всех hook-ов.
🔵 Минимальный размер и высокая производительность.
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Основные возможности:
pip install pluggyPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для сравнения изображений в коде используется библиотека
imagehash, а для работы с изображениями - Pillow.pip install Pillow imagehashfrom 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
🔥4❤🔥3
Основные возможности:
pandas, NumPy и PyArrowpip install datatablePlease 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 liefPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2
🌐 Код для сканирования открытых вкладок в Google Chrome на Python
Для отправки GET-запроса для получения данных о вкладках в формате JSON в коде используется библиотека
➡️ Установка библиотеки:
Как использовать:
✅ Запустить Chrome с отладочным портом:
✅ Запустить скрипт — он выведет список всех открытых вкладок (название + URL).
➡️ Справочник Программиста. Подписаться
Для отправки GET-запроса для получения данных о вкладках в формате JSON в коде используется библиотека
requests.pip install requestsimport 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.exe --remote-debugging-port=9222Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤔2❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Основные возможности:
polars DataFramescikit-learnpip install drawdataPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🤨1
FastAPI, Pydantic 2.0 и SQLAlchemy ORM с PostgreSQL с асинхронным драйвером asyncpg.Стек:
asyncpg — эффективный асинхронный клиент для взаимодействия с PostgreSQL.Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2
Ориентирован на обеспечение масштабируемости, поддержки чистой архитектуры и удобной разработки.
Основные характеристики:
pip install archipyPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2👍1
Starlette и FastAPI.Позволяет создавать полнофункциональные CRUD-интерфейсы для разных систем хранения данных, не ограничиваясь конкретными ORM или ODM, и предоставляет удобную админку, аналогичную
Flask-Admin, но адаптированную под современный стек Python-API.Основные возможности:
pip install starlette-adminPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥1
Основные возможности:
pip install you-getPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤🔥2
SABnzbd — это бинарный новсридер (Usenet-клиент), написанный на Python. Он автоматизирует процесс загрузки файлов с Usenet, значительно упрощая взаимодействие с этим протоколом.
Вместо того чтобы вручную скачивать, проверять, восстанавливать и распаковывать файлы, достаточно добавить NZB-файл — и
Основные возможности:
🔵 Автоматизация загрузок
🔵 Интуитивно понятный веб-интерфейс
🔵 Интеграция с популярными инструментами (Sonarr, Radarr, Lidarr и др.)
🔵 Поддержка RSS-лент
🔵 Многоязычный интерфейс
🔵 Многоуровневая настройка параметров загрузки
🔵 Поддержка нескольких серверов Usenet
🔵 Гибкая настройка через API и скрипты
📱 Репозиторий
➡️ Справочник Программиста. Подписаться
Вместо того чтобы вручную скачивать, проверять, восстанавливать и распаковывать файлы, достаточно добавить NZB-файл — и
SABnzbd выполнит всю работу автоматически.Основные возможности:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Для конвертации изображения в ч/б в коде используется библиотека
Pillow.pip install Pillowfrom 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
❤🔥4👍2
Интегрирован с Remnawave версии 2.1.1 и предоставляет пользователям возможность приобретать подписки через Telegram, а также управлять ими.
Основные особенности:
Основные библиотеки:
aiogramasyncpgSQLAlchemypydanticredisPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2
⚒️ dill — это надстройка над модулем
Основные особенности:
🔵 Расширяет возможности стандартного
🔵 Поддерживает сериализацию лямбд, вложенных функций и замыканий
🔵 Умеет сохранять исходный код функций и классов
🔵 Может сохранять и восстанавливать состояние интерактивной сессии
🔵 Позволяет передавать сложные объекты по сети
🔵 Имеет модуль
🔵 Поддерживает загрузку сохранённой сессии как модуля или словаря
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
pickle в Python, разработанная для сериализации и десериализации широчайшего круга Python-объектов, включая сложные и интерактивные состояния, которые стандартный pickle не смог бы обрабатывать.Основные особенности:
pickledill.detect для диагностики проблем сериализацииpip install dillPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥1
Основные особенности:
FastAPI)pip install fastmcpPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для сокращения ссылок в коде используется модуль
secrets, а для копирования сгенерированного пароля в буфер обмена — pyperclip.pip install pyperclipimport argparse
import secrets
import string
import pyperclip
AMBIG = set('O0Il1') # Определяем набор символов, которые могут выглядеть похожими (амбивалентные символы).
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument('-l', '--length', type=int, default=16, # Указание длины пароля.
help='длина пароля (по умолчанию: 16)')
ap.add_argument('-d', '--digits', action='store_true', # Включать ли цифр в пароль.
help='включить цифры в пароль')
ap.add_argument('-s', '--symbols', action='store_true', # Включать ЛИ символов в пароль.
help='включить специальные символы в пароль')
ap.add_argument('--no-ambig', action='store_true',
help='убрать похожие символы (например, O, 0, I, l, 1)')
args = ap.parse_args()
# Инициализируем список 'alphabet' всеми буквами (строчными и заглавными).
alphabet = list(string.ascii_letters)
if args.digits:
alphabet += list(string.digits)
if args.symbols:
alphabet += list('!@#$%^&*()-_=+[]{};:,.<>?')
if args.no_ambig:
alphabet = [c for c in alphabet if c not in AMBIG]
# Генерируем пароль: выбираем случайные символы из 'alphabet' указанное количество раз (args.length)
# и объединяем их в одну строку.
pwd = ''.join(secrets.choice(alphabet) for _ in range(args.length))
pyperclip.copy(pwd) # Копируем сгенерированный пароль в буфер обмена.
print('Пароль скопирован в буфер: ', pwd)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥4🔥1