PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Segno.

Segno — генератор QR-кодов и Micro QR-кодов на чистом Python без зависимостей.

✅Реализует стандарт ISO/IEC 18004:2015(E) и умеет больше, чем просто "сделать картинку".

🔹Особенности:

🔘Без зависимостей.

🔘Поддержка Micro QR, Structured Append, Hanzi.

🔘Генерация визиток (vCard/MeCard), Wi-Fi QR-кодов, EPC платежей.

🔘Командная строка и Python API.

🔘Поддержка экспорта в SVG, PNG, EPS, PDF, LaTeX, XBM, XPM, Netpbm и др.

🔘1500+ тестов, покрытие кода > 98%.

🔻Пример:
import segno
qrcode = segno.make('Yellow Submarine')
qrcode.save('yellow-submarine.png')


✅Отлично подходит для CLI-утилит, отчётов, печатной продукции, чеков и любых приложений, где важна автономность (никаких PIL и qrcode).

🔝 Segno — когда тебе нужен QR-код, и ты не хочешь тянуть половину интернета ради PNG.

#Segno #QRCode #Python #MicroQR #NoDependencies #CLI #PDF #SVG #LaTeX #OpenSource #Barcode

📱Ссылка на репозиторий:
https://github.com/heuer/segno/
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡3321
📱QRT.

QRT (QR Transfer) — это экспериментальный протокол передачи данных «экран → камера», который кодирует полезную нагрузку в последовательность QR‑кодов, собирает их в видео и позволяет другой стороне восстановить исходное сообщение, просто сняв экран на камеру.

❓Что это даёт:

🔘Air‑gapped перенос данных: передача между машинами без сети, только через экран и камеру.

🔘Однонаправленный канал: удобно для односторонних выгрузок/импорта конфигураций или ключей (при этом протокол без шифрования, для чувствительных данных не подходит).

🔘Визуальный формат: видео с QR‑кодами можно записать, переслать и декодировать позже.

🔹Как устроен протокол:

Каждый QR — это «фрейм» с текстом формата QRT1|..., где QRT1 — магическое слово и версия.

🔘HDR‑кадр: метаданные с session_id, общим числом чанков, размером, кодировкой и CRC32 всего payload.

🔘DAT‑кадры: настоящие данные с порядковым номером, общим числом фреймов и CRC32 каждого чанка.

🔘END‑кадр: завершение с повторным CRC32 всей полезной нагрузки.

За счёт session_id, sequence‑номеров и checksum’ов протокол поддерживает восстановление при «перемешанных» кадрах и контролирует целостность.

🔻Скрипты: кодирование

Проект написан на Python и поставляется набором CLI‑утилит.

🔘generate_qr_video.py

✔️Принимает текст (либо генерирует Lorem Ipsum), режет на чанки и оборачивает в QRT‑фреймы.

✔️Для каждого фрейма создаёт QR‑картинку и собирает их в mp4 через ffmpeg.

✔️Параметры: --text, --paragraphs, --chunk-size, --fps, --resolution, --output.

🔘generate_qr_video_multistream.py

✔️Рисует сразу 1–12 QR‑кодов в кадре (grid 1x1, 2x2, 3x3, 4x3 и т.п.) для резкого роста пропускной способности — вплоть до 400x относительно одиночного потока.

✔️Опции: --streams (1–12), --chunk-size, --fps, --resolution, --output, --repeat (сколько раз повторять кадр для надёжности).

🔻Скрипты: декодирование

🔘decode_qr_video.py

✔️Разбирает видео через OpenCV, вытаскивает QR‑коды с помощью pyzbar, выбрасывает дубликаты и собирает payload по sequence‑номерам.

✔️Проверяет CRC32 каждого чанка и итогового сообщения, умеет работать в более «мягком» режиме --lenient.

🔘decode_realtime.py

✔️Реал‑тайм декодер с камеры: умеет показывать bbox’ы вокруг QR, подсвечивать тип фрейма (header/footer/ok/error) цветом и рисовать прогресс‑бар по сессии.

✔️Есть интерактивный выбор камеры, поддержка Continuity Camera на macOS, хоткеи q/r/s для выхода, сброса и сохранения результата.

🐱Запуск:

Требуются Python 3.10+, ffmpeg и библиотека zbar (на macOS ставятся через Homebrew).

🔘Создание окружения: python3 -m venv .venv && source .venv/bin/activate.

🔘Установка зависимостей: pip install -r requirements.txt.

🔘Быстрый старт: python src/generate_qr_video.py для генерации ролика и python src/decode_qr_video.py captured_video.mov для восстановления текста.

#QRT #QRCode #screen2camera #airgapped #Python #dataTransfer #protocol #ffmpeg #OpenCV

📱Ссылка на репозиторий:
https://github.com/smyrgeorge/qrt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21
📱pyStrich.

pyStrich
- это быстрый модуль на чистом Python для генерации одномерных (1D) и двумерных (2D) штрихкодов в форматах PNG, SVG и других графических расширениях.

Инструмент позволяет легко создавать штрихкоды прямо в вашем коде. Важное уточнение: библиотека предназначена исключительно для генерации (кодирования), декодировать прочитанные изображения она не умеет.

🔹Поддерживаемые форматы:

🔘1D штрихкоды: Code 39, Code 128 (и GS1-128), EAN-13, Interleaved 2 of 5 (включая ITF-14).

🔘2D коды: Data Matrix (и GS1 Data Matrix), QR Code, PDF417, Aztec Code.

🔻Экспорт и зависимости:

Для сохранения кодов в растровом формате PNG потребуется библиотека Pillow (устанавливается командой pip install "pyStrich[png]"). А вот для создания векторных SVG, EPS, DXF или даже для вывода псевдографикой прямо в терминал никакие дополнительные пакеты не нужны!

🕰Немного истории:

Изначально проект родился как форк старой библиотеки huBarcode, которая перестала обновляться в 2013 году. В 2015 году её портировали на Python 3, и с тех пор инструмент прошел долгий путь эволюции. На сегодняшний день (по состоянию на 2026 год) это современный Python-пакет с полной аннотацией типов (typing), строгими линтерами и исчерпывающим набором тестов.

Проект распространяется под открытой лицензией Apache License 2.0 и доступен на PyPI.

#Python #Barcode #QRCode #DataMatrix #SVG #DevTools #OpenSource #ГенерацияКодов

📱Ссылка на репозиторий:
https://github.com/mmulqueen/pystrich
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡2👍22