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

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

Сайт: https://pythonomania.github.io/
Download Telegram
📱JustPath — это утилита для исследования переменной окружения PATH на Windows, Linux и MacOS.

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

🧩Основное применение утилиты:

🔜Показать, что содержит PATH:
>justpath --raw


🔜Вывести список директорий в PATH построчно:
>justpath


🔜Показать директории из PATH в алфавитном порядке:
>justpath --sort


🔜Показать, есть ли дублирующиеся директории в PATH:
>justpath --duplicates


✍️От автора утилиты:

Я считаю, что эта цитата о PATH вполне верна:
«У меня всегда складывается ощущение, что никто не знает, что такое PATH, и в какой-то момент они боятся спросить.»

#JustPath #PATH #Utility #Windows #Linux #MacOS #EnvironmentVariable #CodingTools #DeveloperTools

📱Ссылка на репозиторий:
https://github.com/epogrebnyak/justpath
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍1🤔1
📱BeamerQt.

BeamerQt - это PyQt-приложение для создания презентаций в формате Beamer-LaTeX.

#️⃣Зависимости:

🔘PyQt6.
🔘LaTeX (должен быть доступен pdflatex в командной строке).
🔘Библиотеки LaTeX Beamer.
🔘Inkscape (опционально, для работы с файлами SVG. Должен быть доступен в командной строке).

💡Текущий статус проекта:

🔘Идеи для разработки.
🔘Создание базовых визуальных блоков.
🔘Открытие/сохранение файлов формата .bqt (Beamer Qt).
🔘Экспорт в LaTeX и PDF.
🔘Протестировано на Linux.

#Python #PyQt #Beamer #LaTeX #Development #Linux #Inkscape

📱Ссылка на репозиторий:
https://github.com/acroper/BeamerQt
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2
📱Systemd Pilot.

Systemd Pilot
— это удобное настольное приложение для управления сервисами systemd на GNU/Linux. Это мощный графический интерфейс для systemd или systemctl, упрощающий управление системными и пользовательскими сервисами.

🔹Возможности:

🔘Список системных и пользовательских сервисов.

🔘Быстрое развёртывание сервисов с использованием шаблонов.

🔘Фильтрация по статусу выполнения.

🔘Старт, остановка, перезапуск сервисов, просмотр статуса.

🔘Создание конфигураций override для любых unit-файлов через кнопку "Edit".

🔘Простой поиск: начните вводить, и приложение моментально найдёт нужные сервисы.

🔘Лёгкость и производительность: всего один Python-скрипт.

🔘Доступно как deb, rpm, flatpak и AppImage.

🔘Полная интеграция с GNOME (libadwaita).

✅Systemd Pilot — лёгкий и эффективный инструмент для администраторов и пользователей Linux!

#Linux #Systemd #DevOps #Python #OpenSource

📱Ссылка на репозиторий:
https://github.com/mfat/systemd-pilot
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2
📱Nyxelf.

Nyxelf
— мощный инструмент для анализа вредоносных ELF-бинарников в Linux, предоставляющий возможности как статического, так и динамического анализа.

Nyxelf объединяет утилиты, такие как readelf, objdump и pyelftools для статического анализа, а также использует специальную песочницу для динамического анализа в контролируемой среде с QEMU, минимальным образом сгенерированным образом Buildroot и strace.

Инструмент также декомпилирует бинарные данные в ассемблер и псевдокод, похожий на C, с использованием capstone и angr. Благодаря Nyxelf вы получите глубокое понимание исполняемых файлов: распаковка, трассировка системных вызовов, мониторинг активности процессов и файлов – всё это представлено в удобном графическом интерфейсе на базе pywebview.

🔹Основные возможности:

🔺Статический анализ:

🔘Просмотр заголовков ELF, секций и символов.
🔘Декодирование ассемблерного кода и данных переменных.
🔘Анализ подозрительных импортов, связанных с антиотладкой.

🔺Динамический анализ:

