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

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

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

coredumpy — это легковесная библиотека и инструмент для пост-мортем отладки Python-программ, которая сохраняет дамп состояния приложения при возникновении ошибок, исключений или падений тестов.

❓Что делает coredumpy?

Сохраняет всё окружение в момент сбоя — стек вызовов, переменные, объекты и даже данные из многопоточных контекстов — в безопасный и читаемый JSON-файл. Позволяет потом «воспроизвести» это состояние в отладчике (pdb, ipdb, VSCode и др.).

🛠Ключевые особенности:

🔘Поддержка pytest, unittest, runtime исключений.

🔘Совместимость с VSCode, pdb, ipdb.

🔘Безопасное скрытие секретов (API ключи, переменные окружения).

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

🔘Настраиваемое поведение и поддержка собственных типов.

🔻Полезно при:

🔘Сложных падениях, которые трудно отловить в моменте.

🔘Отладке CI-сборок и автоматизированных тестов.

🔘Анализе ошибок на проде, если есть дампы.

#Python #Debugging #CrashDump #PostMortem #coredumpy #DevTools #pytest #unittest #VSCode #PythonTools #ErrorTracking #OpenSource #PythonDev

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

django-typer — это удобное расширение для Django, которое позволяет создавать менеджмент-команды с помощью Typer, используя аннотации типов Python.

❓Зачем он нужен?

Он объединяет мощь Typer (на базе Click) с привычным интерфейсом BaseCommand из Django, делая код чистым, декларативным и типобезопасным.

🟥Что умеет django-typer?

🔘Типизированный интерфейс команд (arg: str, --flag: bool = False).

🔘Автогенерация красивой справки (поддерживает rich).

🔘Поддержка вложенных подкоманд и групп.

🔘Установка автодополнения (bash, zsh, fish, powershell).

🔘Поддержка плагинов и расширений.

🔘Совместимость с BaseCommand (можно мигрировать без боли).

🔘Отладочные трассировки с rich (по умолчанию).

#Django #CLI #Python #Typer #OpenSource #DevTools #DjangoTips #TypeSafety #Click #djangoTyper #rich #PythonDev

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

Agent Development Kit (ADK) — это открытый Python-фреймворк от Google, предназначенный для гибкой разработки, оценки и развертывания AI-агентов. Он ориентирован на разработчиков, которым важны контроль, масштабируемость и расширяемость.

🔑Ключевые особенности:

🔘Code-first подход.
Создавайте агентов, инструменты и логику оркестрации прямо в коде Python. Это гарантирует гибкость, тестируемость и контроль версий.

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

🔘Богатая экосистема инструментов.
Используйте встроенные или пользовательские Python-функции, API-интеграции и сторонние сервисы как "инструменты" для агентов.

🔘Гибкая оркестрация.
Настраивайте предсказуемые пайплайны или динамическую маршрутизацию с помощью LLM.

🔘Встроенная система оценки.
Оценивайте не только финальный ответ, но и шаги рассуждений агента.

🔘Готов к деплою.
Легко контейнеризуется и разворачивается на Vertex AI Agent Engine, Cloud Run или через Docker.

🔘Стриминг (текст/аудио).
Поддержка интерактивных приложений с двусторонним стримингом.

🔘Управление состоянием.
Поддержка короткой и длинной памяти, работа с файлами, хранение артефактов.

🔘Расширяемость.
Колбэки и открытый API позволяют глубоко кастомизировать поведение агентов и интегрироваться с внешними сервисами.

#AI #AgentFramework #GoogleCloud #ADK #LLM #VertexAI #MultiAgent #PythonDev #OpenSource #AIEngineering

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

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

✅Работает с OpenAI API или локально через Ollama.

🔹Примеры:

🔘 zev 'show disk usage for current directory'.
🔘 zev 'find all .py files modified in the last 24 hours'.
🔘 zev 'check if google.com is reachable'.
🔘 zev 'show uncommitted changes in git'.

#ZevAI #TerminalAI #CLItools #DevTools #PythonTools #NaturalLanguageToCode #Ollama #OpenAI #CommandLineAssistant #AI4Developers #Llama3 #LocalLLM #ProductivityTools #PythonDev

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

maestro — это полноценный музыкальный плеер прямо в терминале.

Добавляй треки с YouTube, Spotify, YouTube Music, слушай со стримингом, текстами песен и даже визуализацией!
Работает на Windows, macOS и Linux.

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

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

🔘Тексты песен с переводом и романизацией.

