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

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

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

smallpond — это легковесный фреймворк для обработки данных на основе DuckDB и 3FS.

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

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

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

🔘Простые операции без необходимости долгоживущих сервисов.

#smallpond #DataProcessing #DuckDB #BigData #Python #MachineLearning #Analytics #PyPI #OpenSource #TechTools

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

riffq — это инструмент на Python и Rust, который позволяет делать из ваших данных и кода полноценную базу данных с интерфейсом PostgreSQL.

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

🔘Wire-протокол PostgreSQL (simple + extended) реализован на Rust для скорости и многопоточности.

🔘SQL-запросы перенаправляются в Python (DuckDB, Polars, Pandas и др.).

🔘Поддержка pg_catalog (совместимость с клиентами Postgres).

🔘Подключение к внешним источникам (CRM, аналитические БД) и объединение их в единый SQL-интерфейс.

🔘Сервинг DataFrame как виртуальных таблиц.

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

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

🔘Поднять Pandas DataFrame как PostgreSQL-таблицу для BI-инструментов.

🔘Построить federated query engine из нескольких API и БД.

🔘Реализовать фронтенд для data lake.

🔘Экспонировать динамические ML feature-stores для обучения и продакшн-инференса.

#Python #Rust #PostgreSQL #DataEngineering #DuckDB #Polars #Pandas #BI #FederatedQuery #riffq

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

python_uv_template — это Copier‑шаблон для быстрого старта Python data‑проектов с современным стеком: uv, ruff, ty, Marimo, Polars, DuckDB и автогенерацией документации.

❓Что в коробке:

🔘Инструменты качества: ruff (lint+format), ty (typing), pytest + coverage, pre‑commit hooks.

🔘Data stack: Marimo‑notebooks (реактивные .py), Polars DataFrames, DuckDB для SQL, Seaborn viz.

🔘Документация: MkDocs + Material, mkdocstrings API‑docs, mike для версионирования.

🔘CI/CD: Commitizen для conventional commits, Docker‑контейнеризация, AGENTS.md для AI‑агентов.

🚀Старт:

uvx copier copy https://github.com/mameli/python_template.git .


🔺Обновление проекта под новую версию шаблона: uvx copier update --defaults

#python #uv #copier #datascience #marimo #polars #duckdb #projecttemplate

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

PySuricata
- это быстрый и легковесный инструмент для исследовательского анализа данных (EDA) на Python, построенный на потоковых алгоритмах.

Главная проблема большинства инструментов профилирования данных — они требуют загрузки всего датасета в оперативную память и выполняют множество тяжелых прогонов. PySuricata считывает данные всего за один проход (single pass), сохраняя фиксированный расход RAM независимо от количества строк в таблице.

🔹Главные фичи и преимущества:

🔘Потоковая архитектура: Данные обрабатываются чанками. Обработка 1 миллиона строк требует не больше памяти, чем 20 тысяч, что позволяет анализировать датасеты, превышающие объем RAM.

🔘Глубокая интеграция с Arrow и экосистемой: Нативно работает с pandas, polars (включая LazyFrame), файлами Parquet, Arrow IPC (.arrow, .feather) и запросами DuckDB без промежуточной материализации всего фрейма.

🔘Честная математика и вероятностные структуры: Для моментов распределений (среднее, дисперсия, асимметрия) используется потоковый алгоритм Уэлфорда/Пебая, для подсчета уникальных значений — скетчи KMV, а для частых элементов — алгоритм Мизры-Гриса. В отчете честно указываются границы погрешностей приближенных оценок.

🔘Автономный HTML-отчет в один файл: На выходе получается единый self-contained HTML-файл со встроенными SVG, стилями и скриптами, который можно пересылать по почте и открывать без подключения к интернету.

🔘Контроль качества и дрейфа данных в CI/CD:

✔️summarize() — отдает чистый версионированный JSON со метриками;

✔️compare() — рассчитывает смещение признаков между двумя выборками;

✔️pysuricata check / официальный GitHub Action — блокирует пайплайн (exit code $\ne 0$), если превышен процент пропусков или обнаружен дрейф данных.

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

import pandas as pd
from pysuricata import profile

df = pd.read_csv("large_dataset.csv")

# Анализируем данные и сохраняем автономный отчет
profile(df).save_html("report.html")


Анализ файлов напрямую (без загрузки в DataFrame):


