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

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

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

PDF Craft — превращает сканированные PDF-файлы в различные форматы с помощью OCR + LLM.

🔹Что делает PDF Craft:

🔘Читает PDF по страницам.

🔘Удаляет хедеры, футеры, сноски и номера страниц.

🔘Использует OnnxOCR для распознавания.

🔘Определяет порядок чтения с layoutreader.

🔘Собирает связный текст, даже между страницами.

🔘Конвертирует в Markdown или EPUB.

🔘Генерирует оглавление и главы.

🔘Исправляет ошибки OCR с помощью LLM (DeepSeek).

❗️Поддерживает локальное ускорение через GPU.

#PDFCraft #OCR #EPUB #Markdown #OnnxOCR #PythonTools #AIinPublishing #DeepSeek #LLM #BookParsing #PythonOCR #DocumentAI #AcademicTools #PDFtoText #OpenSource #Python3

📱Ссылка на репозиторий:
https://github.com/oomol-lab/pdf-craft
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥2
📱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
📱Ty.

ty
— это новый статический анализатор и language server для Python, написанный на Rust.

🔹Подходит для:

🔘Быстрой проверки типов (uvx ty check).

🔘Работы с виртуальными окружениями.

🔘Использования в проектах с pyproject.toml.

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

🔘Молниеносная скорость.

🔘CLI-интерфейс (команда check).

🔘Интеграция с uv и uvx.

⚠️Пока в стадии preview — могут быть ошибки и недоработки.

#Python #TypeChecker #RustPython #TyChecker #StaticAnalysis #uvx #PythonTools #Программирование #PythonДляНовичков #МолниеносныйPython #RuffTools

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

VectorVFS
— это векторная база данных, встроенная прямо в файловую систему Linux.
Никаких серверов, внешних индексов или баз данных — векторные эмбеддинги хранятся как xattr (расширенные атрибуты) каждого файла.

🔍Хочешь искать файлы по смыслу, а не имени?

✅VectorVFS превращает каталоги в семантически индексируемое хранилище. Просто добавь эмбеддинги — и ищи по векторному сходству.

🔹Под капотом:

🔘Использует Perception Encoders от Meta (лучше InternVL3, Qwen2.5VL, SigLIP2 в zero-shot задачах).

🔘Поддерживает любые эмбеддеры: кастомные, pretrained, визуальные и текстовые.

🔘Работает без фоновых процессов, индексаторов и баз — всё на базе VFS/Linux.

⚡️Преимущества:

🔘Нулевая избыточность: всё в xattrs.

🔘Быстрый поиск по эмбеддингам.

🔘Минимализм: 0 демонов, 0 баз, 100% Linux.

#VectorVFS #VFS #LinuxTools #Embeddings #SemanticSearch #AItools #PythonTools #ZeroOverhead #PerceptionEncoder #OpenSource

📱Ссылка на репозиторий:
https://github.com/perone/vectorvfs
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡22
📱SQL-tString.

SQL-tString
— это библиотека для безопасного написания SQL-запросов через t-строки в Python
Позволяет писать читаемые SQL-запросы в духе f-строк, но без риска SQL-инъекций.

🔹Пример:
from sql_tstring import sql
a = 42
query, values = sql(t"SELECT * FROM users WHERE id = {a}")
→ query = "SELECT * FROM users WHERE id = ?"
→ values = [42]


❓Что умеет:
🔘Безопасная подстановка переменных.

🔘Контекст колонок и таблиц: sql_context(columns=…, tables=…).

🔘Условные параметры: Absent, IsNull, IsNotNull.

🔘Разные диалекты: qmark, $, asyncpg.

🔘Работает с Python ≥ 3.12, даже без поддержки t-строк.

#Python #SQL #tstring #SQLInjection #PEP750 #Python314 #OpenSource #PythonTools

📱Ссылка на репозиторий:
https://github.com/pgjones/sql-tstring
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3⚡22🔥1
📱Pyleak.