🔘Режим "клипов" — только лучшие моменты трека.

🔘Статистика прослушивания.

🔘Теги вместо плейлистов.

🔘Аудио-визуализация в терминале.

🔘Discord статус и "Listen Along".

#maestroMusic #TerminalPlayer #CLItools #OpenSourceMusic #PythonDev #AudioVisualizer #MusicInTerminal #FFmpeg #YouTubeMusic #SpotifyCLI #DeveloperTools #ListenAlong #NowPlaying

📱Ссылка на репозиторий:
https://github.com/PrajwalVandana/maestro-cli
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1😁1🤔1
📱Nbdime.

nbdime — мощные инструменты diff и merge для Jupyter Notebooks!

❗️Работает как в терминале, так и в браузере. Особенно полезен при работе с Git и в коллаборативных проектах на Jupyter.

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

🔘nbdiff — сравнение ноутбуков в терминале.

🔘nbdiff-web — визуальное сравнение ноутбуков в браузере.

🔘nbmerge — трёхстороннее слияние с автоматическим разрешением конфликтов.

🔘nbmerge-web — слияние прямо в браузере.

🔘nbshow — просмотр ноутбука в терминале.

#nbdime #JupyterNotebooks #DiffTool #MergeTool #PythonDev #OpenSourceTools #NotebookDiff #DataScienceTools #JupyterLab #GitAndJupyter #DevTools #CodeReview

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

Param
— это легковесная библиотека Python для декларативного описания параметров с поддержкой типов, диапазонов, значений по умолчанию и документации прямо в атрибутах класса.

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

🔘Типизация и проверка диапазона.

🔘Поддержка значений по умолчанию и docstring.

🔘Наследование параметров от родительских классов.

🔘Динамически вычисляемые значения.

🔘Без зависимостей, всего 2 файла Python.

🔘BSD-лицензия — можно использовать в любых проектах.

#Python #Param #PythonБиблиотеки #Декларативность #TypeHints #Config #PythonDev #DataViz #Holoviz #OpenSource #Программирование #PyTools #PythonTips

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

pyftpdlib
— асинхронная библиотека на Python для создания быстрых, масштабируемых и совместимых с RFC-959 FTP-серверов.

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

🔘Полностью на Python, без зависимостей.

🔘Поддержка FTPS, IPv6, Unicode, виртуальных пользователей.

🔘Асинхронность через epoll / kqueue / select.

🔘Поддержка sendfile(2) для высокой скорости загрузок (Linux).

🔘Альтернативный режим: многопоточность или многопроцессность.

🔘Превосходная производительность: быстрее многих FTP-серверов на C.

🔘Удобный CLI и API.

#Python #pyftpdlib #FTP #PythonNetwork #AsyncIO #PythonDev #FTPLibrary #PythonTools #OpenSource #DevOps #PythonServer #Программирование

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

pyfuze
— это инструмент, который делает Python-проект переносимым и запускаемым где угодно.

На любой ОС, включая Linux, Windows, macOS, FreeBSD, NetBSD, OpenBSD и даже BIOS, на архитектурах x86_64 и ARM64 — с одним исполняемым файлом pyfuze.com.

❓Что делает pyfuze:

🔘Упаковывает Python-скрипт с зависимостями в dist/project.zip.

🔘Автоматически устанавливает Python, uv, зависимости и запускает проект.

🔘Поддерживает requirements.txt, pyproject.toml, .python-version, uv.lock.

🔘Позволяет включать/исключать файлы, настраивать переменные окружения.

🔘На Windows может запускаться как GUI-приложение без консоли (--win-gui).

🔻Пример:
pyfuze ./examples/ip.py --python 3.8 --reqs requests --win-gui


✅В результате получится pyfuze.com файл, который при запуске всё установит и запустит проект.

#pyfuze #Python #DevTools #CLItools #PythonAnywhere #CrossPlatform #OpenSource #uv #PythonDev #Packager #PortablePython #PythonTools

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

Samps — современная, безопасная и лёгкая Python-библиотека для работы с последовательным портом (serial port) без внешних зависимостей!

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

🔘Поддержка POSIX, Windows и MacOS.

🔘Синхронный и асинхронный интерфейсы.

🔘Подключение по TCP (telnet RFC 2217).

🔘Нулевая зависимость и типобезопасность.

🔻Пример синхронного использования:
from samps import SerialCommonInterface as Serial

