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

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

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

Kroma — это лёгкая и мощная библиотека для красивого вывода в терминал на Python.

🔹Если коротко:

Kroma делает цветной и стильный терминальный вывод проще, чем colorama, и даёт больше возможностей, чем rich.

❓Что умеет Kroma:

🔘Динамически менять цвета.

🔘Генерировать цветовые градиенты.

🔘Использовать встроенные палитры.

🔘Управлять глобальной цветовой схемой терминала.

🔘Простой, интуитивный и лёгкий API.

🔘Работает на Python 3.10+.

#Kroma #Python #Terminal #CLI #DevTools #Rich #Colorama

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

JustHTML — это Python‑парсер HTML5, который «просто работает»: без C‑расширений, системных библиотек и сложного API.

Модуль реализует актуальный WHATWG HTML5 стандарт, поэтому если браузер может распарсить документ, JustHTML тоже сможет, включая сложные правила обработки ошибок.

Он возвращает обычные Python‑объекты и позволяет искать элементы по знакомым CSS‑селекторам через один метод query(), что делает разбор и обход дерева максимально удобным.
​
🔹Особенности:

🔘100% соответствие html5lib‑tests (9k+ тестов), 100% покрытие и миллионы fuzz‑тестов на сломанный HTML.
​
🔘Ноль зависимостей, кроссплатформенность (CPython, PyPy, Pyodide и др.) и установка одной командой: pip install justhtml.
​
🔘Встроенный CLI: можно парсить stdin/файлы и сразу получать текст, Markdown или HTML по CSS‑селекторам прямо из терминала.
​
✅JustHTML — когда нужен HTML5‑парсинг «по стандарту», а не «как получится».

#python #html5 #parsing #webscraping #webdev #pythondev #cli #justhtml

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

x-ray — это небольшая, но очень полезная Python‑библиотека и CLI‑утилита для поиска «плохих» редактирований в PDF: тех случаев, когда поверх текста просто нарисовали чёрный прямоугольник, но сам текст под ним по‑прежнему можно выделить и прочитать.

❓Зачем нужен x-ray:

🔘Free Law Project собирает миллионы судебных и других PDF‑документов и регулярно сталкивается с тем, что конфиденциальные данные замазывают «криво», оставляя текст доступным под чёрной плашкой.

🔘x-ray создавался как способ автоматически находить такие провальные редактирования, чтобы оценивать масштаб проблемы и предотвращать утечки до публикации документов.

🔹Как это работает внутри:

🔘x-ray использует PyMuPDF для высокопроизводительного парсинга PDF.

🔘Алгоритм в общих чертах: найти прямоугольники, найти буквы в тех же координатах, отрендерить прямоугольник в картинку и проверить, является ли он однородным по цвету; если да и под ним есть текст, это помечается как «плохая» редакция.

🔻Пример:
from pathlib import Path
from pprint import pprint
import xray

# 1. Указываем путь к PDF
pdf_path = Path("docs/sample.pdf")

# 2. Запускаем проверку: xray сам откроет файл и проанализирует его
bad_redactions = xray.inspect(pdf_path)

# 3. Структура результата:
# {
# 1: [
# {
# "bbox": (x1, y1, x2, y2), # координаты «чёрного прямоугольника»
# "text": "утёкший текст под ним"
# },
# ...
# ],
# 2: [...],
# ...
# }
pprint(bad_redactions)

# 4. Пример пост‑обработки: просто напечатаем найденные утечки по страницам
if not bad_redactions:
print("Плохих редактирований не найдено.")
else:
for page, items in bad_redactions.items():
print(f"\nСтраница {page}:")
for item in items:
bbox = item["bbox"]
text = item["text"]
print(f" BBox: {bbox}")
print(f" Текст: {text}")

Ключевые моменты: xray.inspect(...) принимает путь, URL или bytes; возвращает словарь, где ключи — номера страниц, а значения — списки словарей с координатами прямоугольника (bbox) и текстом, который под ним всё ещё читается.

#xray #Python #PDF #Redaction #BadRedactions #InfoSec #Privacy #LegalTech #PyMuPDF #CLI

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

