zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20144

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

«Книги изменившие мир писатели объединившие поколения»

@ithumor

Читать полностью…

Zen of Python

Second-Me | Самый солипсисткий пет-проект

Если о биологическом бессмертии пока рассуждают футуристы, то цифровое уже вполне реально, если вы можете позволить себе содержать свою LLM. Проект позволяет натренировать на любых данных о вас (переписки в мессенджерах, личный дневник и любые другие данные в любом формате). Такой цифровой двойник сможет общаться за вас в случае чего.

Репозиторий проекта
#инструмент
@zen_of_python

Читать полностью…

Zen of Python

Сегодня можно и spam, и eggs — и не только в коде!

С Пасхой, питонист!

@zen_of_python

Читать полностью…

Zen of Python

В PyPI нашли библиотеку для MEXC, которая помогала… красть крипту у установивших

Вредоносный пакет ccxt-mexc-futures маскировался под легитимное расширение для автоматизации торговли криптовалютами. Пакет крал API-ключи пользователей и управлял их ордерами, перенаправляя запросы на поддельный сервер. 

Воистину, в эпоху «Девятого вала контента» пропустить такой зловред при установке инструментария легче легкого.

#безопасность

@zen_of_python

Читать полностью…

Zen of Python

@zen_of_python

Читать полностью…

Zen of Python

Внимание: представлен Python-пакет, который делает импорт либ great again

Гений с ником Huan Xu выкатил TARIFF: open-source проект, который вводит «импортные пошлины» на Python-библиотеки. При импорте библиотека задерживается на заданный процент времени, а в консоли появляется гордое сообщение о тарифе.

Спасибо за внимание 🙏

#кек #оффтоп

Читать полностью…

Zen of Python

Тест: Какой язык программирования тебе подходит

Небольшой опросник с целью определить «ваш» язык на основании айтишных интересов. Если вы новичок и без подсказок выйдете на Python — что ж, это судьба. Вопросики-то с подковыркой!

@zen_of_python

Читать полностью…

Zen of Python

Ошибки и исключения в Python: в чём разница?

- Ошибки (errors) — это критические проблемы, такие как синтаксические ошибки, которые обнаруживаются до выполнения программы и не позволяют ей запуститься.

- Исключения (exceptions) — возникают во время выполнения программы при неожиданных ситуациях, например, при делении на ноль. Исключения можно перехватывать и обрабатывать в коде.

Распространённые ошибки

- SyntaxError — возникает при нарушении синтаксиса, например, при отсутствии закрывающей скобки:


print("Hello World" # Отсутствует закрывающая скобка



- IndentationError — возникает при неправильном отступе:


def greet():
print("Hello") # Отсутствует отступ



Распространённые исключения

- TypeError — операция между несовместимыми типами:


print("10" + 5) # Возникает TypeError



- ValueError — неподходящее значение аргумента:


num = int("abc") # Возникает ValueError



- KeyError — обращение к несуществующему ключу в словаре:


data = {"name": "Alice"}
print(data["age"]) # Возникает KeyError



- IndexError — обращение к несуществующему индексу в списке:


numbers = [1, 2, 3]
print(numbers[5]) # Возникает IndexError



- ZeroDivisionError — деление на ноль:


result = 10 / 0 # Возникает ZeroDivisionError



- FileNotFoundError — файл не найден:


with open("missing_file.txt", "r") as file:
content = file.read() # Возникает FileNotFoundError



Вы можете определить собственные классы исключений, наследуя от класса Exception:



class CustomError(Exception):
pass

raise CustomError("Это пользовательское исключение!")


#основы

Читать полностью…

Zen of Python

dayplot | Симпатичные хитмэпы

Библиотека позволяет строить тепловые карты а-ля GitHub Contributions. В одной статье забавно визуализировали с dayplot, как у Илона Маска е̶д̶е̶т̶ ̶к̶у̶к̶у̶х̶а̶, как растет число постов в X (ex-Twitter).

Проект на PyPi
#инструмент
@zen_of_python

Читать полностью…

Zen of Python

Когда навайбкодил приложение в СhatGPT и уже подсчитываешь миллионы своего стартапа.

То самое приложение:

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

airflow-ai-sdk | Оркестрация на откуп GPT

Этот репозиторий позволяет создавать DAG в Airflow и управлять таковыми с помощью ИИ-ассистентов на ваш выбор (хоть ChatGPT, хоть Claude).

Админ ликует, ведь Airflow без должной информационной поддержки легк становится той еще занозой.

Репозиторий проекта
#инструмент
@zen_of_python

Читать полностью…

Zen of Python

Квиз про качество кода в Python

Небольшая англоязычная викторина на 13 вопросов, посвященная читаемости, переиспользованию, масштабируемости и другим параметрам качества. Подготовиться можно с помощью статьи.

#квиз
@zen_of_python

Читать полностью…

Zen of Python

5 игр, чтобы подучить SQL (и не уснуть по дороге)

SQLPD — расследуете преступления как аналитик SQL-полиции. Каждое задание — отдельное дело.

SQL Island — выживаете после крушения на острове, выполняя SQL-задачи, чтобы выбраться.

SQL Murder Mystery — ищете убийцу в базе данных. Свобода действий и минимум подсказок.

Lost at SQL — спасаете подлодку и команду, проходя сюжетные SQL-челленджи.

SQL Squid Game Решаете задачи по мотивам игры в кальмара, чтобы не повторить судьбу коллеги-аналитика.

#игры #sql

Читать полностью…

Zen of Python

stealthkit | requests на стероидах

Инструментарий для скрытого доступа и обхода систем безопасности. Среди фичей:

Ротация User-Agent: Автоматически меняет user-agent из Chrome, Edge и Safari на различных операционных системах (Windows, MacOS, Linux);
Случайный выбор Referer: Симулирует реальное поведение браузинга, отправляя запросы с рандомизированными referer'ами из поисковых систем;
Обработка куки: Извлекает и сохраняет куки с указанных URL для поддержания постоянства сессии;
— Поддержка прокси: Позволяет маршрутизировать запросы через предоставленный прокси;
Логика повторных попыток: Повторяет неудачные запросы до трех раз перед тем, как сдаться;
RESTful запросы: Поддерживает GET, POST, PUT и DELETE с автоматической интеграцией прокси.

Репозиторий проекта

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

А какие убойные книги про Python и окололежащее вы знаете? Поделитесь в комментариях.

Читать полностью…

Zen of Python

Боюсь спросить, как выглядит Pascal Pascal

#кек
@zen_of_python

Читать полностью…

Zen of Python

Вопросы подписчиков

Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросы_новичков

@zen_of_python

Читать полностью…

Zen of Python

py.checkio.org | Игра для освоения языка

При поддержке JetBrains сделали годную игру про Python. Там вы познакомитесь с основными концепциями языка на примерах и закрепите знания с помощью небольших задачек. Можно даже отнести игру к жанру RPG. Пожалуй, самый нескучный способ учиться.

На сайт игры
#обучение
@zen_of_python

Читать полностью…

Zen of Python

Positron | IDE для «поклонников данных»

Это перспективная среда разработки, которая предлагает:
— удобную среду для обращения с ноутбуками локально;
— поддержку тысяч плагинов, включая ИИ-копайлоты;
— темную тему;
— фокус на Python и R и многое другое.

Несмотря на некоторые ограничения, она активно развивается и может стать отличной альтернативой существующим решениям.​

Самое оно побаловаться, когда PyCharm выбесил, в очередной раз «заморозившись».

#инструмент
@zen_of_python

Читать полностью…

Zen of Python

Настраиваем паука для сбора данных: как работает фреймворк Scrapy

В Tproger разобрали основные компоненты этого популярного скрейпера — пауки, пайплайны и middleware на примерах. Если продукт действительно хорош, то для него не жалко и на разных ЯП клиенты писать.

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

Курс по основам API

Интерфейсы, протоколы, какие-то странные URL — всё это звучит сложно, пока не разложить по полочкам. А ведь API — штука, с которой сейчас сталкиваются почти все, кто так или иначе работает с IT.

Быстро понять, что такое API, как он устроен и где пригодится — можно даже без программирования. В этом базовом курсе собраны простые объяснения, реальные примеры и даже чуть-чуть практики в Insomnia. Разобраться в теме проще, чем кажется — особенно после такого разбора.

Ссылка на курс

#курс #api #general #начинающим #ru

Читать полностью…

Zen of Python

Подкаст про Python на YouTube | новости языка за март

Еще один выпуск MoscowPython, на сей раз про:
— PEP 751 и его новый формат лог-файлов;
— улучшения в синхронных функциях;
— подтверждение навыков Python на платформе Минцифры;
— GPT для питонической разработки и многое другое.

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

#факт
@zen_of_python

Читать полностью…

Zen of Python

#кек
@zen_of_python

Читать полностью…

Zen of Python

Сравниваем Pandas, Polars и PySpark: что выбрать аналитику?

В Tproger сравнили три популярных библиотеки: Pandas, Polars и PySpark. В статье вы узнаете про производительность, удобство использования и возможности работы с большими наборами каждой из них.

#факт

@zen_of_python

Читать полностью…

Zen of Python

Вышел Django 5.2

В этом релизе представлены следующие ключевые нововведения:​
— Автоматический импорт всех моделей в оболочке Django;
— Поддержка составных первичных ключей с использованием django.db.models.CompositePrimaryKey;
— Упрощенное переопределение BoundField на уровне формы, поля или проекта.​

Про CompositePrimaryKey

CompositePrimaryKey позволяет создавать первичные ключи, состоящие из нескольких полей, что особенно полезно при моделировании связей многие-ко-многим.​


from django.db import models

class Product(models.Model):
name = models.CharField(max_length=100)

class Order(models.Model):
reference = models.CharField(max_length=20, primary_key=True)

class OrderLineItem(models.Model):
pk = models.CompositePrimaryKey("product_id", "order_id")
product = models.ForeignKey(Product, on_delete=models.CASCADE)
order = models.ForeignKey(Order, on_delete=models.CASCADE)
quantity = models.IntegerField()


В этом примере модель OrderLineItem использует составной первичный ключ, состоящий из полей product_id и order_id. Это гарантирует уникальность каждой комбинации продукта и заказа. Ранее для достижения подобного поведения приходилось использовать дополнительные настройки или сторонние библиотеки. ​

#django #факт
@zen_of_python

Читать полностью…

Zen of Python

Как обойтись без requirements.txt для скрипта-одиночки, или чем хорош uv

Стандарт PEP 723 и менеджер зависимостей uv упростили обращение со скриптами-одиночками. Теперь мы можем встраивать метаданные о зависимостях прямо в скрипты, что устраняет необходимость в requirements.txt или менеджерах пакетов.

Рассмотрим на простом примере скрипта wordlookup.py. Он извлекает определения слов из API словаря. Этот скрипт использует библиотеку httpx для выполнения асинхронных запросов. Вот как выглядит основной код:

import argparse
import asyncio
import json
import os
import textwrap
import httpx

async def fetch_word_data(word: str) -> list:
"""Получает данные слова из API словаря."""
url = f"https://api.dictionaryapi.dev/api/v2/entries/en/{word}"
async with httpx.AsyncClient() as client:
response = await client.get(url)
response.raise_for_status()
return response.json()

async def main(word: str):
"""Получает и выводит определения для данного слова."""
data = await fetch_word_data(word)
if data:
print(f"Определения для '{word}':")
for entry in data:
for meaning in entry.get("meanings", []):
part_of_speech = meaning.get("partOfSpeech")
definitions = meaning.get("definitions", [])
if part_of_speech and definitions:
print(f"\n{part_of_speech}:")
for definition_data in definitions:
definition = definition_data.get("definition")
if definition:
print(f"- {definition}")

if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Получить определения слова.")
parser.add_argument("word", type=str, help="Слово для поиска.")
args = parser.parse_args()
asyncio.run(main(args.word))

Чтобы добавить зависимость httpx в наш скрипт, мы можем использовать команду uv:

uv add --script wordlookup.py httpx

После выполнения этой команды в верхней части скрипта будут добавлены метаданные о зависимостях, что позволит uv автоматически управлять установкой необходимых библиотек при запуске скрипта.

Запускаем скрипт:

uv run wordlookup.py <слово>

При первом запуске uv создаст изолированную виртуальную среду и установит все необходимые зависимости. В дальнейшем uv будет использовать уже созданную среду.

#факт
@zen_of_python

Читать полностью…

Zen of Python

Как понять партиционирование: DWH для гуманитариев

На Tproger объяснили различные типы партиционирования — диапазонное, списковое и хешевое с примерами применения. Если вы подступились к действительно объемным базам, или просто столкнулись с постфиксом _* в BigQuery или других подобных продуктах, статья поможет разобраться.

#основы #sql

@zen_of_python

Читать полностью…

Zen of Python

Вопрос подписчика

Задает @Chellbas:

«Меня вот интересует следующая тема, я с ней столкнулся когда придумал тему и распределил логику для моего нового проекта, все этапы прошёл и подошёл к моменту выбора технологий для бекенд части, выбор пал между FastAPI и DRF, FastAPI я на данный момент использую на работе, и подумывал для разнообразия использовать DRF, и вот мы непосредственно подошли к вопросу, как используя экосистему DRF, сделать инную архитектуру, например - луковую, DDD и прочие, но Django нам навязывает же буквально Featute архитектуру, где границы приложения разбиты по модулям через команду startapp, а если писать проект на нем без этой команды, вручную настраивая все, не получается запустить и поднять сервер, как минимум из-за того что конфигурационный файл не может правильно все распределить и получается используя django мы заручники отдой архитектуры, зачастую монолитной, хотел бы услышать советы и указание что делать, возможно я как то не понимаю, очень интересно было бы послушать советы, заранее спасибо!»

#обсуждение

@zen_of_python

Читать полностью…

Zen of Python

stumpy | ищем аномалии в Time Series

Редкое, но очень занимательное представление временных рядов — матрица (на GIF). Библиотека упрощает поиск нестандартных значений с помощью такого dataviz. Также сможет найти для вас Shapelet — кусочек выборки, типичный паттерн выборки. Поддерживает сравнение выборок.

Цена: бесплатно
Репозиторий проекта

#инструмент

@zen_of_python

Читать полностью…
Subscribe to a channel