pyleak — это инструмент для обнаружения утечек asyncio задач, потоков и блокировок event loop в Python.

🔹pyleak помогает выявить:

🔘Утечки asyncio задач.

🔘Утечки потоков.

🔘Блокировки event loop, которые замедляют асинхронный код.

🔻Быстрый старт:
import asyncio
from pyleak import no_task_leaks, no_thread_leaks, no_event_loop_blocking

async def main():
async with no_task_leaks():
asyncio.create_task(asyncio.sleep(10)) # Эта задача будет обнаружена
await asyncio.sleep(0.1)

def sync_main():
with no_thread_leaks():
threading.Thread(target=lambda: time.sleep(10)).start() # Этот поток будет обнаружен

async def async_main():
with no_event_loop_blocking():
time.sleep(0.5) # Это блокирование будет обнаружено


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

🔘Использование как контекст-менеджеров и декораторов.

🔘Вывод подробных стеков вызовов для утечек и блокировок.

🔘Фильтрация по именам задач и потоков.

🔘Настраиваемые действия при обнаружении: предупреждения, логгирование, отмена задач, выброс исключений.

🔘Интеграция с pytest для автоматического контроля утечек в тестах.

❓Почему pyleak:

🔘Помогает избежать утечек памяти и ресурсов.

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

🔘Упрощает отладку сложного асинхронного кода.

#Python #AsyncIO #pyleak #Разработка #Тестирование #Программирование #PythonTools #AsyncTasks #Threads #EventLoop #Debugging #OpenSource

📱Ссылка на репозиторий:
https://github.com/deepankarm/pyleak
Please open Telegram to view this post
VIEW IN TELEGRAM
15⚡2
📱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
📱Smartypants.

smartypants
— это Python-порт оригинального инструмента SmartyPants, предназначенный для интеллектуального преобразования типографики в тексте: кавычек, тире, многоточий и т.д.

Пример:
import smartypants
text = '"SmartyPants" is smart, so is <code>smartypants</code> -- a Python port'
print(smartypants.smartypants(text))


Результат:
&#8220;SmartyPants&#8221; is smart, so is <code>smartypants</code> &#8212; a Python port


#Python #SmartyPants #smartypants #PyPI #CLI #TextFormatting #OpenSource #PythonTools #GitHubActions #DevTools #Repology #CI #CodeQuality

📱Ссылка на репозиторий:
https://github.com/justinmayer/smartypants.py
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍22
📱Pexpect.

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

🔹Что умеет:

🔘Автоматизация ssh, ftp, telnet, passwd и других интерактивных CLI-программ.

🔘Тестирование софта, скрипты установки, деплой.

🔘Ждёт нужные шаблоны в выводе программ и реагирует на них.

🔘Работает как классический Expect, но написан полностью на Python.

🔘Поддержка Unix-систем (через pty), частичная поддержка Windows.

✅Отличный инструмент для автоматизации того, что раньше делалось руками в терминале.

#Pexpect #Python #Automation #CLI #DevOps #SSH #Expect #OpenSource #Scripting #Terminal #Testing #Unix #PythonTools

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

LibrePythonista
— это расширение для LibreOffice Calc, которое позволяет запускать Python-код прямо из ячеек.

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

🔘Запуск Python-кода прямо в ячейке.

🔘Построение графиков и диаграмм.

🔘Работа с DataFrame и Series.

🔘Автоматизация задач.

🔘Поддержка кастомных функций.

🔘Встроенный pip для установки библиотек.


✅Всё выполняется локально, без отправки данных в облако — конфиденциальность на первом месте.

#LibrePythonista #LibreOffice #Python #DataAnalysis #Pandas #Matplotlib #NumPy #Calc #OpenSource #Automation #PythonTools #SpreadsheetMagic

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

Tyro — это генератор CLI из аннотированного Python-кода.