tablediff — это минималистичный CLI‑инструмент для diff’а данных между двумя таблицами (dev vs prod, разные БД, миграции и пр.), построенный поверх reladiff и уже проверенный с DuckDB и Snowflake.
​
🔹Что делает:

🔘Сравнивает две таблицы по первичному ключу и даёт краткий сводный отчёт: совпадают ли данные или нет.
​
🔘С флагом --extended показывает:

✔️общие и уникальные колонки;

✔️по 5 id, которые не совпадают, и по 5 id, которые есть только в каждой из таблиц.
​
🔘Поддерживает --where, чтобы сравнивать только нужный срез данных (например, последние 7 дней или только status = 'active').
​
⚙️Установка:

🔘DuckDB: pip install "tablediff-cli[duckdb]"

🔘Snowflake: pip install "tablediff-cli[snowflake]"
​
🔻Базовый вызов:
tablediff TABLE_A TABLE_B --pk id --conn duckdb://./sample.duckdb
или
tablediff DEV.MART.USERS PROD.MART.USERS --pk USER_ID --conn "snowflake://..."


​#tablediff #Python #CLI #DataEngineering #DuckDB #Snowflake #DataQuality #DataDiff #ETL #Analytics
​
📱Ссылка на репозиторий:
https://github.com/oleg-agapov/tablediff
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍1
📱StocksTUI.

stocksTUI — это минималистичный TUI‑клиент для терминала, который показывает котировки акций и крипты, новости и исторические графики прямо в shell, без браузера.

❓Что умеет:

🔘Тикеры в quasi‑реалтайме, удобные watchlist’ы, теги (growth/ev/semiconductor), таблицы и графики от 1D до Max.

🔘Опционы (страйки, bid/ask, Greeks, OI), лента новостей по тикеру или общей подборкой, плюс макроданные FRED (GDP, CPI, безработица и др.) с скользящими средними и Z‑score.

🔘Глубокий «паспорт» инструмента: ATH, % от ATH, P/E, капа, истории; vim‑like навигация с кучей хоткеев, темы, умное кэширование, чтобы не долбить API в выходные.

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

🔘Требования: Python 3.9+, Linux/macOS (нативно), Windows — через Windows Terminal + WSL2, старый cmd.exe не подойдёт.

🔘Рекомендуемая установка через pipx:
  pipx install stocksTUI
stockstui # запуск
stockstui -h # краткая помощь
stockstui --man # полный мануал


🔻Примеры CLI:

🔘История по TSLA: stockstui --history TSLA.

🔘Общие новости по NVDA и AMD: stockstui --news "NVDA,AMD".

🔘Опционный стакан AAPL: stockstui --options AAPL.

🔘Разовый watchlist: stockstui --session-list "EV Stocks=TSLA,RIVN,LCID".

Для поста про stocksTUI хорошо подойдут такие хэштеги:

#stocksTUI #Python #TUI #Terminal #Stocks #Crypto #Investing #MarketData #FRED #Textual #yfinance #CLI #DevTools

🔹Ссылка на репозиторий:
https://github.com/andriy-git/stocksTUI
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡42🔥1
📱Webctl.

webctl — это CLI-обёртка над Chromium/Playwright для автоматизации браузера людьми и AI‑агентами, с акцентом на фильтрацию вывода до попадания в контекст LLM и удобную интеграцию со skill‑системами (Claude, Goose и др.).

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

🔘Автоматизация браузера командами вроде:
webctl start, webctl navigate "https://example.com", webctl click 'role=button name~="Submit"', webctl snapshot --interactive-only.

🔘Архитектура CLI + daemon: утилита отправляет JSON‑RPC по Unix‑сокету в фоновой процесс, который держит Chromium и сессию (cookies, профиль) живыми между командами.

❓Почему CLI, а не MCP:

🔘MCP обычно льёт в контекст кучу «шума» (полный accessibility tree, логи и т.д.), быстро забивая окно контекста модели.

🔘В CLI‑подходе ты сам решаешь, что покажется LLM:
webctl snapshot --interactive-only --limit 30 | grep -i "submit" или ... --format jsonl | jq ....

🔻Интеграция с агентами:

🔘webctl init генерирует skill‑/prompt‑файлы для Claude Code, Goose, Gemini, Copilot, Codex, чтобы агент знал, как вызывать webctl.

