И в дополнение к патологии выше, есть целый репозиторий с подобными штуками - ссылка
#python #wtfpython
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - satwikkansal/wtfpython: What the f*ck Python? 😱
What the f*ck Python? 😱. Contribute to satwikkansal/wtfpython development by creating an account on GitHub.
🆒5❤🔥2😁1
Если тебе интересно заглянуть под капот Python и узнать, как устроены списки - есть отличная статья, которая начинается с достаточно простого примера и потом плавно погружает в глубины C-шной реализации списков в Python.
Автор статьи серьёзно подошёл к делу: он не только детально всё расписал, но и приложил кучу наглядных иллюстраций.
Даже если ты никогда не программировал на C, тебе будет понятен и интересен материал.
Ссылка на статью, рекомендую ознакомиться — это на самом деле увлекательно🙂
#python
Автор статьи серьёзно подошёл к делу: он не только детально всё расписал, но и приложил кучу наглядных иллюстраций.
Даже если ты никогда не программировал на C, тебе будет понятен и интересен материал.
Ссылка на статью, рекомендую ознакомиться — это на самом деле увлекательно
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
Codingconfessions
Why Do Python Lists Multiply Oddly? Exploring the CPython Source Code
A look at the internals of list implementation in CPython to understand this weird quirk about them
И ещё немного про Python.
Полезно тем, кто уже освоил f-строки в Python и использует их для форматирования. Часто ты останавливаешься на чём-то вроде
Например, представь, что тебе нужно превратить число в строку, где оно всегда будет занимать три позиции, дополняясь нулями спереди, если это необходимо. С f-строками это сделать проще простого! Если у тебя число 5, ты получишь
Гайд от PyBites показывает, на что способны f-строки. Если ты ещё не раскрыл для себя все возможности этого удобного инструмента - бегом читать🙃
Ссылка
А ещё по f-строкам у меня была ссылка на другой хороший материал в посте
#python
Полезно тем, кто уже освоил f-строки в Python и использует их для форматирования. Часто ты останавливаешься на чём-то вроде
f"string {variable}"
, но знаешь ли ты, что f-строки скрывают в себе гораздо больше возможностей?Например, представь, что тебе нужно превратить число в строку, где оно всегда будет занимать три позиции, дополняясь нулями спереди, если это необходимо. С f-строками это сделать проще простого! Если у тебя число 5, ты получишь
"005"
, а если 123, то останется просто "123"
.Гайд от PyBites показывает, на что способны f-строки. Если ты ещё не раскрыл для себя все возможности этого удобного инструмента - бегом читать
Ссылка
А ещё по f-строкам у меня была ссылка на другой хороший материал в посте
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
Pybites
Python F-String Codes I Use Every Day - Pybites
I use f-strings every day. The irony is I also every day end up searching the Web to find the correct format to use. Until one day I thought a
Forwarded from О разработке и не только
Очень полезная статья для тех, кто работает с celery. А если вы из мира python, то для отложенных задач не так уж и много альтернатив. Через решение непосредственно задачи отдачи метрик в prom раскрывается внутреннее устройство фреймворка: какие настройки есть, как работают и как их правильно использовать.
https://habr.com/ru/companies/domclick/articles/804535/ #dev #python
https://habr.com/ru/companies/domclick/articles/804535/ #dev #python
Хабр
Мониторинг Celery
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты...
SQLGlot - это SQL-парсер, транспилятор, оптимизатор и движок без зависимостей. Его можно использовать для форматирования SQL или перевода между 21 различным диалектом, таким как DuckDB, Presto / Trino, Spark / Databricks, Snowflake и BigQuery. Он предназначен для чтения различных SQL-вводов и вывода синтаксически и семантически корректного SQL в целевых диалектах.
Это очень универсальный общий SQL-парсер с надёжным набором тестов. Он также достаточно производительный, несмотря на то, что написан исключительно на Python.
Ты можешь легко настраивать парсер, анализировать запросы, обходить деревья выражений и программно строить SQL.
Синтаксические ошибки подсвечиваются, а несовместимости диалектов могут выдавать предупреждения или рэйзить ошибки в зависимости от конфига. Однако SQLGlot не претендует на роль валидатора SQL, поэтому он может пропустить некоторые синтаксические ошибки.
Больше примеров по ссылке
Документация
#sql #parser #python
Это очень универсальный общий SQL-парсер с надёжным набором тестов. Он также достаточно производительный, несмотря на то, что написан исключительно на Python.
Ты можешь легко настраивать парсер, анализировать запросы, обходить деревья выражений и программно строить SQL.
Синтаксические ошибки подсвечиваются, а несовместимости диалектов могут выдавать предупреждения или рэйзить ошибки в зависимости от конфига. Однако SQLGlot не претендует на роль валидатора SQL, поэтому он может пропустить некоторые синтаксические ошибки.
Больше примеров по ссылке
Документация
#sql #parser #python
Небольшая подборка не очень популярных, но полезных библиотек для анализа данных
PySheets - предоставляет пользовательский интерфейс для работы с электронными таблицами на Python.
Используй Pandas, создавай диаграммы, импортируй таблицы Excel, анализируй данные и создавай отчеты.
py2wasm - преобразует программы и данные на Python в WebAssembly и запускает их в ~3 раза быстрее.
databonsai - библиотека на Python, которая использует LLM для задач очистки данных, таких как категоризация, преобразование и извлечение.
#py #python #dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Прелюдия
#duckdb #python #etl #de #elt
Please open Telegram to view this post
VIEW IN TELEGRAM
Начало
Если ты активно работаешь с данными, ты, вероятно, сталкивался с такими системами, как Snowflake, Databricks, Kafka и т.д., о которых было написано много статей о том, как они произвели революцию в обработке данных.
Однако, несмотря на всю эту шумиху, многие компании поняли, что всё это быстро становится дорогостоящим. Мониторинг и отработка отказов обходятся дорого, особенно в таких системах, как Kafka, Apache Spark и Snowflake, в которых много узлов.
Если тебе интересно:
Если да, то этот цикл постов для тебя. Представь, если бы твои затраты на обработку данных были настолько низкими, что тебе даже не пришлось бы их отслеживать!
Обсудим подход, который использует последние достижения в области обработки данных в оперативной памяти в сочетании с дешёвым и мощным железом для значительного снижения затрат на обработку данных!
#duckdb #python #etl #de #elt #kafka #spark #databricks #snowflake
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
DE
🐍🦆
Построение эффективных дата-пайплайнов с помощью Python и DuckDB
TL;DR: DuckDB делает обработку данных дешёвой и простой. Покажу, как эффективно использовать DuckDB в цикле постов
👇👇👇
0⃣ Прелюдия
1️⃣ Начало
2️⃣ Проект
…
Построение эффективных дата-пайплайнов с помощью Python и DuckDB
TL;DR: DuckDB делает обработку данных дешёвой и простой. Покажу, как эффективно использовать DuckDB в цикле постов
👇👇👇
0⃣ Прелюдия
1️⃣ Начало
2️⃣ Проект
…
Forwarded from О разработке и не только
Не могу не поделиться один классным фреймворком - FastStream. Он существенно упрощает реализацию консьюмеров и продюсеров для RabbitMQ, Kafka и т.п. И за счёт этого позволяет сконцентрироваться на бизнес-логике. В комплекте идёт удобный DI (dishka), валидация через pydantic, генерация AsyncAPI, подключение по OpenTelemetry, метрики, мидлвари и куча клиентов. Настоятельно рекомендую!
И нет, FastStream решает более общую задачу, нежели Celery; так что сравнивать их некорректно.
https://habr.com/ru/articles/822505/ #python
И нет, FastStream решает более общую задачу, нежели Celery; так что сравнивать их некорректно.
https://habr.com/ru/articles/822505/ #python
Хабр
FastStream — новый убийца Celery?
FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений. В Python сложилось устойчивое убеждение, что если мы работаем с...
❤🔥3👏3😁1
Forwarded from О разработке и не только
Хороший доклад про эволюцию средств установки python пакетов. Вечером за ужином самое то :)
tl;dr Экосистема python сломана, проклята и никто чинить её не собирается.
https://www.youtube.com/watch?v=2_fpwTaSQgE #python
tl;dr Экосистема python сломана, проклята и никто чинить её не собирается.
https://www.youtube.com/watch?v=2_fpwTaSQgE #python
YouTube
Николай Марков. Управление пакетами — хорошее, плохое, злое?
Николай Марков
Data Platform Lead, Altenar
Управление пакетами — хорошее, плохое, злое?
Экосистема пакетов Python существует очень давно, и в этом есть как плюсы, так и минусы. С одной стороны, мы имеем один из самых больших репозиториев пакетов на все…
Data Platform Lead, Altenar
Управление пакетами — хорошее, плохое, злое?
Экосистема пакетов Python существует очень давно, и в этом есть как плюсы, так и минусы. С одной стороны, мы имеем один из самых больших репозиториев пакетов на все…
Forwarded from О разработке и не только
pytest - непростой фреймворк. Это мощный комбайн, под капотом которого происходит много действий (в том числе и магических). Поэтому если вы хотите подружится с ним, понять и принять, то лучший способ - покопаться в его внутрянке и решить какую-то учебную задачу. Например, переделать вывод результатов во что-то более читаемое.
P.S. Бонусом идёт список полезных материалов по pytest на самом Хабре в конце статьи.
https://habr.com/ru/articles/844728/ #python
P.S. Бонусом идёт список полезных материалов по pytest на самом Хабре в конце статьи.
https://habr.com/ru/articles/844728/ #python
Хабр
Как адаптировать терминальные отчёты pytest под свои интересы
Всем хорош pytest, но его терминальный вывод можно сделать ещё полезней. Наверняка для этого есть готовые плагины и даже фреймворки. Но можно сделать и самостоятельно. А попутно разобраться в...
Выкатили релиз Python 3.13.0, и он приносит несколько важных обновлений, которые могут улучшить производительность и удобство разработки.
▶️ Экспериментальная поддержка JIT-компиляции, которая обещает значительное ускорение работы кода.
▶️ Появилась возможность редактирования многострочного кода в интерактивном интерпретаторе, что облегчает работу с длинными выражениями.
▶️ Добавлены новые возможности для работы с типами, такие как
▶️ Для мобильных разрабов теперь доступны поддержка Android и iOS на уровне Tier 3.
Детали релиза тут: Python 3.13.0.
#dev #python #release #3.13
typing.TypeIs
. Детали релиза тут: Python 3.13.0.
#dev #python #release #3.13
Please open Telegram to view this post
VIEW IN TELEGRAM
Python.org
Python Release Python 3.13.0
The official home of the Python Programming Language
Forwarded from О разработке и не только
В python добавляют очередной тип строк, который явно разделяет шаблон и его аргументы. Выглядеть это будет примерно так:
Т.е.
В общем, меня не покидает ощущение, что python становится слишком фичастым. И когда-нибудь это обязательно стрельнет.
https://habr.com/ru/articles/911196/ #python
attributes = {"src": "shrubbery.jpg", "alt": "looks nice"}
template = t"<img {attributes:.2f} />"
assert html(template) == '<img src="shrubbery.jpg" alt="looks nice" />'
assert template.strings == ("<img ", " />")
assert template.interpolations == attributes
assert template.interpolations[0].format_spec == ".2f"
Т.е.
html
- кастомная функция, которая разворачивает аргумент-словарь у строки в набор тегов. Я вот так сходу не могу придумать мест применения, кроме экранирования секретов в логах. Но во-первых, это решается по-другому (своим логгером), а во-вторых, уже есть string.Template, который делает нечто похожее. Ну ладно, ещё защита от инъекций (XSS, SQL и т.п.), но там это делается совсем другим способом.В общем, меня не покидает ощущение, что python становится слишком фичастым. И когда-нибудь это обязательно стрельнет.
https://habr.com/ru/articles/911196/ #python
Хабр
Новый лучший способ форматирования строк в Python
Привет, Хабр! Приближается релиз Python 3.14, который несет нам множество нововведений. Среди них — новый способ форматирования строк. Давайте посмотрим, что из себя представляют t-строки, на что они...
Forwarded from О разработке и не только
Кто-то считает DjangoORM злом, а я думаю, что инструментом просто надо уметь пользоваться. А т.к. это обёртка над другой технологией, то надо разбираться и в ней. Вот хорошая и лёгкая для чтения статья как в действительности DjangoORM работает с БД. Приведены некоторые оптимизации, нюансы использования и т.п. Хороший кандидат, кстати, для перевода на Хабр.
Но не нужно применять все эти хаки постоянно. ИМХО, они нужны больше для оптимизации - когда действительно что-то идёт не так. Какая разница сколько у вас индекс весит, если база нагружена на 20% и свободного места ещё 100Gb.
https://hakibenita.com/django-foreign-keys #python
Но не нужно применять все эти хаки постоянно. ИМХО, они нужны больше для оптимизации - когда действительно что-то идёт не так. Какая разница сколько у вас индекс весит, если база нагружена на 20% и свободного места ещё 100Gb.
https://hakibenita.com/django-foreign-keys #python
Hakibenita
How to Get Foreign Keys Horribly Wrong
Common Pitfalls and Potential Optimizations in Django
👏5😁1