Справочник Программиста
6.36K subscribers
1.31K photos
381 videos
64 files
1.65K 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
🗑 Код для очистки текста от html-тегов на Python

Для удаления html-тегов в коде используется библиотека beautifulsoup4.

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

from bs4 import BeautifulSoup


def strip_html_tags(html_content: str) -> str:
"""
Удаляет все HTML-теги из строки и возвращает чистый текст.

Args:
html_content (str): Строка, содержащая HTML-разметку.

Returns:
str: Текст без HTML-тегов.
"""
if not html_content:
return ""
try:
soup = BeautifulSoup(html_content, 'html.parser')
return soup.get_text(separator=' ', strip=True)
except Exception as e:
print(f"Ошибка при очистке HTML: {e}")
return html_content


if __name__ == "__main__":
html_example = "<p>Это <b>пример</b> текста с <i>HTML</i> тегами.</p>"
clean_text = strip_html_tags(html_example)
print(f"Исходный HTML: '{html_example}'")
print(f"Чистый текст: '{clean_text}'")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤‍🔥2🔥1
💻 MonsterUI — это UI-фреймворк для FastHTML, который позволяет создавать красивые веб-интерфейсы с минимальным объёмом кода на Python.

Объединяет простоту использования Python с мощью Tailwind, FrankenUI и DaisyUI, при этом оставаясь лёгким и удобным для data-scientists, ML-инженеров и разработчиков.

Основные особенности:
🔵Простая установка и быстрый запуск
🔵Готовые визуальные компоненты (Card, H1–H6, Buttons, Modals, Toasts и др.)
🔵Поддержка тем и стилей через Theme
🔵Интеграция с Markdown, подсветкой кода и формулами
🔵Современный дизайн на базе Tailwind, FrankenUI и DaisyUI
🔵Минимум CSS — всё описывается на Python
🔵Возможность легко строить блоги и веб-интерфейсы

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
🌳 dtreeviz — это Python-библиотека для визуализации решений на базе деревьев и интерпретации моделей машинного обучения.

Основные возможности:
🔵Структурные визуализации деревьев
🔵Пути принятия решений для конкретных наблюдений
🔵Информация о листьях (распределения, количество наблюдений, статистика)
🔵Исследование пространства признаков
🔵Интеграция с TensorFlow Decision Forests

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

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

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

Создан для работы с квантовыми схемами на уровне квантовых логических элементов (гейтов) и ориентирован на практические эксперименты с квантовыми вычислениями.

Основные возможности:
Создание и визуализация квантовых схем
Симуляция квантовых вычислений на классическом компьютере
Запуск алгоритмов на реальных квантовых процессорах Google
Поддержка стандартных квантовых гейтов и пользовательских операций
Работа с вариационными и гибридными алгоритмами
Интеграция с TensorFlow Quantum и другими ML-фреймворками
Инструменты для исследований в квантовой информации и алгоритмах

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

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

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

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

Основные возможности:
🔵Отображение и редактирование табличных данных
🔵Работа с большими объёмами данных
🔵Прямое редактирование ячеек
🔵Перетаскивание строк и столбцов
🔵Поддержка undo/redo
🔵Поддержка выпадающих меню
🔵Поддержка чекбоксов и прогресс-баров
🔵Встроенное окно поиска

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Termite — это инструмент для генерации интерфейсов в терминале (TUI) с помощью простых текстовых описаний.

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

Основные особенности:
🔵Генерация терминальных интерфейсов по текстовому описанию
🔵Использование LLM (OpenAI или Anthropic) для создания кода
🔵Поддержка библиотек urwid, rich, textual и curses
🔵Автоматическое исправление ошибок выполнения
🔵Опция саморефлексии для улучшения интерфейса
🔵Сохранение сгенерированных приложений в ~/.termite
🔵Гибкая настройка через параметры командной строки
🔵Экспериментальный проект с возможными багами и рисками безопасности

➡️ Установка: pipx install termite-ai

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2🔥2
⚒️ fastapi-pagination — это Python-библиотека, созданная для упрощения реализации пагинации в приложениях на FastAPI.

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