🔘Skills подхватываются по файлам (.claude/skills/webctl/SKILL.md, .agents/skills/... и т.п.), загружаются по требованию, чтобы не засорять системный промпт.

🔻Основные команды:

🔘Навигация и наблюдение: navigate, back/forward/reload, snapshot, query, screenshot.

🔘Взаимодействие: click, type, select, check, press, scroll, wait ..., плюс status, console, save для сессии.

#webctl #Playwright #CLI #BrowserAutomation #AIAgents #LLM #UnixTools #Chromium #DevTools #Automation

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

pycaniuse — это маленький CLI‑инструмент на Python, который позволяет спрашивать caniuse.com прямо из терминала: ввёл запрос — получил сводку по поддержке фич браузерами, без переключения в браузер.

🔹Основное:

🔘Обычный режим показывает компактный список основных браузеров со статусами: ✅ поддерживается, ❌ нет, ◐ частично, ⁖ неизвестно.

🔘Полноэкранный --full даёт интерактивное TUI: можно стрелками/hjkl листать браузеры и версии, вкладки с деталями, заметками и ресурсами.

🔘Умный поиск: если совпадение одно — выбирается автоматически; при нескольких в интерактивном TTY появится выбор, в неинтерактивном — детерминированно берётся первый матч.

🔘Парсит «живой» HTML caniuse.com (без локальной БД), поэтому всегда показывает актуальные данные по поддержке.

🐱Установка и примеры:

🔘Установка: pip install pycaniuse
🔘Примеры:
- caniuse flexbox
- caniuse "css grid"
- caniuse flexbox-gap --full

#Python #CLI #WebDev #CanIUse #BrowserCompatibility #Frontend #DeveloperTools

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

Tallyman — это CLI‑утилита, которая показывает не только размер, но и «форму» вашего проекта: сколько строк кода, DevOps‑конфига, дизайна, документации, спецификаций и данных.

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

🔘Категории: Code, DevOps, Design, Docs, Specs, Data + «эффективные» строки (без комментариев и пустых строк).

🔘Понимает .gitignore, умеет интерактивно настроить исключения и spec‑директории, сохраняет конфиг в .tally-config.toml.

🔘Экспорт PNG‑карточки (--image / --image-light) с красивой сводкой для README, докладов и соцсетей.

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

uv tool install tallyman-metrics

tallyman # текущая папка
tallyman --image # PNG-карточка проекта


#python #cli #devtools #metrics #loc #tallyman #uv

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

Pywho — удобный CLI‑инспектор для Python‑окружения: одной командой показывает, какой интерпретатор и venv запущены, куда смотрит sys.path, куда реально резолвятся импорты.

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

🔘Инспекция окружения

pywho выводит интерпретатор (путь, версия, архитектура), активный venv (тип: venv/virtualenv/uv/conda/poetry/pipenv и т.п.), пути site-packages, менеджер пакетов (pip/uv/conda/poetry/pipenv/pyenv) и полный sys.path.

Есть режим pywho --json и pywho --packages (список установленных пакетов с версиями и путями) для CI/issue‑репортов.

🔘Трассировка импортов

pywho trace <module> показывает, из какого файла реально грузится модуль, его тип (stdlib/third-party/local), кэширован ли он и какой порядок поиска по sys.path был использован.

- Поиск шадоу‑модулей по проекту
pywho scan . проходит дерево проекта и находит файлы, которые шадовят модули stdlib или установленные пакеты, с градацией по важности: HIGH (stdlib), MEDIUM (third-party).

Стандартные мусорные директории вроде .venv, __pycache__, node_modules, dist, build, .git автоматически игнорируются.

🔘Python API

Можно использовать как библиотеку:

- inspect_environment() — объект с инфой про интерпретатор, venv, менеджер пакетов, пути, плюс to_dict() для JSON.

- trace_import("name") — программный аналог pywho trace с полями resolved_path, module_type, is_cached, shadows.

- scan_path(Path(".")) — результаты сканирования на шадоу с уровнем серьёзности.

🔘Интеграция в рабочие процессы

- “Works on my machine” debug: попросить пользователя выполнить pywho --json --packages и приложить результат к issue или в чат.

- Онбординг: pywho для быстрой проверки, что окружение настроено как надо.