🔘Запуск бинарников в безопасной песочнице на базе QEMU.
🔘Запись активности процессов, системных вызовов и взаимодействий с файлами с помощью strace.
🔘Настраиваемая детализация трассировки системных вызовов.

🔺Декомпиляция:

🔘Декомпиляция бинарного кода в ассемблер и псевдокод, напоминающий C, с использованием capstone и angr.
🔘Попытка извлечения данных переменных из секций .rodata и .data.
🔘Использование CDN Highlight.js для подсветки синтаксиса.

🔺Прочие возможности:


🔘Опциональная автоматическая распаковка UPX.
🔘Вывод в формате JSON для автоматизации рабочих процессов.
🔘Регулируемая детализация трассировки системных вызовов и фильтрация по длине строк.

#Nyxelf #Linux #ELF #АнализБинарников #СтатическийАнализ #ДинамическийАнализ #Декомпиляция #Безопасность #Кибербезопасность #РеверсИнжиниринг #Python #OpenSource

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

OCRmyPDF — это инструмент для добавления текстового слоя (OCR) в отсканированные PDF-файлы, что делает их доступными для поиска и копирования.

🔹Основные возможности:

🔘Создание PDF/A с возможностью поиска.

🔘Точный текстовый слой под изображением.

🔘Сохранение оригинального разрешения.

🔘Оптимизация размера PDF (часто меньше исходного).

🔘Распознавание более 100 языков (на базе Tesseract).

🔘Автоматический поворот страниц и исправление перекосов.

🔘Параллельная обработка с использованием нескольких ядер.

🔘Проверка валидности PDF на входе и выходе.

❗️Работает на Linux, Windows, macOS и FreeBSD.

#OCR #PDF #OCRmyPDF #Tesseract #Linux #Windows #macOS #PDFtools #Automation #OpenSource

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

cua — это фреймворк, позволяющий AI-агентам управлять полноценными операционными системами в высокопроизводительных виртуальных контейнерах.

❓Что умеет cua?

🔘Виртуализация с высокой производительностью.

Запуск macOS и Linux в изолированных VM через Lume CLI и Apple Virtualization.Framework.

🔘Интерфейс управления.

Позволяет AI наблюдать за виртуальной ОС и управлять ею: открывать приложения, писать код, пользоваться браузером, выполнять сложные задачи.

❓Почему стоит использовать cua?

🔘Безопасность — изоляция AI от основной ОС.
🔘 Производительность — до 97% от скорости хоста.
🔘 Гибкость — поддержка macOS и Linux.
🔘 Повторяемость — одинаковые среды для тестов и работы.
🔘 Интеграция с LLM — подключение к любым провайдерам моделей.

#AI #Virtualization #AppleSilicon #macOS #Linux #LLM #AItools #DevTools #TechFramework #MachineLearning #cua #ContainerTech

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

Anthias — это бесплатное решение для цифровых вывесок и экранов на Raspberry Pi и ПК.

Ранее проект назывался Screenly OSE, но был переименован для разделения с платной версией Screenly.

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

🔘Полностью бесплатное и открытое решение.

🔘Простая установка (готовые образы + скрипты).

🔘Подходит для экранов, витрин, рекламных панелей и информационных табло.

🔧Совместимость:

🔘Raspberry Pi (модели 2, 3, 4, 5).

🔘Raspberry Pi OS (Bookworm, Bullseye).

🔘balenaOS.

🔘ПК (x86, Debian-based).

🐞Ошибки и баги ещё исправляются, но проект активно развивается.

#RaspberryPi #OpenSource #DigitalSignage #Anthias #ScreenlyOSE #Linux #IoT #DIY #SmartDisplay #TechTools

📱Ссылка на репозиторий:
https://github.com/Screenly/Anthias
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡3👍31
📱Newelle.

Newelle — это мощный ассистент с поддержкой AI-моделей, голосового общения, расширений и удобного интерфейса.

🔹Основные возможности:

🔘Гибкая кастомизация.

🔘Поддержка разных AI-моделей и провайдеров.