Основные возможности:
🔵Поддержка различных стратегий пагинации
🔵Совместимость с SQLAlchemy, Tortoise ORM, Beanie, PyMongo и другими библиотеками
🔵Асинхронная и синхронная работа
🔵Простая интеграция в FastAPI
🔵Поддержка стандартных моделей ответа (Page, LimitOffsetPage, CursorPage)
🔵Гибкая настройка формата ответа и параметров пагинации
🔵Эффективная работа с большими наборами данных за счёт оптимизации запросов на уровне ORM/БД

➡️Установка: pip install fastapi-pagination

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2❤‍🔥1
📊 qstrader — это Python-библиотека для бэктестинга систематических торговых стратегий, специализирующаяся на long-short акциях и ETF, разработанная с акцентом на модульность, риск-менеджмент и институциональный уровень симуляции.

Основные особенности:
🔵Модульная архитектура
🔵Поддержка стратегий long-short и ETF
🔵Alpha-модели на основе трендов и импульса
🔵Симуляционный движок для разделения сигналов, портфеля и исполнения
🔵Базовые оптимизаторы портфеля (например, 1/N)
🔵Симулированный брокер с учетом комиссий и потоков капитала
🔵Работа с данными из CSV
🔵Расширенная статистика и генерация отчётности (tearsheet, JSON)

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🖼 ObjectClear — это модель для удаления объектов, которая использует механизм Object-Effect Attention для совместного устранения целевого объекта и его визуальных эффектов, сохраняя при этом консистентность фона.

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

Основные особенности:
🔵Object-Effect Attention — модель учитывает не только объект, который нужно удалить, но и его тень, отражения и другие визуальные эффекты.
🔵OBER Dataset — датасет с реальными и искусственными изображениями для тренировки модели на разных ситуациях.
🔵Простое использование — есть готовые скрипты и интерактивное Gradio-демо для быстрого теста.
🔵Работа с масками — можно использовать сегментационные маски (например, с SAM2), чтобы точно указать, что удалять.

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2👍2
🚀 Ludic — это лёгкий фреймворк для создания динамических HTML-страниц с использованием компонентов, аналогичных React, но полностью на Python.

Ориентирован на разработку без написания JavaScript-кода, интегрируя возможности библиотеки htmx для динамических обновлений без необходимости в клиентском JavaScript.

Основные особенности:
Типизированные компоненты
Интеграция с htmx
Модульная структура
Поддержка популярных фреймворков (Starlette, FastAPI, Django)
Использование современных возможностей Python (аннотации типов, асинхронность)

➡️ Установка: pip install "ludic[full]"

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍2🔥2
Media is too big
VIEW IN TELEGRAM
🎨 tkmacosx — это расширение для библиотеки tkinter, предназначенное для улучшения совместимости с macOS.

Предоставляет модифицированные виджеты, которые устраняют многие проблемы стандартных компонентов tkinter на платформе macOS.

Основные возможности:
🔵Кастомизация кнопок (изменение цвета фона и текста)
🔵Поддержка темной и светлой темы macOS
🔵Дополнительные виджеты (CircleButton, Marquee, SFrame и др.)
🔵Управление состоянием виджетов с помощью переменных (ColorVar)
🔵Устранение ошибок отображения кнопок и проблем с фокусом

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2❤‍🔥1
🎨 Генератор случайных цветов на Python

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

💡Не забывайте, что вы можете предлагать ещё идеи для постов/статей/видосов - @it_start_suggestion_bot

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Media is too big
VIEW IN TELEGRAM
🖥 BrowserOS — это открытый веб-браузер нового поколения, ориентированный на локальную работу с ИИ-агентами.

Предоставляет пользователю приватную альтернативу таким сервисам, как Perplexity Comet, позволяя запускать ИИ-модели непосредственно на своем устройстве или через локальные API, такие как Ollama.

Основные особенности:
🔵Приватность по умолчанию — все данные остаются на вашем устройстве.
🔵Интерфейс, похожий на Chrome, с поддержкой расширений.
🔵Локальные ИИ-агенты для выполнения задач прямо в браузере.
🔵Поддержка MCP (Modular Cognitive Plugins) для установки плагинов.
🔵Встроенный ИИ-блокировщик рекламы.

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤‍🔥2🔥2
🔍 YData Profiling — это Python-библиотека, предназначенная для быстрой и подробной разведывательной аналитики данных (EDA) с использованием всего одной строки кода.