- CI: pywho --json --packages > env.json как снимок окружения сборки.

✅Если резюмировать, pywho — это удобный “однокнопочный” отчёт по окружению + инструменты для объяснения, какой именно Python вы запускаете, почему `import X` подхватил тот самый файл и где у вас лежит опасный `json.py` рядом с проектом.

#python #pywho #debugging #virtualenv #asyncio #packagemanagement #devtools #cli #stdlib #import #shadowing

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

PrettyTable — это классическая и невероятно удобная библиотека для Python, которая позволяет красиво выводить табличные данные прямо в терминале (в виде ASCII-таблиц) и не только!

Если вам нужно быстро визуализировать логи, статистику или просто структурировать вывод в консоли, этот инструмент сэкономит кучу времени.

🔹Главные фичи:

🔘Гибкий импорт: Собирайте таблицы построчно, по столбцам, или загружайте данные напрямую из .csv файлов и SQL-баз данных (через курсор).

🔘Мульти-экспорт: Не ограничивайтесь консолью! PrettyTable умеет конвертировать ваши таблицы в HTML, JSON, CSV, LaTeX, MediaWiki и Markdown в один вызов метода.

🔘Детальная стилизация: Полный контроль над внешним видом. Меняйте выравнивание (влево, вправо, по центру), убирайте рамки, настраивайте символы разделителей или используйте готовые стили (например, для переноса в MS Word).

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

🔘Поддержка цвета: Используйте класс ColorTable для добавления ANSI-цветов и создания стильных терминальных интерфейсов.

🚀Быстрый старт:

pip install prettytable

from prettytable import PrettyTable

table = PrettyTable(["Город", "Население"])
table.add_row(["Аделаида", 1158259])
table.add_row(["Брисбен", 1857594])

print(table)


#Python #PrettyTable #Terminal #CLI #DataScience #Backend #DevTools #OpenSource #Programming

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

Typerform — это генератор типобезопасных CLI-интерфейсов, работающий на базе Pydantic и Prompt-Toolkit.

Он превращает ваши Pydantic-модели в профессиональные, интерактивные пошаговые CLI-визарды. Забудьте про написание скучных циклов ввода input() и ручную валидацию — теперь за пользовательский опыт отвечают ваши схемы данных!

🔹Главные фичи:

🔘Zero Boilerplate: Нужна всего одна строчка кода, чтобы сгенерировать полноценный многошаговый мастер настройки.

🔘Типобезопасность: Инструмент автоматически подхватывает все ограничения из Pydantic (например, min_length, ge, EmailStr).

🔘Шаг назад (Backtracking): Ошиблись при вводе? Просто напишите :b или :back, чтобы вернуться к предыдущему полю и отредактировать его.

🔘Условная логика: Динамически скрывайте или показывайте поля в зависимости от ответов пользователя (через параметр when).

🔘Безопасность из коробки: Автоматическое скрытие ввода (звездочками) для полей SecretStr (идеально для паролей и API-ключей).

🔘Умное автодополнение: Нечеткий поиск (fuzzy search) и подсказки в реальном времени для типов Enum и Literal.

🔘Списки и коллекции: Встроенная поддержка List[T] — визард сам запустит цикл для добавления нескольких элементов.

🔘Гидратация: Умеет предзаполнять форму данными из переменных окружения или файлов конфигурации.

🚀Быстрый старт:

pip install pytypeform

from typing import Literal
from pydantic import BaseModel, Field
from typeform import form

class SetupConfig(BaseModel):
project_name: str = Field(description="Project Name", min_length=3)
environment: Literal["dev", "staging", "prod"] = Field(default="dev")

# Генерация визарда одной строкой!
config = form(SetupConfig, title="Project Setup")
print(config.model_dump())


#Python #Pydantic #CLI #Backend #DevTools #Programming #OpenSource

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

Datanomy - это консольная утилита для изучения "анатомии" ваших столбцевых (columnar) файлов данных.

Она предоставляет удобный интерактивный интерфейс прямо в терминале для просмотра структуры, метаданных и внутренней организации ваших файлов. На данный момент инструмент поддерживает работу с форматом Parquet.

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

