Справочник Программиста
Open in Telegram
По рекламе - @it_start_programmer Сайт - https://it-start.online/ YouTube - https://www.youtube.com/@it_start Реклама на бирже - https://telega.in/c/programmersGuide_1 Предложить идею: @it_start_suggestion_bot
Show more5 744
Subscribers
-124 hours
-147 days
-6130 days
Posts Archive
🔥 testcontainers — это Python-библиотека для удобного запуска временных Docker-контейнеров в автоматических тестах.
Позволяет легко поднимать нужные сервисы (например, PostgreSQL, Redis, Kafka, MySQL и другие) прямо во время тестирования, избавляя от необходимости настраивать окружение вручную.
Основные возможности:
🔵Простое API для запуска и остановки контейнеров.
🔵Поддержка популярных баз данных, брокеров сообщений и других сервисов.
🔵Возможность создания собственных контейнеров.
🔵Легко интегрируется с
pytest и другими тестовыми фреймворками.
🔵Удобная отладка и изоляция окружения тестов.
➡️Установка: pip install testcontainers
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяРегистрируйтесь на Yandex Ecom Open Air 8 августа
Море инсайтов для бизнеса, музыкальный open-air, лекции и нетворкинг.
Участие бесплатно!
Зарегистрироваться
#реклама 18+
ecomfest.ru
О рекламодателе
🔗 Код для скачивания изображений по ссылке на Python
Для скачивания изображений в коде используется библиотека
requests.
➡️Установка: pip install requests
import requests
def download_image(url, filename):
try:
# Отправляем GET-запрос по указанному URL
response = requests.get(url, stream=True)
# Проверяем, что запрос был успешным (статус 200)
response.raise_for_status()
# Открываем файл в бинарном режиме записи ('wb')
with open(filename, 'wb') as file:
# Записываем содержимое ответа в файл
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(f"Изображение успешно сохранено как: {filename}")
except requests.exceptions.RequestException as e:
print(f"Ошибка при скачивании изображения: {e}")
except IOError as e:
print(f"Ошибка при сохранении файла: {e}")
# Пример использования функции
if __name__ == "__main__":
image_url = "https://placehold.co/600x400/000000/FFFFFF?text=Пример+изображения" # Замените на реальный URL изображения
output_filename = "saved_image.jpg" # Имя файла для сохранения
download_image(image_url, output_filename)
➡️Справочник Программиста. Подписаться🎧 PyAV – это Python-биндинги для библиотеки
FFmpeg, предоставляющие удобный и «питоничный» доступ к функциям обработки аудио и видео.
Этот пакет позволяет работать с мультимедийными данными (декодирование, кодирование, ресемплинг, ресайз, фильтрация) без необходимости напрямую взаимодействовать с низкоуровневыми API FFmpeg.
Основные возможности:
🔵Поддержка чтения и записи множества форматов мультимедиа (MP4, AVI, MKV и др.).
🔵Работа с потоками данных (аудио, видео, субтитры).
🔵Простое извлечение и сохранение кадров, перекодировка.
🔵Управление фильтрами и параметрами потоков FFmpeg.
🔵Поддержка NumPy для удобной обработки кадров как массивов.
➡️Установка: pip install av
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться🗄 aiortc — это Python-библиотека для работы с WebRTC и ORTC, позволяющая создавать приложения реального времени для передачи аудио, видео и данных без использования сторонних серверов.
Написана полностью на Python и поддерживает асинхронный ввод-вывод (
asyncio), что делает её удобной для интеграции в современные веб-приложения.
Основные возможности:
🔵Поддержка WebRTC и ORTC для P2P-коммуникаций.
🔵Передача аудио, видео и произвольных данных.
🔵Интеграция с asyncio и использование корутин.
🔵Возможность создания SFU/MCU серверов для групповых звонков.
🔵Поддержка кодеков VP8, H.264, Opus и других.
➡️Установка: pip install aiortc
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться🔔 notify-py — это кроссплатформенный Python-модуль для создания системных уведомлений на Windows (10/11), macOS (начиная с 10.10) и Linux (через libnotify).
Основные возможности:
⏺Отправка локальных уведомлений на Windows, macOS и Linux.
⏺Поддержка иконок для уведомлений.
⏺Настройка заголовка, текста и звука уведомления.
⏺Возможность управлять временем отображения уведомлений.
⏺Поддержка обратного вызова при клике на уведомление.
⏺Возможность использования в фоновых скриптах и приложениях.
➡️Установка:
pip install notify-py
📱 Репозиторий
➡️Справочник Программиста. Подписаться🔥 pyleak — это инструмент для поиска утечек памяти в Python-приложениях, который помогает анализировать объекты в памяти и выявлять те, что не освобождаются должным образом.
Предоставляет простой интерфейс для диагностики проблем, связанных с неэффективным управлением памятью.
Основные возможности:
🔵Обнаружение утечек памяти — анализирует объекты, удерживаемые в памяти, и показывает, какие из них продолжают существовать.
🔵Сравнение снимков памяти — позволяет сравнивать состояние памяти в разные моменты времени.
🔵Интеграция в код — легко подключается к проектам для отладки и тестирования.
🔵Поддержка интерактивного анализа — выводит подробную информацию о типах объектов и их количестве.
➡️Установка:
pip install pyleak
📱 Репозиторий
➡️Справочник Программиста. Подписаться⚒️ crudadmin — это библиотека для
Django, которая превращает ваш проект в удобную административную панель с функциями CRUD (создание, чтение, обновление, удаление) без необходимости писать лишний код.
Минимизирует количество шаблонного кода и позволяет быстро создавать административные интерфейсы.
Основные возможности:
🔵Автоматическая генерация CRUD-интерфейсов на основе моделей Django.
🔵Поддержка кастомизации форм и отображения данных.
🔵Гибкая система фильтров, поиска и сортировки.
🔵Возможность расширения стандартных возможностей с помощью плагинов.
🔵Поддержка работы с REST API.
🔵Простая интеграция с существующим проектом Django.
➡️Установка: pip install "crudadmin[memcached]"
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяОнлайн-магистратура с IT специальностями от Яндекса
Совместно с ИТМО, МИФИ, МФТИ.
Онлайн-магистратура с актуальными программами и гибким графиком обучения.
Получите высокооплачиваемую IT профессию, официальный диплом и практические знания.
Господдержка оплаты. Совмещение с работой!
Подать заявку
#реклама 16+
practicum.yandex.ru
О рекламодателе
🔥 На GitHub недавно обновился бесплатный обучающий репозиторий Think Python, 3rd edition — отличная база для изучения Python: от основ синтаксиса до ООП.
📘 Весь материал оформлен в виде Jupyter-ноутбуков: удобно читать, легко искать нужные темы. Чёткая структура и множество примеров кода делают обучение максимально понятным.📱 Репозиторий ➡️Справочник Программиста. Подписаться
📝 PySnooper — это Python-библиотека, которая позволяет легко отлаживать код, автоматически выводя значения переменных и ход выполнения программы.
Проще говоря, достаточно добавить один декоратор
@pysnooper.snoop() к функции, и библиотека начнёт логировать все её шаги — какие строки выполняются, какие значения присваиваются переменным и как изменяется состояние программы.
Основные возможности:
🔵Минимум кода для отладки — достаточно одной строки.
🔵Вывод всех изменений переменных с их новыми значениями.
🔵Логирование в файл или консоль (можно указать путь к лог-файлу).
🔵Поддержка контекстного менеджера — можно отслеживать только нужные блоки кода.
🔵Понятные и наглядные логи — виден номер строки, выполняемый код и результат.
➡️Установка: pip install pysnooper
📱 Репозиторий
➡️Справочник Программиста. Подписаться🖥 py‑pglite — это удобная обёртка на Python для PGlite — лёгкого, но настоящего PostgreSQL, запускаемого мгновенно и без настройки.
Отлично подходит для тестирования, предоставляя:
⏺Zero‑config: не требуется установка PostgreSQL, Docker или внешняя конфигурация
⏺Мгновенный запуск: от 2–3 с против 30–60 с при Docker
⏺Изоляция тестов: каждый тест — свежая чистая БД
⏺Нативный PostgreSQL: поддержка JSON, массивов, оконных функций и т.д.
⏺Совместимость со стандартными клиентами:
SQLAlchemy, Django, psycopg, asyncpg и прочими.
✅ Пример использования с SQLAlchemy:
def test_sqlalchemy_just_works(pglite_session):
user = User(name="Alice", email="alice@test.com")
pglite_session.add(user)
pglite_session.commit()
assert user.id is not None
assert User.query.count() == 1 # Real PostgreSQL!
➡️Установка:
pip install py-pglite[sqlalchemy] # для SQLAlchemy/SQLModel
pip install py-pglite[django] # для Django
pip install py-pglite[asyncpg] # для чистого asyncpg
pip install py-pglite[extensions] # с поддержкой pgvector и др.
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяЦКП в IT: зачем вам понимать, какой у вас на самом деле продукт
Заняты весь день, а результата ноль? Почему IT-специалисты часто путают активность с реальной ценностью?
Ответ — в нашей статье.
#реклама
О рекламодателе
+1
🔥 yt-dlp-gui — это графическая оболочка для популярного инструмента
yt-dlp, написанная на Python с использованием библиотеки tkinter.
Упрощает скачивание видео и аудио с YouTube и других платформ, позволяя пользователю не писать команды в терминале, а работать через удобный интерфейс.
Основные возможности:
⏺Поддержка скачивания видео, аудио или плейлистов;
⏺Выбор качества и формата;
⏺Возможность автоматической установки yt-dlp и ffmpeg;
⏺Удобный интерфейс с прогресс-баром и логами;
⏺Поддержка прокси-серверов и аргументов командной строки.
➡️Установка:
git clone https://github.com/vokrob/yt-dlp-gui.git
cd yt-dlp-gui
pip install -r requirements.txt
python main.py
📱 Репозиторий
⚙️ exe-файл
📝 Статья
➡️Справочник Программиста. Подписаться⚙️ Автоматизация задач с помощью Python
В данной статье напишем три скрипта для автоматизации задач с помощью Python.
📖Похожие статьи:
5 простых программ на Python
5 полезных скриптов на Python
Простые программы на Python
➡️Справочник Программиста. Подписаться
⛅️Код для получения прогноза погоды без API на Python
Для получения прогноза погоды будет использоваться wttr.in, а для работы с HTTP-запросом в коде используется библиотека
requests.
➡️Установка библиотеки: pip install requests
import requests
city = input("Введите название города: ")
url = f"https://wttr.in/{city}"
try:
res = requests.get(url)
print(res.text)
except:
print("Произошла ошибка, пожалуйста, повторите попытку позже...")
📱 Репозиторий
➡️Справочник Программиста. Подписаться📺 Получаем погоду в городе на Python
Нашёл способ получать прогноз погоды без регистрации для получения API и прочей ерунды, и решил поделиться им с вами.В данном Shorts напишем код для получения прогноза погоды на 3 дня вперёд по названию города на Python. 💡Не забывайте, что вы можете предлагать ещё идеи для постов/статей/видосов - @it_start_suggestion_bot ➡️Справочник Программиста. Подписаться
✍️ python-gnupg — это Python-обёртка для утилиты GnuPG, позволяющая пользователям генерировать ключи и управлять ими, шифровать и расшифровывать данные, а также подписывать и проверять сообщения прямо из Python-кода.
Основные возможности:
🔵Работа с открытыми и закрытыми ключами (генерация, импорт, экспорт).
🔵Шифрование и расшифровка данных с использованием GPG.
🔵Подпись данных и проверка цифровых подписей.
🔵Поддержка ASCII-бронь и бинарных форматов.
🔵Возможность взаимодействовать с любыми командами GPG через удобный Python API.
➡️Установка:
pip install python-gnupg
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяВ Битрикс24 теперь можно сделать сайт за 30 секунд
Серьёзно. Пишешь, что нужно, и AI сам всё собирает: тексты, картинки, оформление.
✨Никакой магии, просто умный помощник.
Попробуйте — закайфуете от скорости!
Начать
#реклама 16+
sites-24.bitrix24.ru
О рекламодателе
🔗 Код для сокращения ссылок и генерации из них qr-кода на Python
Для сокращения ссылок в коде используется модуль
pyshorteners, а для генерации qr-кода - qrcode.
➡️Установка модуля: pip install pyshorteners qrcode
import pyshorteners
import qrcode
def simple_shorten_and_qr(long_url, output_filename="simple_qr.png"):
s = pyshorteners.Shortener()
short_url = s.tinyurl.short(long_url)
qr = qrcode.QRCode(version=1, box_size=10, border=4)
qr.add_data(short_url)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save(output_filename)
return short_url, output_filename
if __name__ == "__main__":
url = "https://www.google.com"
short_link, qr_file = simple_shorten_and_qr(url)
print(f"Сокращенная ссылка: {short_link}")
print(f"QR-код сохранен как: {qr_file}")
➡️Справочник Программиста. Подписаться