🔘Выполнение терминальных команд прямо из чата.

🔘Расширения (можно подключать свои функции и модели).

🔘Голосовой ввод и TTS с переводом.

🔘Долгосрочная память — помнит прошлые диалоги.

🔘Общение с документами и встроенный файловый менеджер.

🔘Веб-поиск и чтение сайтов прямо в чате.

🔘Профили настроек.

🔘Поддержка Markdown и LaTeX.

🔘Есть даже мини-режим окна для быстрых запросов с хоткеями.

#Linux #AI #Assistant #Newelle #Flathub #VoiceAI #OpenSource

📱Ссылка на репозиторий:
https://github.com/qwersyk/Newelle
Please open Telegram to view this post
VIEW IN TELEGRAM
3⚡2🔥2
📱Helium.

Helium
— браузер для тех, кто ценит контроль.

🔹Helium основан на ungoogled-chromium и полностью открыт:

🔘Убраны все Google-сервисы и телеметрия.
🔘Исходники и сборки доступны для macOS, Linux, Windows.
🔘Встроенный uBlock Origin.
🔘GPL-3.0 лицензия.

🔻Проект строится вокруг принципов:

🔘Прозрачность (весь код открыт).

🔘Приватность (никаких скрытых слежек).

🔘Скорость разработки (патчи и сборка максимально оптимизированы).

#Helium #OpenSource #ungoogledChromium #Privacy #Adblock #Browser #Linux #macOS #Windows

📱Ссылка на репозиторий:
https://github.com/imputnet/helium
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍3⚡2🔥2
📱Portable Python.

Portable Python — это полностью автономная сборка Python, которая запускается на любом x86_64 Linux-дистрибутиве без каких-либо системных зависимостей.
Она поддерживает даже тяжёлые C-расширения (NumPy, pandas, SciPy), что делает её настоящей «переносимой заменой» обычной системной установки Python.

❓Что делает Portable Python особенным:

🔘Работает на любой Linux-системе.

🔘Поддерживает динамические C-расширения.

🔘pip уже установлен.

🔘Каждое окружение имеет свои независимые site-packages.

🔘Можно быстро создавать множество окружений (dev, prod, test).

🔘subprocess работает корректно — как у системного Python.

🔘Не зависит от glibc и может переключаться на musl при необходимости.

⚙️Как это работает?

Portable Python использует «квази-статический» лаунчер:

🔘пытается загрузить собственный libpython,

🔘если что-то несовместимо — перезапускает процесс под musl-loader,

🔘благодаря этому один Python-бинарь работает на разных libc.

Окружения создаются через hardlinks → быстро, экономно и полностью изолировано.

🆚Отличия от других решений:

❌Статически собранный Python ломает C-библиотеки.

❌venv привязан к системному Python.

❌distroless требует контейнеров.

✔️Portable Python работает сам по себе и везде одинаково.

⚠️Ограничения:

🔘Только x86_64 Linux.

🔘Возможны проблемы с пакетами, завязанными на glibc.

🔘Без поддержки GUI (Tkinter и т.п.).

#python #portablepython #linux #pythondev #development #devtools #python312 #musl #glibc #opensource

📱Ссылка на репозиторий:
https://github.com/qznc/portable_python
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍32⚡11
📱Docking.

Docking — лёгкий, но очень функциональный док для Linux на Python (GTK 3 + Cairo), вдохновлённый Plank и Cairo‑Dock, но с современной архитектурой и системой апплетов.

🔹Из коробки:

🔘Быстрый лаунчер с индикаторами запущенных приложений, превью окон и drag‑and‑drop‑организацией.

🔘38 встроенных апплетов (часы, погода, сеть, батарея, системный монитор, помидоро, уведомления, Pet, музыка, ambient‑звуки, калькулятор, конвертер, заметки, буфер и много другого).

🔘12 тем (от minimal/transparent до nord, gruvbox и solarized) с авто‑масштабированием от icon_size.