🔘Общая структура файла.
🔘Схема (Schema).
🔘Предпросмотр самих данных (Data).
🔘Метаданные (Metadata).
🔘Статистика (Stats).

🔧Установка:

Через современный пакетный менеджер uv:
uv tool install datanomy


или через классический pip:
pip install datanomy


🐱Использование:

datanomy data.parquet


Если не хотите устанавливать пакет глобально, можно запустить на лету (через uvx):
uvx datanomy data.parquet


✅Инструмент написан на Python с использованием мощных библиотек Textual и PyArrow.

#Datanomy #Python #DataEngineering #DataScience #Parquet #CLI #OpenSource #Терминал #BigData

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

Kirokyu — это
локальная (local-first) система управления задачами, написанная на Python, с чистой и гибкой модульной архитектурой.

Проект создан для того, чтобы помочь вам организовывать, отслеживать и выполнять задачи в полностью изолированных рабочих пространствах (workspaces). Каждое такое пространство — это отдельный "бункер" данных со своей собственной базой.

🔹Главная фишка проекта — Гексагональная архитектура (Ports and Adapters).

Доменное ядро (бизнес-логика) абсолютно не зависит от инфраструктуры. Хранение данных, механизмы доставки и UI — это просто сменные адаптеры. Это значит, что к одной и той же логике вы можете обращаться через три совершенно разных интерфейса:

🔘Web UI: Браузерный интерфейс на базе Streamlit с дашбордом аналитики (streamlit run src/kirokyu/adapters/ui/app.py).

🔘CLI: Мощный интерфейс командной строки на базе Typer (kirokyu task create "Купить продукты").

🔘REST API: Полноценный API на FastAPI с интерактивной документацией Swagger (uvicorn kirokyu.adapters.api.app:app --reload).

🔘Изолированные воркспейсы.

Легко разделяйте личные и рабочие дела. Каждый воркспейс хранится в отдельном файле базы данных SQLite в директории ~/.kirokyu/workspaces/.

kirokyu workspace create personal
kirokyu workspace create work


🔘Сменные хранилища данных.

Благодаря чистой архитектуре, тип базы данных можно сменить одной переменной окружения KIROKYU_ADAPTER:

✔️sqlite — локальная БД (по умолчанию).

✔️json — сохранение в JSON-файл.

✔️memory — хранение в оперативной памяти (идеально для тестов).

🔘Отличный референс для разработчиков.

✅Проект написан на Python 3.12+ и использует лучшие современные практики: покрытие тестами (pytest), строгая типизация (mypy), быстрый линтер (ruff) и pre-commit хуки.

#Python #TaskTracker #HexagonalArchitecture #CleanArchitecture #FastAPI #Streamlit #CLI #OpenSource #DevTools

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

Photolab
- это CLI-инструмент для цветокоррекции фотографий и подготовки их к печати.

Вместо того чтобы вручную крутить ползунки, photolab автоматически генерирует 9 различных вариантов коррекции (от классического Auto Levels до алгоритмов Gray World) и собирает их на одном удобном контакт-листе (contact sheet). Вы можете выбрать лучший вариант "на глаз" или скомбинировать их сильные стороны перед финальным экспортом с ICC-профилями для принтера.

Изначально утилита создавалась для связки Fuji X-T1 (RAW/RAF) + iPhone (HEIC) + принтер Canon PRO-1000, но отлично работает с любыми камерами и устройствами печати.

🔹Главные фишки:

🔘Адаптивный пайплайн с ИИ: Утилита умеет использовать Claude (через Claude Code или напрямую через Anthropic API). Нейросеть сама изучит сгенерированный контакт-лист и напишет "рецепт", объединяющий плюсы разных вариантов (например, правильный скинтон от одного + защита светов от другого).

🔘Умная подготовка к печати: Команда photolab pick автоматически конвертирует цветовое пространство по нужным ICC-профилям и применяет резкость в зависимости от типа бумаги (глянец, мат, файн-арт), выдавая на выходе готовый 16-битный TIFF.

🔘Анализ снимков: Команда photolab analyze покажет температуру, паразитные оттенки, клиппинг в тенях/светах и процент попадания снимка в цветовой охват вашего принтера.

🔘Пакетная обработка: Команду photolab batch можно натравить на целую папку с фотографиями.