from pysuricata import profile

# Потоковое чтение Parquet-файла без перегрузки RAM
report = profile("data/events.parquet")
report.save_html("events_report.html")


📦Установка:

pip install pysuricata
# или через uv:
uv add pysuricata


#Python #PySuricata #DataScience #EDA #Pandas #Polars #DuckDB #DataEngineering #MachineLearning #OpenSource #DevTools

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

Flowfile
- это инструмент для визуального построения ETL-пайплайнов, который компилируется в высокопроизводительный код на Polars.

Главная идея проекта — стереть грань между визуальным no-code/low-code и классической разработкой: визуальный холст (canvas) с нодами и Python-код являются двумя синхронными представлениями одного и того же графа вычислений.

Flowfile работает без тяжелых кластеров (вроде Apache Spark): все преобразования выполняются in-process на базе Polars, утилизируя ресурсы одной машины на максимум.

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

🔘Холст + Код (Dual-Mode):

✔️49 готовых типов узлов: джойны, нечеткое сопоставление (fuzzy matching), сводные таблицы (pivot), оконные функции, агрегации, древовидное разворачивание (bill-of-materials explosion) и ветвление.

✔️Редактор формул с 95 встроенными функциями.

✔️Узел произвольного Polars-кода для специфической логики, не покрытой стандартными блоками.

✔️Живое интерактивное превью данных (Live Data Preview) на каждом этапе пайплайна.

🔤Генерация чистого Python-кода: Вы можете быстро спроектировать логику визуально, а затем экспортировать её в лаконичный независимый скрипт на чистом Polars (import polars as pl) без необходимости тащить Flowfile на прод. Графы сохраняются в человекочитаемом YAML для версионирования в Git.

🔤Встроенный AI-ассистент: Позволяет генерировать и модифицировать структуру пайплайна прямо на холсте по текстовому описанию задачи (поддерживаются ключи OpenAI, Anthropic, Google, Groq, OpenRouter или локальная Ollama).

🔤Каталог данных на Delta Lake и SQL: Встроенный каталог таблиц с поддержкой версионирования, Time Travel и предикатного пушдауна (pushdown) в виртуальных таблицах. Для исследовательской работы есть встроенный SQL-редактор (Polars SQLContext) и модуль визуализации графиков Graphic Walker (аналог Tableau).

🔤Источники и коннекторы: Локальные файлы (CSV, Parquet, Excel, JSON), СУБД (PostgreSQL, DuckDB, MySQL, SQLite, SQL Server), облачные хранилища (S3, GCS, ADLS с поддержкой Delta Lake и Iceberg на чтение), Kafka (consumer) и внешние REST API.

🔤Запуск в любом окружении:

✔️В браузере: мгновенная работа через WebAssembly / Pyodide на demo.flowfile.org без установки и сервера;

✔️Локально на ноутбуке: установка в одну команду через pip или готовые десктопные приложения (Tauri);

✔️В команде: развертывание через Docker Compose с авторизацией, ролями пользователей, общим каталогом, планировщиком задач (scheduler) и изолированными Jupyter-подобными Python-кернелами.

💻Пример кода на Python:

Вы можете описать пайплайн кодом через API в стиле Polars и в один вызов открыть его в визуальном редакторе:

import flowfile as ff
from flowfile import col, open_graph_in_editor

# Загрузка и трансформация данных
df = ff.from_dict({
"category": ["A", "B", "A", "C", "B"],
"value": [100, 200, 150, 300, 250]
})

result = (
df.filter(col("value") > 150)
.with_columns((col("value") * 2).alias("double_value"))
.group_by("category")
.agg(col("value").sum().alias("total"))
)

# Открытие собранного графа в визуальном интерфейсе
open_graph_in_editor(result.flow_graph)


🚀Быстрый запуск:

Установка и запуск UI на локальной машине (Python 3.10–3.13):

pip install Flowfile
flowfile run ui


Командный запуск в Docker Compose:


git clone https://github.com/edwardvaneechoud/Flowfile.git
cd Flowfile
docker compose up -d
# Веб-интерфейс будет доступен по адресу http://localhost:8080


✅Проект распространяется под свободной лицензией MIT.

#Flowfile #Python #Polars #ETL #DataEngineering #DataScience #SQL #DeltaLake #DuckDB #OpenSource #DevTools #DataPipelines

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