🔘Мульти‑монитор, авто‑hide‑режимы, позиция по всем сторонам экрана, тонкая настройка поведения мыши.

🔘Десктоп‑интеграция для GNOME, KDE, Xfce, MATE, Cinnamon и других X11‑окружений.

🔘74 локали (есть русский) и GPL‑3.0‑or‑later.

Установка максимально простая: есть AppImage, .deb, .rpm, Flatpak, Snap, Arch‑пакеты и Nix‑бандлы; для ручной установки — git clone, venv с --system-site-packages и pip install -e ..

✅Если вам не хватает гибкости Plank или тяжеловат Cairo‑Dock — Docking закрывает эту нишу, оставаясь лёгким и при этом расширяемым за счёт своих апплетов и тем.

#linux #docking #dock #python #gtk #cairo #desktop #productivity #customization #applets #opensource

📱Ссылка на репозиторий:
https://github.com/edumucelli/docking
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🔥21
📱BleachBit.

BleachBit - это легковесный, но мощный инструмент для очистки системы и защиты приватности на Windows и Linux.

Он удаляет временные файлы, кеши, журналы и прочий мусор, помогает освободить место на диске и уменьшить «следы» активности.

🔹Возможности BleachBit:

🔘Очистка системы от временных и ненужных файлов.

🔘Удаление кешей и логов для разных приложений и браузеров.

🔘Поддержка безопасного (без восстановления) удаления файлов.

🔘Открытый исходный код под лицензией GNU GPLv3+.

🚀Запуск без установки (из исходников)

Скачайте и распакуйте tar-архив BleachBit.

Соберите переводы:
make -C po local


Запустите приложение:
python3 bleachbit.py


Откройте настройки, выберите нужные опции, нажмите Preview, проверьте список файлов и затем нажмите Delete.

🖥Командная строка

Для справки по CLI:
python3 bleachbit.py --help


🐳 Docker-сборки для Linux

Для сборки пакетов под выбранный дистрибутив (debian/fedora/opensuse) есть скрипт:
./docker/build.sh <distro>

Готовые артефакты будут в ./docker-artifacts/<distro> на хосте.

#BleachBit #Linux #Windows #OpenSource #Privacy #DiskCleanup #SysAdmin #DevTools #Python #Docker

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

Winpodx
— это инструмент, который позволяет запускать любые Windows-программы на Linux так, будто это родные Linux-приложения.

Забудьте про тяжелые и неудобные виртуальные машины, которые открывают огромный рабочий стол Windows внутри Linux. С Winpodx вы просто кликаете по иконке в меню, и нужный вам условный Microsoft Word или Photoshop открывается в обычном, аккуратном окошке прямо на вашем рабочем столе Linux.

🔹Почему это удобно:

🔘Всё как родное: У программ свои реальные иконки в меню и на панели задач, они без проблем переключаются через Alt-Tab и закрепляются там, где вам удобно.

🔘Общие файлы: Полная интеграция. Можно дважды кликнуть по документу .docx в файловом менеджере Linux, и он сразу откроется в Windows-версии Word.

🔘Обман системы: Некоторые программы и инсталляторы «капризничают» и отказываются работать внутри виртуальных машин. Winpodx умеет искусно притворяться реальным физическим компьютером, обходя эти запреты.

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

📦Как это устроено внутри:

Вся магия автоматизации написана на Python с графическим интерфейсом на Qt6. Именно Python выступает в роли «клея» и главного диспетчера: он полностью управляет фоновым Windows-контейнером (Docker/Podman), настраивает трансляцию окон через FreeRDP, налету вытаскивает ярлыки из гостевой системы и связывает файлы между двумя ОС без какой-либо ручной настройки со стороны пользователя.

Установка запускается одной строкой в терминале (главное, чтобы в BIOS вашего ПК была включена виртуализация):

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash


#WinPodX #Linux #Windows #Virtualization #Docker #Podman #DevTools #OpenSource #Лайфхак #Администрирование

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