🔘Поддержка любых форматов: Работает с JPEG, PNG, TIFF, HEIC и любыми RAW-файлами, которые понимает LibRaw (RAF, CR2, NEF, DNG, ARW и др.).

🚀Быстрый старт:

Инструмент написан на Python (3.11+) и требует C-компилятор в системе для установки rawpy.
git clone https://github.com/dimatosj/fotomagoufis.git
cd fotomagoufis
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"


(Если планируете использовать авто-оценку снимков нейросетью, устанавливайте версию pip install -e ".[evaluate]" и задайте переменную среды ANTHROPIC_API_KEY).


#photolab #Python #Photography #CLI #ColorCorrection #OpenSource #ClaudeAI #Print #DevTools

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

Remote CMD -
это легковесная Python-утилита (CLI) и API для управления серверами по SSH. Без лишнего оверхеда, сложных конфигураций Ansible или громоздких bash-циклов.
Инструмент идеально подходит для ситуаций, когда вам нужно быстро выполнить команду на нескольких серверах, раскидать файлы или автоматизировать деплой, используя удобный синтаксис прямо "из коробки".

🔹Главные возможности:

🔘Управление инвентарем и тегами: Добавляйте серверы в базу (JSON/YAML) и группируйте их по тегам (например, production, web, db).

🔘Массовое выполнение (Batch Ops): Запускайте команды сразу на группе серверов. Например, узнать свободное место на всех продакшен-машинах: remote-cmd batch-run -t production "df -h /".

🔘Передача файлов: Встроенная поддержка загрузки и скачивания файлов по SFTP.

🔘Python API: Инструмент можно использовать как библиотеку внутри ваших собственных Python-скриптов для сложной автоматизации (поддерживает выполнение sudo команд с паролем).

🔘Нулевая настройка: Никаких ansible.cfg или конфигураций SSH-агента. Установили через pip — и можно работать.

🚀Быстрый старт:

# Установка
pip install remote_cmd_manager

# Добавление сервера
remote-cmd host add web-01 192.168.1.10 ubuntu --key ~/.ssh/id_rsa

# Выполнение команды на одном сервере
remote-cmd run web-01 "uptime"


✅Если Ansible для ваших текущих задач — это "стрельба из пушки по воробьям", а голый SSH уже не справляется с количеством машин, Remote CMD станет отличным балансом. В планах разработчиков — добавление асинхронного выполнения команд для еще большей скорости.

#Python #SSH #DevOps #SysAdmin #CLI #Automation #OpenSource #DevTools #Администрирование

📱Ссылка на репозиторий:
https://github.com/Vae-Scrooge/remote-cmd
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍22
📱Num2words library.

Num2words library
- это библиотека для Python и удобная консольная утилита, которая переводит числа в слова (прописью) на десятках языков мира.

Она превращает числа вроде 42 в текст вида «сорок два» или «forty-two», умеет формировать порядковые числительные и корректно форматировать денежные суммы для финансовых отчетов или документов.

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

🔘Поддержка более 50 языков: Включая русский (ru), английский (en), испанский (es), французский (fr), немецкий (de), казахский (kz), украинский (uk) и многие другие, в том числе региональные диалекты.

🔘Несколько режимов конвертации (to):

cardinal (по умолчанию) — обычные количественные числительные («сорок два»).

ordinal — порядковые числительные («сорок второй»).

currency — денежные суммы с указанием валюты и разменных монет («два евро четырнадцать центов»).

year — проговаривание годов («девятнадцать восемьдесят четыре»).

🔘Работа прямо из терминала (CLI): Можно использовать в shell-скриптах и пайплайнах без необходимости писать отдельный код на Python.

🔻Примеры использования:

В коде Python:

from num2words import num2words

# Обычное число на русском языке
print(num2words(42, lang='ru'))
# -> "сорок два"

# Порядковое числительное
print(num2words(42, to='ordinal', lang='ru'))
# -> "сорок второй"

# На французском
print(num2words(42, lang='fr'))
# -> "quarante-deux"


В командной строке (
CLI):

# Базовый вызов
num2words 10001
# -> ten thousand and one

# Денежный формат на испанском
num2words 2.14 -l es --to currency
# -> dos euros con catorce céntimos