Он автоматически превращает функции или классы (с @dataclass, pydantic, attrs) в удобный командный интерфейс.

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

🔘Использует стандартные Python-типы и аннотации.

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

🔘Работает с mypy, pyright, IDE и статической проверкой.

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

✅Используется в ML и AI-проектах, включая Nerfstudio, CleanRL, SDFStudio и др.

#Tyro #Python #CLI #Dataclass #Pydantic #PythonTools #DevTools #OpenSource #TypeHints #Pyright #Mypy

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

Spegel — это AI-браузер для терминала, который превращает сайты в удобный Markdown.

С помощью модели Gemini 2.5 Flash он переформатирует веб-страницы под минималистичный терминальный интерфейс: рецепты без предисловий, статьи без лишнего шума, только суть.

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

🔘AI-конвертация страниц в Markdown.

🔘Навигация по ссылкам (Tab / Shift+Tab, Enter).

🔘Редактирование запроса к LLM (кнопка e).

🔘Поддержка пользовательских шаблонов и конфигов в .spegel.toml.

#Spegel #AI #Gemini #Terminal #Markdown #LLM #PythonTools #OpenSource #TUI

📱Ссылка на репозиторий:
https://github.com/simedw/spegel
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍3
📱Html-to-markdown.

Html-to-markdown — это современная и типобезопасная библиотека на Python для конвертации HTML → Markdown. Это не просто markdownify, а полностью переписанный форк с поддержкой HTML5, кастомными конвертерами и мощной CLI.

❓Что умеет:

🔘Поддержка всех HTML5-тегов.

🔘Метаданные (title, meta) превращаются в комментарии.

🔘GitHub-style чекбоксы.

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

🔘Конфигурация из 20+ опций.

🔘Быстрая работа с lxml.

🔘Собственные конвертеры для тегов.

🔘Прогресс и стриминг для больших файлов.

🔘100% тестов и типизация по MyPy.

🔘Полноценная CLI.

🔹Пример:
from html_to_markdown import convert_to_markdown
markdown = convert_to_markdown("<h1>Title</h1><p><mark>Highlight</mark></p>")


✅Идеально для миграции старого HTML, автогенерации документации или чат-ботов, работающих с HTML-сообщениями.

#Python #Markdown #HTML #WebDev #Конвертер #CLI #OpenSource #htmltomarkdown #pipinstall #Parsing #DocumentationTools #PythonTools

📱Ссылка на репозиторий:
https://github.com/Goldziher/html-to-markdown
Please open Telegram to view this post
VIEW IN TELEGRAM
14⚡3👍1
📱Multiplex.

Multiplex — мощный CLI-мультиплексор и Python API для параллельного запуска процессов.

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

❓Что умеет Multiplex:

🔘Запускает несколько команд параллельно.

🔘Позволяет задавать задержки и зависимости между процессами.

🔘Грациозно завершает все дочерние процессы.

🔘Объединяет stdout/stderr в удобный для парсинга вывод.

🔘Имеет лаконичный синтаксис и полноценный Python API.

🔹Пример:
Запустить сервер, подождать 2 сек, затем выполнить бенчмарк и завершить всё:
multiplex "SERVER|silent=python3 -m http.server" "+2s|end=ab -n1000 http://localhost:8000/"


#Python #DevTools #CLI #Async #Multiprocessing #Automation #DevOps #Multiplex #OpenSource #Параллелизм #Скрипты #PythonTools #Разработка

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

ButtonPad — библиотека на Python, которая превращает простую строку в мощный GUI-интерфейс с кнопками, текстовыми полями, метками и изображениями.

✅Работает на Windows, macOS и Linux (основана на tkinter, без внешних зависимостей).

🔻Всё интерфейсное описание — это обычная CSV-строка:
LAYOUT = """
'','','',''
C,(,),⌫
7,8,9,÷
4,5,6,x
1,2,3,-
0,.,=,+
"""