Pyappdist -
это инструмент для сборки нативных установщиков (инсталляторов) для Python-приложений, который раз и навсегда решает проблему бесконечного поиска скрытых импортов, потерянных файлов данных и неработающих плагинов.

Главное отличие pyappdist от классических «замораживателей» кода (вроде PyInstaller) заключается в том, что он не упаковывает приложение в один монолитный .exe-файл. Вместо этого инструмент собирает настоящий, чистый и изолированный Python-рантайм и устанавливает ваше приложение внутрь него точно так же, как это делает pip.

Благодаря такому подходу вам больше не нужно писать костыли, воевать со флагами --hidden-import или прописывать пути к ресурсам через --add-data. Если проект запускается локально через uv run, он гарантированно заработает и после сборки. Расширения на C (C extensions), бинарные пакеты (abi3 wheels), сложные плагины для Qt (PySide6) и интерфейсы на tkinter работают из коробки без каких-либо модификаций.

🔹Что умеет собирать утилита (из одного конфига):

🔘Windows: Официальные установщики .msi (пользовательские или системные) и пакеты .msix для Microsoft Store.

🔘macOS: Готовые образы .dmg и бандлы .app с полноценной поддержкой подписи кода и нотариализации (notarization).

🔘Linux: Самораспаковывающиеся .run-архивы и обычные .tar.gz (установка в один клик в пользовательскую директорию без root-прав).

🚀Быстрый старт через pyproject.toml:

Настройки лаунчеров и платформ сборки описываются прямо в конфигурационном файле вашего проекта:

[tool.pyappdist]
name = "My App"
python = "3.12"

[[tool.pyappdist.launchers]]
name = "myapp"
entry = "myapp:main"
gui = true # Использовать pythonw.exe (без консольного окна) на Windows
icon = "assets/app.ico"

[[tool.pyappdist.targets]]
name = "windows"
platform = "windows-x86_64"
format = "msi"
manufacturer = "Example Inc."


После этого достаточно добавить пакет в dev-зависимости и запустить сборку:

uv add --dev pyappdist
uv run pyappdist build windows-x86_64


Итоговый инсталлятор соберется автоматически и упакуется в папку appdist/windows/dist/.

⚠️На текущий момент проект находится в стадии Альфы, поэтому схема конфигурации и CLI могут незначительно меняться, однако весь пайплайн сборки уже полностью готов к использованию в связке с менеджером пакетов uv.

#Python #Packaging #PyAppDist #DevTools #Windows #MacOS #Linux #SoftwareDevelopment #OpenSource #Deployment

📱Ссылка на репозиторий:
https://github.com/atsuoishimoto/pyappdist
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2
📱Linecast.

Linecast
- это набор интерактивных CLI-приложений для терминала, превращающий открытые гео- и астрономические данные в стильные консольные дашборды с поддержкой мыши: от прогноза погоды и фаз Луны до анимированного радара и полноценных карт с навигацией.

Утилита написана на чистом Python, не требует внешних зависимостей (на macOS и Linux), не запрашивает API-ключи и автоматически подстраивает цвета под текущую палитру вашего терминала.

🔹Шесть встроенных инструментов:

🌦 linecast weather — детальная погода: текущие условия, почасовой прогноз с градиентом светового дня, прогноз на 7 дней, индекс качества воздуха (AQI) и официальные штормовые предупреждения.

☀️ linecast sunshine — движение Солнца по небосводу (по аналогии с циферблатом Solar в Apple Watch), расчет долготы дня, годовой календарь инсоляции (--year) и корректная обработка полярных дней и ночей.

🌑 linecast moon — отображение видимой части Луны с физически точными тенями, пепельным светом и реальными созвездиями вокруг из каталога Yale Bright Star. Поддерживает прокрутку времени, переключение на обратную сторону Луны и традиционные лунно-солнечные календари (иврит, исламский, восточноазиатские).

🌊 linecast tides — графики морских приливов и отливов с отметками пиковых значений и текущего уровня воды по базам NOAA и Open-Meteo.

