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
📱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
📱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
📱ACE-Step 1.5.

ACE-Step 1.5 — открытая модель генерации музыки, которая по качеству подбирается к коммерческим сервисам (между Suno v4.5 и Suno v5), но работает локально и довольствуется <4 ГБ VRAM. Она генерирует треки длиной от 10 секунд до 10 минут, поддерживает 50+ языков.

В основе — гибридная архитектура: LLM выступает «композитором‑планировщиком», разворачивая короткий промпт в подробный план трека (структура, метаданные, текст, описания), а Diffusion Transformer (DiT) по этому плану синтезирует аудио.

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

🔘Скорость и масштаб: генерация 10–600 секунд музыки, батч до 8 треков одновременно.

🔘Управление стилем: поддержка 1000+ инструментов и стилей, контроль длительности, BPM, тональности, размера, структуры, текста.

🔘Мульти‑режимы: text‑to‑music, cover‑генерация, локальный repaint/extend участков, разбиение на дорожки (stems), добавление слоёв как в Suno Studio, Vocal→BGM‑аккомпанемент.

🔘Анализ аудио: извлечение BPM, тональности, размера, автогенерация описаний и LRC‑таймингов для текста.

🔘Персонализация: обучение своих LoRA по 8 трекам примерно за час на 3090 (12 ГБ VRAM) прямо из Gradio‑интерфейса.

🔻Установка и запуск:

🔘Требования: Python 3.11–3.12, желательно GPU с CUDA (также есть режимы для MPS / ROCm / Intel XPU / CPU).

🔘Быстрый старт:
1) Установить uv.
2) git clone https://github.com/ACE-Step/ACE-Step-1.5.git && cd ACE-Step-1.5
3) uv sync
4) uv run acestep — поднимает Gradio UI, модели докачаются при первом запуске.
5) Для REST API вместо UI: uv run acestep-api (по умолчанию порт 8001).
🔘Для Windows есть готовый portable‑пакет с уже предустановленными зависимостями.

Под разные видеокарты предусмотрены варианты LM‑моделей от 0.6B до 4B параметров; UI сам подбирает оптимальную конфигурацию (модель, бэкенд, квантование, оффлоад) исходя из объёма VRAM. Лицензия MIT, так что модель можно встраивать в свои пайплайны, продукты и тулчейны для музыкантов, продюсеров и контент‑криэйторов.

#AI #MusicGen #AIMusic #ACEStep #Diffusion #LLM #LoRA #OpenSource #AudioAI #CUDA #AMD #MacOS #Python

📱Ссылка на репозиторий:
https://github.com/ace-step/ACE-Step-1.5
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡3🔥31
📱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