Предоставляет расширенный анализ DataFrame, включая поддержку pandas и Spark, и позволяет экспортировать результаты в различные форматы, такие как HTML и JSON.

Основные особенности::
🔵Автоматическое определение типов данных
🔵Одномерный анализ с описательной статистикой и визуализациями
🔵Многомерный анализ, включая корреляции и дублирующиеся строки
🔵Анализ временных рядов с графиками ACF/PACF
🔵Анализ текстовых данных
🔵Анализ файлов и изображений
🔵Сравнение наборов данных
🔵Экспорт результатов в HTML, JSON и использование в Jupyter Notebook

➡️ Установка: pip install ydata-profiling

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

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

В данном Shorts напишем код для генерации случайных лиц людей на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥1
Справочник Программиста
📺 Генерация случайных лиц на Python В данном Shorts напишем код для генерации случайных лиц людей на Python. ➡️Справочник Программиста. Подписаться
🔥 Код для генерации лиц людей на Python

Для отправки HTTP-запроса на получение сгенерированного лица в коде используется библиотека requests.

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

import requests

# Отправляем GET-запрос для получения изображения
img = requests.get(
"https://thispersondoesnotexist.com/"
).content

# Открываем файл с именем "person.jpg" в режиме записи бинарных данных ("wb")
with open("person.jpg", "wb") as f:
# Записываем байты полученного изображения в файл
f.write(img)


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

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

Основные особенности:
🔵Иерархическая структура
🔵Объединение конфигураций
🔵Интерполяция значений
🔵Структурированные конфигурации
🔵Флаги конфигурации
🔵Консистентный API

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

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

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

Для проверки SSL-сертификата в коде используется библиотека ssl, для работы с сетевыми соединениями и сокетами используется библиотека socket.

import ssl
import socket
from datetime import datetime, timezone


def check_ssl(hostname, port=443):
context = ssl.create_default_context()

try:
with socket.create_connection((hostname, port)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
cert = ssock.getpeercert()
print(f"Сертификат для: {hostname}")
print(f"Организация: {cert.get('issuer')}")
print(f"Выдан: {cert.get('notBefore')}")
print(f"Действителен до: {cert.get('notAfter')}")

# Проверка срока действия с timezone-aware объектом
not_after = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
not_after = not_after.replace(tzinfo=timezone.utc)
if not_after < datetime.now(timezone.utc):
print("Сертификат просрочен!")
else:
print("Сертификат действителен")
except Exception as e:
print(f"Ошибка при проверке SSL: {e}")


if __name__ == "__main__":
check_ssl("example.com")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥2
📚 Tech Interview Handbook — это обширный и структурированный репозиторий, созданный для подготовки к техническим собеседованиям.

Охватывает весь процесс: от составления резюме до переговоров о предложении о работе.

📚Включает в себя:
🟢Алгоритмы и структуры данных
🟢Поведенческие вопросы
🟢Готовые вопросы для собеседования
🟢Шпаргалки для интервьюеров
🟢Готовые к собеседованию резюме
🟢Подготовка к собеседованиям по фронтенду
🟢Blind 75 и Grind 75 (ключевые задачи для практики на LeetCode)

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

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

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

Основные особенности:
🔵Асинхронность и поддержка PostgreSQL, MySQL и SQLite
🔵Использование SQLAlchemy Core, Databases и Pydantic
🔵Единые модели для ORM и Pydantic без дублирования
🔵Готовая интеграция с FastAPI и Starlette
🔵Поддержка fastapi-crudrouter и fastapi-pagination
🔵Простая декларативная работа с моделями и реляциями

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

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

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

Основные особенности:
🔵Поиск несмежных диапазонов IP-адресов и имён хостов
🔵Проверка возможности зонального переноса
🔵Обратные DNS-запросы
🔵Brute-force по поддоменам
🔵Поиск похожих доменов
🔵Возможность сканирования соседних IP-адресов
🔵Проверка HTTP-доступности найденных хостов
🔵Поддержка указания диапазонов IP-адресов
🔵Настройка кастомных DNS-серверов
🔵Задержки между запросами
🔵Использование TCP вместо UDP для DNS-запросов

➡️Установка: python -m pip install fierce

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

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