📡 linecast radar — анимированная карта осадков и спутниковые инфракрасные снимки, отрисованные прямо в терминале с помощью символов Брайля.

🗺 linecast maps — векторные и рельефные карты, интерактивный 3D-глобус с линией терминатора (день/ночь) и облачностью из космоса, а также поиск адресов и пошаговая прокладка автомобильных, пеших и веломаршрутов.

💻Быстрый запуск и установка:

Попробовать в один клик без установки:

uvx linecast weather


Или через скрипт (задействует системный python3):

curl -sL https://raw.githubusercontent.com/ashuttl/linecast/main/get.sh | sh


Установка как постоянной утилиты:

# Через Homebrew
brew install linecast

# Через uv
uv tool install linecast

# Или через pipx
pipx install linecast


Инструмент поддерживает шрифты Nerd Font (linecast icons nerd), умеет отдавать данные в формате JSON (--json), а также выводить компактную строку для статус-баров tmux, Waybar или Polybar (--oneline).

#Python #Linecast #CLI #Terminal #Weather #Maps #OpenSource #Astronomy #Linux #macOS #DevTools

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

Bashautom
- это легковесная Python-библиотека для управления персистентными (долгоживущими) сессиями Bash, сохраняющая контекст и состояние шелла между последовательными командами.

При использовании стандартного subprocess.run() на каждый вызов порождается абсолютно новый изолированный процесс: изменения рабочей директории (cd), экспортированные переменные (export) и активированные виртуальные окружения (source .env) моментально сбрасываются. Библиотека pexpect решает проблему персистентности, но завязана на хрупкий интерактивный парсинг шелл-промптов.

bashautom держит один живой процесс /bin/bash в фоновом режиме и возвращает чистый структурированный результат по каждой команде без необходимости писать регулярные выражения и шаблоны expect.

🔹Ключевые возможности:

🔘Персистентность окружения: Переменные среды, активная директория (cwd) и результаты выполнения скриптов через source сохраняются между вызовами метода .execute().

🔘Структурированный CommandResult: Каждая команда возвращает подробный статус: stdout, stderr, exit_code, флаг success, флаг timed_out и точное время выполнения в секундах (duration).

🔘Безопасные таймауты: Если команда превышает заданный лимит времени (timeout=N), она принудительно прерывается, но сама bash-сессия остается живой и готовой принимать следующие команды.

🔘Потоковый вывод в реальном времени: Поддержка коллбеков (stream_callback) для чтения stdout/stderr по мере генерации (полезно для логов сборки и долгих циклов).

🔘Менеджер сессий (SessionManager): Удобное создание, координация и параллельное управление несколькими именованными bash-сессиями в разных директориях.

🔘Встроенные хелперы: Быстрый доступ к состоянию процесса через методы set_env(), get_env(), get_cwd(), проверку PID и флага alive.

💻Пример использования:
from bashautom import Session

with Session() as s:
# Состояние сохраняется от шага к шагу:
s.execute("cd /opt/myproject")
s.execute("source .env")
s.execute("export BUILD_ID=42")

# Выполнение с контролем времени
result = s.execute("make build", timeout=120)

if result.success:
print(f"Сборка завершена за {result.duration:.2f} сек")
print(result.stdout)
else:
print(f"Ошибка (код {result.exit_code}):", result.stderr)


Потоковый вывод (Streaming):

from bashautom import Session
from bashautom.session import StreamEvent

def on_output(event: StreamEvent):
print(f"[{event.stream}] {event.data.strip()}")

with Session() as s:
s.execute("for i in 1 2 3; do echo $i; sleep 0.5; done", stream_callback=on_output)


📦Установка:
pip install bashautom


✅Требования: Python 3.10+, поддержка Linux и macOS. Лицензия: MIT.

#Bashautom #Python #Bash #DevOps #Automation #Linux #MacOS #CLI #Scripting #OpenSource #DevTools

📱Ссылка на репозиторий:
https://github.com/huskago/bashautom
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31