with Serial(port="/dev/tty.usbserial-0001", baudrate=9600) as serial:
print("Порт открыт?", "Да" if serial.is_open() else "Нет")
line = serial.readline()
print(line.decode("utf-8").strip())

print("Порт закрыт")


✅Проверьте samps — удобный инструмент для работы с последовательными портами в Python!

#Python #SerialPort #samps #AsyncIO #DevTools #PythonLibrary #SerialCommunication #Программирование #PythonDev #OpenSource #TechTools

📱Ссылка на репозиторий:
https://github.com/michealroberts/samps
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥43
📱Py-Shiny.

Py-Shiny
— мощный фреймворк для создания быстрых и красивых веб-приложений на Python!

✅Py-Shiny позволяет легко и быстро создавать интерактивные визуализации и прототипы приложений. В отличие от других инструментов, ориентированных на дата-сайентистов, Py-Shiny не ограничивает масштаб вашего приложения — он достаточно гибкий и расширяемый, чтобы поддерживать большие и критически важные проекты.

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

🔘Создавайте интерактивные приложения быстро и просто

🔘Использует реактивное программирование — обновления происходят автоматически.

🔘Масштабируется от небольших прототипов до крупных проектов.

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

🔘Позволяет бесплатно хостить приложения на shinyapps.io, Hugging Face и Shinylive.

#Python #PyShiny #WebApps #DataScience #ReactiveProgramming #OpenSource #PythonDev #Shiny #Coding #Programming

📱Ссылка на репозиторий:
https://github.com/posit-dev/py-shiny
Please open Telegram to view this post
VIEW IN TELEGRAM
54👍3
📱Paramiko.

Paramiko — чистая реализация SSHv2 на Python (3.6+) с поддержкой клиента и сервера.

✅ Paramiko — основа для Fabric, высокоуровневой SSH-библиотеки, которая отлично подходит для удалённого выполнения команд и передачи файлов.

✅Прямое использование Paramiko рекомендовано для тех, кто нуждается в низкоуровневом управлении SSH или хочет запускать sshd на Python.

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

🔘Полная поддержка SSHv2 протокола.

🔘Поддержка клиента и сервера SSH.

🔘Использует библиотеку cryptography с расширениями на C и Rust.

🔘Основа для гибких и мощных инструментов удалённого управления.

🔘Хорошо документирован и активно развивается.

#Python #Paramiko #SSH #RemoteAccess #OpenSource #DevTools #PythonDev #Cybersecurity #Fabric #Networking

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

Toolz — это библиотека функциональных утилит для Python.

✅Позволяет удобно и эффективно работать с итераторами, функциями и словарями в функциональном стиле.

🔹Toolz состоит из трёх модулей:

🔘itertoolz — утилиты для итераторов (groupby, unique, interpose).

🔘functoolz — функции высшего порядка (compose, curry, memoize).

🔘dicttoolz — работа со словарями (assoc, merge, update-in).

🔻 Пример — функциональный подсчёт слов в строке:
from toolz import compose, frequencies
from toolz.curried import map

def stem(word):
return word.lower().strip(",.!:;'-\"")

wordcount = compose(frequencies, map(stem), str.split)
wordcount("This cat jumped over this other cat!")
# {'this': 2, 'cat': 2, 'jumped': 1, 'over': 1, 'other': 1}


#Python #Toolz #FunctionalProgramming #PyToolz #PythonDev #PythonTools #DataProcessing #CyToolz #pip #OpenSource #PythonБиблиотеки

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

PyStructTypes
— библиотека для описания и работы с C-структурами в Python через аннотации типов.
Идеально для low-level задач, встраиваемых проектов и двоичных протоколов.

🔹Что умеет:

🔘@struct_dataclass для описания C-структур через dataclass.

🔘Декодирование и кодирование bytes <-> class.

🔘Поддержка массивов, строк char[], вложенных структур.

🔘Битовые флаги через @bits и BitsType.

🔘Расширяемые _encode / _decode.

🔘Кастомная логика для упаковки/распаковки данных.

🔘Работает на базе typing.Annotated и TypeMeta.

✅Нужно сериализовать C-структуру в Python без боли — это именно то, что нужно.

#Python #Structs #LowLevel #BinaryParsing #CTypes #EmbeddedDev #PythonDev #Bitfield #Metaprogramming #OpenSource #PyStructTypes

📱Ссылка на репозиторий:
https://github.com/fchorney/pystructtype
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥2
📱PCL (Python-C Linked) Minimal Compiler/Runner.

PCL (Python-C Linked) Minimal Compiler/Runner — компилятор и раннер, объединяющий C и Python в одном файле!