✅Всего одной строкой можно задать целую панель управления, калькулятор или клавиатуру.

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

🔘Компактное описание интерфейса в виде текста.

🔘Колбэки для кликов, наведения и выхода.

🔘Поддержка подсказок, хоткеев, цветов и шрифтов.

🔘Опциональные status bar и menu bar.

🔘Изображения (с Pillow), масштабирование и объединение ячеек.

▶️Быстрый запуск демо:
python -m buttonpad


#Python #GUI #Tkinter #ButtonPad #PythonTools #UI #DevTools #PyDev #OpenSource

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

Pyupgrade — это инструмент, который автоматически обновляет ваш Python-код под современные версии языка.

Он сам переписывает устаревший или избыточный синтаксис, убирает легаси и приводит код к актуальным стандартам без ручных правок. Очень удобно ставить его как pre-commit hook — и тогда каждый коммит автоматически делает проект чище.

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

🔘Заменяет старые строки форматирования на f-строки.

🔘Убирает six, Python-2 конструкции и ненужные костыли.

🔘Упрощает super(), open(), defaultdict, проверки типов.

🔘Обновляет аннотации типов на синтаксис из PEP 585/604.

🔘Чистит лишние импорты и исправляет устаревшие вызовы.

🔘Делает код современным, компактным и читаемым.

✅Если хотите, чтобы ваш проект выглядел так, будто он написан в 2025 — добавьте Pyupgrade в свой workflow.

#Python #Pyupgrade #Refactoring #CleanCode #PreCommit #PythonTools #DevTools

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

DJ Checkup
— это инструмент для проверки безопасности Django-сайтов.

Он запускается из командной строки и выполняет те же проверки, что и сервис djcheckup.com, чтобы убедиться, что ваш сайт защищён от распространённых угроз.

🔹Что проверяет DJ Checkup:

🔘Доступность сайта и корректность ответов.

🔘Безопасность Django admin и страниц входа.

🔘Настройку CSRF и session cookies (HttpOnly, Secure, SameSite).

🔘Включён ли DEBUG режим в продакшене.

🔘HTTPS и перенаправление с HTTP.

🔘Заголовки безопасности (HSTS, X-Frame-Options).

✅Проверяйте свои Django-сайты на уязвимости легко и быстро с DJ Checkup!

#Django #Security #Python #WebDev #DJCheckup #CyberSecurity #DevTools #WebSecurity #PythonTools

📱Ссылка на репозиторий:
https://github.com/stuartmaxwell/djcheckup
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍22
📱Pytest-fly.

Pytest-fly — это мощный инструмент для разработки, отладки и запуска сложных тестовых наборов на pytest. GUI с 6 вкладками в реальном времени мониторит выполнение тестов, параллелизм и ресурсы.

🔹6 вкладок GUI для полного контроля:

🔘Run — запуск/стоп, параллелизм, прогресс (%, время, coverage),
системные метрики (CPU/RAM/IO), failed тесты, live output.

🔘Graph — прогресс по модулям (горизонтальные бары).

🔘Table — статус тестов + CPU/RAM/coverage per test.

🔘Coverage — coverage over time (постоянно накапливается).

🔘Config — ordering, процессы, thresholds, expert settings.

🔘About — системная инфа.

🔻Ключевые фичи:

🔘Параллелизм по модулям (функции внутри модуля — serial).

🔘3 режима: Restart/Resume/Check (Check = resume если код не менялся).

🔘@pytest.mark.singleton — эксклюзивное выполнение.

🔘Resource monitoring per процесс (peak CPU/RAM).

🔘Smart ordering: failed → never-run → slow → coverage-efficient.

🔘Graceful stop/resume — останавливаешь и продолжаешь с места.

🔧Установка за секунду:

pip install pytest-fly
pytest --fly # или pytest-fly


#pytest #pytestfly #PythonTesting #TestAutomation #TDD #CI_CD #DevOps #PythonTools

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