📦Установка:

pip install num2words


✅Отличный инструмент для генерации счетов, чеков, договоров, аудиогидов и систем синтеза речи (TTS), где требуется грамотное текстовое представление чисел.

#Python #Num2words #Localization #NLP #DevTools #OpenSource #CLI #Backend #Программирование

📱Ссылка на репозиторий:
https://github.com/savoirfairelinux/num2words
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥31
📱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
📱Plotex.

Plotex
- это легковесная библиотека для Python, позволяющая строить графики, диаграммы и визуализировать данные прямо внутри терминала в виде цветного псевдографического текста.

Главное преимущество библиотеки — она полностью автономна: базовый функционал не требует никаких внешних зависимостей и библиотек вроде matplotlib или numpy. При этом она способна превратить обычную консоль в полноценную графическую панель.

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

🔘Широкий набор типов графиков:

✔️Базовые: линейные графики (line), точечные (scatter), стержневые (stem).

Столбчатые и статистические: гистограммы, боксплоты (box plots), накопленные (stacked) и плавающие столбчатые диаграммы.

✔️Специализированные: тепловые карты (heatmaps), матрицы ошибок (confusion matrices), полосы погрешностей (error bars) и индикаторы.

✔️Финансовые: японские свечи (candlestick) и шкалы дат/времени.

🔘Субсимвольное разрешение: Разбивает знакоместо символа на матрицу суб-точек (включая символы Брайля), позволяя отображать в 4–8 раз больше точек данных на том же экранном пространстве.

🔘Интерактивность и медиа: Поддерживает анимацию, потоковое обновление графиков в реальном времени (live stream), рендеринг картинок, GIF и даже воспроизведение видео со звуком (включая ролики с YouTube).

🔘Сетки и сабплоты (Subplots): Позволяет верстать сложные многопанельные дашборды с любой степенью вложенности, индивидуальными темами и масштабом.

🔘Гибкая стилизация: 12 готовых тем оформления, настройка осей, меток, легенды, а также поддержка собственных цветовых палитр терминала.

🔘Готовый CLI-инструмент: Позволяет строить графики из входного потока данных прямо в командной строке без написания Python-кода.

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

import plotext as plt

# Данные для графика
y = [1, 5, 3, 8, 4, 9, 6]

# Настройка и вывод
plt.plot(y)
plt.title("График в терминале")
plt.theme("dark")
plt.show()


📦Установка:

pip install plotext


#Python #Plotext #DataVisualization #Terminal #CLI #DataScience #DevTools #OpenSource #Console #Analytics

📱Ссылка на репозиторий:
https://github.com/piccolomo/plotext
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡32
🎓Claude Academy - это официальный интерактивный обучающий трек от компании Anthropic, посвященный эффективному освоению и практическому применению консольного ИИ-агента Claude Code.

Большинство инженеров привыкли к ИИ в виде чатов или расширений для автодополнения в IDE. Claude Code переносит агента прямо в терминал: он умеет самостоятельно исследовать архитектуру проекта, читать и редактировать файлы, выполнять тесты, диагностировать логи сборки и работать с Git.

Обучающая программа Claude Academy помогает перейти от поверхностного использования к продвинутым паттернам агентной разработки.

📚Чему учит курс:

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

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

🔘Управление контекстом и долговременная память: Тонкости работы с файлами инструкций CLAUDE.md, оптимизация расхода токенов, алгоритмическое сжатие сессий (/compact) и сброс контекста без потери ключевых архитектурных договоренностей.

🔘Расширение возможностей через MCP: Подключение внешних баз данных, поисковых систем, документаций и API через открытый протокол Model Context Protocol прямо в рабочий цикл агента.

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

💻Быстрый старт с инструментом:

# Глобальная установка Claude Code
npm install -g @anthropic-ai/claude-code

# Запуск в корне вашего репозитория
cd my-project
claude


⬇️Пройти интерактивные модули и практические руководства можно бесплатно на портале Anthropic Academy.

#ClaudeCode #Anthropic #Claude #ClaudeAcademy #AIAgents #CLI #DevTools #Programming #LLM #SoftwareEngineering #MCP
Please open Telegram to view this post
VIEW IN TELEGRAM
3⚡2
📱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