🔹Пиши код на C и Python в .pcl файле, а pcl сам:

🔘извлечёт C и Python блоки,

🔘скомпилирует C в .so через gcc,

🔘создаст Python-обёртки через ctypes,

🔘и запустит всё как единый Python-скрипт.

✅Поддерживаются команды build, run, clean и упаковка в .pyz.

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

🔘Нет полного разбора C, поддержка struct/enum ограничена, нет кросс-компиляции.

✅Подходит для прототипирования и экспериментов с C+Python связкой!

#python #c #ffi #ctypes #pcl #pyc #gcc #linuxdev #pythondev #opensource #pyz #компилятор #вебпесочница #разработка #интеграция

📱Ссылка на репозиторий:
https://github.com/hejhdiss/pcl
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥43
📱Complexipy.

complexipy — это библиотека для анализа когнитивной сложности Python-кода. Написана на Rust, с поддержкой CLI, Python API, GitHub Actions, VSCode и pre-commit-хуков.

🧠Что такое когнитивная сложность?

Это метрика, которая оценивает, насколько сложно человеку понять код. В отличие от цикломатической сложности, она учитывает вложенность, ветвления и общее когнитивное восприятие.

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

🔘Анализ файлов, каталогов и репозиториев.

🔘Отчёты в CSV и JSON.

🔘Быстрая интеграция в CI/CD и pre-commit.

🔘Поддержка VSCode (расширение).

🔘API для Python (анализ кода из файла или строки).

🔻Интеграции:

🔘GitHub Actions для автоматических проверок.

🔘Pre-commit hook для контроля качества перед коммитом.

🔘VSCode Extension — анализ в реальном времени с цветовой индикацией сложности.

#Python #complexipy #CodeQuality #CognitiveComplexity #RustPowered #DevTools #VSCode #PreCommit #GitHubActions #StaticAnalysis #ComplexityAnalysis #PythonDev #CItools

📱Ссылка на репозиторий:
https://github.com/rohaquinlop/complexipy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥2313👍6
📱Mureq.

mureq — это компактная и независимая альтернатива python-requests, умещающаяся в один файл.

✅Создана для системного ПО Linux и минималистичных Python-приложений, где важны производительность, безопасность и простота. Лицензия 0BSD: можно копировать и встраивать без указания авторства.

🔹Пример использования:
>>> mureq.get('https://clients3.google.com/generate_204')
Response(status_code=204)
>>> response.json()
{'type': 'sync', 'status-code': 200, ...}


❓Зачем?

🔘Производительность — в 2× меньше памяти, чем requests.

🔘Безопасность — нет зависимостей с PyPI.

🔘Простота — весь код читаемый, ~350 строк, легко встраивается.

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

🔘Поддерживает GET, POST, JSON, формы, Unix-сокеты.

🔘Без редиректов по умолчанию.

🔘Ответ — объект с .status_code, .headers, .body, .json().

#mureq #Python #Requests #ZeroDependency #0BSD #LinuxDev #PythonDev #Безопасность #Простота #Питон #СистемноеПрограммирование #TypeChecked #Black #Ruff #OpenSource #Продуктивность #Минимализм

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

Skelet — новое Python-решение для удобной, безопасной и централизованной работы с настройками!

Соберите все конфигурации проекта в одном месте. Обеспечьте безопасность типов, потокобезопасность и защиту данных. Skelet автоматически валидирует значения, загружает настройки из файлов и переменных окружения, а также использует простой и приятный pythonic-синтаксис.

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

🔘Строгая типизация и автоматическая валидация.
🔘Секретные поля (скрываются в логах и исключениях).
🔘Гибкая загрузка из TOML/JSON/YAML/ENV.
🔘Конфликты между полями и продвинутые проверки.
🔘Ленивые значения по умолчанию.
🔘Потокобезопасность и встроенные мьютексы.
🔘Колбэки при изменении значений.
🔘Конвертеры, кастомные ключи, алиасы.

🔻Пример:
from skelet import Storage, Field, NonNegativeInt

class ManDescription(Storage):
name: str = Field()
age: NonNegativeInt = Field(
validation={'You must be 18 or older to feel important': lambda x: x >= 18}
)


✅Skelet — когда хочется всё красиво, гибко и безопасно.

#python #skelet #config #settings #pythondev #backend #programming #typedpython #pythonic #libraries #opensource #devtools #конфигурации #настройки #валидация #типизация #TOML #YAML #JSON

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