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

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

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

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

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

✅Подходит тем, кто пишет с Cursor, Claude, или ChatGPT.

🔹Основные фичи pyscn:

🔘Dead code detection (CFG) — находит недостижимый код после цепочек if / elif / else.

🔘Clone detection (APTED + LSH) — определяет участки, которые стоит вынести или отрефакторить.

🔘Coupling metrics (CBO) — показывает, насколько тесно связаны модули.

🔘Cyclomatic complexity — измеряет сложность функций.

🔘Более 100 000 строк/сек — анализ на скорости Go.

⚡️Быстрый старт:
uvx pyscn analyze .
# или
pipx run pyscn analyze .


📦Установка:
pipx install pyscn
# или
uv tool install pyscn



🐱Полезные команды:
pyscn analyze .                            # Полный анализ с HTML-отчётом
pyscn analyze --json . # JSON-отчёт
pyscn analyze --select deps,complexity . # Выборочные метрики
pyscn check . # Быстрая CI-проверка
pyscn init # Создание .pyscn.toml


💬Почему pyscn?

🔘Потому что он не просто проверяет стиль — он понимает структуру кода.

🔘Подходит для ревью, CI и анализа крупных Python-проектов.

📚 Документация: github.com/ludo-tech/pyscn

#Python #StaticAnalysis #CodeQuality #CleanCode #CyclomaticComplexity #DeadCode #TreeSitter #GoLang #Cursor #Claude #ChatGPT #pyscn #CodeRefactoring #SoftwareArchitecture

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

py2many — это Python‑транспайлер, который автоматически преобразует Python‑код в Rust, C++, Go, Zig, Julia, Kotlin, Nim, Dart и другие статически типизированные языки.

🔹Зачем транспилировать Python:

🔘Производительность: Python удобен для разработки, но медленный в рантайме — компиляция в Rust/C++/Go даёт нативную скорость.

🔘Кроссплатформенность: один Python‑код → нативные приложения для мобильных, embedded‑систем и WebAssembly.

🔘Безопасность: верифицируете логику тестами на Python, потом транспилируете в Rust для memory safety.

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

pip install py2many

# Конвертация в Rust
py2many --rust tests/cases/fib.py

# Конвертация в C++
py2many --cpp tests/cases/fib.py

# Конвертация в Go/Kotlin/Julia/Nim/Dart
py2many --go/--kotlin/--julia/--nim/--dart tests/cases/fib.py


#python #transpiler #rust #cpp #golang #performance #py2many

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

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

Если говорить простыми словами: обычно, чтобы сделать программы в Python быстрыми и параллельными, разработчикам приходится переписывать весь проект под async и await. Runloom позволяет писать самый обычный, понятный код (без асинхронной «лапши»), но выполняет его так же быстро и эффективно, как язык Go (Golang).

❓В чём главная фишка.

🔘Без async и await: Вы пишете привычные функции, а библиотека сама незаметно переключает задачи в фоновом режиме, пока одна из них ждет ответа от сети или диска.

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

🔘Работа на всех ядрах: Идеально раскрывается на новых версиях Python (3.13+ и 3.14+ с отключенным GIL), позволяя честно загрузить процессор на 100%.

🔘Каналы как в Go: Позволяет удобно и безопасно передавать данные между параллельными процессами.

🔘Прокачка старого кода в 1 строчку: Функция runloom.monkey.patch() умеет на лету превращать стандартные «медленные» библиотеки (например, urllib или socket) в параллельные без переписывания вашего кода.

🔻Простой пример:

import threading
import runloom
from urllib.request import urlopen

# Делаем стандартные сетевые запросы параллельными
runloom.monkey.patch()

def download(url):
# Код выглядит так, будто он блокирует программу и ждет ответа...
# Но Runloom не дает ему зависнуть и скачивает всё одновременно!
body = urlopen(url).read()
print("Скачано байт:", len(body))

def main():
# Запускаем 64 скачивания параллельно
for _ in range(64):
runloom.fiber(download, "http://example.com")

# Распределяем работу на 8 ядер процессора
runloom.run(8, main)


📦Установка:

pip install runloom


✅Отличное решение, если нужно выжать максимум скорости из параллельных запросов, но нет желания усложнять проект асинхронными фреймворками!

#Python #Runloom #Performance #Async #Concurrency #Go #Golang #DevTools #OpenSource #Программирование

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

Fastlogging-rs
- это сверхбыстрый и универсальный кросс-язычный фреймворк для логирования, написанный на Rust и предоставляющий унифицированный API для Python, Rust, C/C++, Go, Java и C#.

Главная проблема традиционных логгеров (например, стандартного модуля logging в Python) — синхронный ввод-вывод, способный сильно просаживать производительность под высокой нагрузкой.

fastlogging-rs решает это архитектурно: вызовы логов абсолютно неблокирующие (non-blocking) и потокобезопасные, а сброс данных во внешние приемники происходит в фоновых потоках. В бенчмарках на запись в файл с ротацией он оказывается быстрее стандартного Python-логгера более чем в 100 раз (0.17 с против 35.2 с).

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

🔘Экстремальная производительность: Запись сообщений не тормозит основной поток приложения, пока не переполнится внутренняя очередь.

🔘Полноценная кросс-язычность: Единый согласованный API для Rust, Python (>=3.10 через PyO3), C / C++ (FFI/CXX), Go, Java (через FFM и JNI) и C#.

🔘Автоматический сбор из подпроцессов: Автоматически перенаправляет логи из дочерних процессов (multiprocessing / child processes) в основной процесс с поддержкой глубоких уровней вложенности.

🔘Богатый выбор приемников (Sinks / Writers):

✔️Консоль с поддержкой цветов;

✔️Файлы с автоматической ротацией и сжатием;

✔️TCP-клиент с аутентификацией и AES-шифрованием сетевых логов;

✔️Системные журналы: Syslog (Linux) и EventLog (Windows);

✔️Пользовательские функции обратного вызова (Callbacks).

🔘Гибкая конфигурация: Настраивается как программно через API, так и декларативно через файлы конфигурации (JSON, XML, YAML).

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

from fastlogging import Logging

# Инициализация и логирование
log = Logging()
log.info("Привет из fastlogging!")

# Корректное завершение фоновых потоков
log.shutdown(False)


#Fastlogging #Rust #Python #Logging #Performance #Backend #DevTools #Cpp #Golang #Java #OpenSource

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