Библиотека питониста | Python, Django, Flask
Все самое полезное для питониста в одном канале. Учиться у нас: clc.to/6e5Csg Для обратной связи: @proglibrary_feeedback_bot По рекламе: @tproger_sales_bot РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Ko'proq ko'rsatish📈 Telegram kanali Библиотека питониста | Python, Django, Flask analitikasi
Библиотека питониста | Python, Django, Flask (@pyproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 37 077 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 3 622-o'rinni va Rossiya mintaqasida 17 119-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 37 077 obunachiga ega bo‘ldi.
26 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -253 ga, so‘nggi 24 soatda esa -8 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 5.30% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 2.82% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 966 marta ko‘riladi; birinchi sutkada odatda 1 047 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 2 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent питониста, навигация, буст, строка, api kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Все самое полезное для питониста в одном канале.
Учиться у нас: clc.to/6e5Csg
Для обратной связи: @proglibrary_feeedback_bot
По рекламе: @tproger_sales_bot
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 27 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
# Идея из предложения, не готовый API:
type HeroPublic = Public[Hero]
type HeroCreate = Create[Hero]
type HeroUpdate = Update[Hero]
Public, Create и Update здесь обозначают предполагаемые преобразования, а не встроенные классы Python.
Сложность не заканчивается на статическом анализе
Pydantic и FastAPI используют аннотации во время выполнения. Поэтому важно не только научить анализатор выводить новый тип, но и определить, как библиотека получит исходное описание аннотации.
В предложении обсуждаются условные типы, перебор членов типа и другие примитивы. Есть прототип на базе mypy.
Это направление разработки и обсуждение устройства типизации. В выпущенном Python 3.15 такие конструкции нельзя считать доступной стандартной возможностью.
🔗 Что обсуждали на Language Summit
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
uv check
Команда подготавливает окружение проекта, устанавливает необходимые зависимости и запускает ty. Для workspace можно проверить отдельный пакет или все сразу:
uv check --package backend
uv check --all-packages
Скрипты с зависимостями в метаданных PEP 723 проверяются в собственных окружениях:
uv check --script report.py
Что пока не входит в команду
Это проверка типов через ty. Объединение с Ruff ещё запланировано: считать uv check готовой заменой линтеру и форматтеру рано.
Нужны uv 0.12.3+ и ty 0.0.76+. Интеграция экспериментальная. Подготовка окружения может устанавливать сторонние пакеты, поэтому запуск такой проверки не стоит воспринимать как простое чтение Python-файлов.
🔗 Как uv и ty используют общее окружение проекта
#буст
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питонистаpip install tach
tach init
tach check
Во время tach init выбираются границы модулей. Настройки сохраняются в tach.toml. Если импорт нарушает объявленную зависимость, tach check сообщает об ошибке и завершается с ненулевым кодом — проверку удобно добавить в CI.
Для графа зависимостей есть tach show: он создаёт локальный DOT-файл. У варианта tach show --web другая механика — содержимое конфигурации передаётся для удалённой генерации графа.
🔗 Репозиторий и примеры
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#бустmemray run -o profile.bin app.py
memray flamegraph -o memory.html profile.bin
Когда нужно увидеть C/C++-стек
Добавьте --native в команду запуска. В отчёте появятся нативные кадры стека — полезно для поиска аллокаций внутри расширений. Такой режим добавляет нагрузку, а отчёт с нативными символами нужно генерировать на той же машине, где записан профиль.
По умолчанию flamegraph показывает распределение аллокаций на пике памяти. Режим --leaks показывает аллокации, не освобождённые к концу записи. Это ещё не доказательство утечки Python-объектов: память может оставаться в пулах аллокатора.
Инструмент работает на Linux и macOS. Под Windows его установить нельзя.
🔗 Документация Memray
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#бустimport polars as pl
query = (
pl.scan_csv("users.csv")
.with_columns(pl.col("name").str.to_uppercase())
.filter(pl.col("score") > 0)
)
print(query.explain(optimized=False))
print(query.explain())
В таком запросе фильтр по score не зависит от преобразования name. Оптимизатор может перенести фильтрацию к чтению CSV: ненужные строки не придётся сначала обрабатывать преобразованием.
Это называется predicate pushdown. В официальном примере видно, как отдельный FILTER превращается в SELECTION внутри CSV SCAN.
Сам explain() показывает план, а результат запроса получают через query.collect(). Не заменяйте замеры обещанием «lazy всегда быстрее»: сначала посмотрите, что изменилось в плане именно вашей задачи.
🔗 Разбор двух планов запроса
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#бустpip install marimo
marimo edit analysis.py
Если файла ещё нет, редактор создаст пустой ноутбук. Он хранится как Python-файл; его можно запускать как скрипт или открыть в режиме приложения через marimo run analysis.py.
Но магии с мутациями нет
items.append(42) в другой ячейке не запускает реактивный пересчёт. Документация советует создавать новую переменную либо менять объект в той же ячейке, где он определён.
🔗 Как работает реактивность
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#бустimport httpx
import respx
@respx.mock
def test_status():
route = respx.get("https://example.org/status").mock(
return_value=httpx.Response(200, json={"ok": True})
)
response = httpx.get("https://example.org/status")
assert response.json() == {"ok": True}
assert route.call_count == 1
Последняя проверка подтверждает, что маршрут действительно вызвали, а не просто получили подходящий результат другим путём.
По умолчанию RESPX требует, чтобы перехваченные запросы совпадали с настроенными маршрутами, а все добавленные маршруты были вызваны. Эти проверки можно отключить, но в небольшом тесте они помогают заметить ошибку в URL или лишний запрос.
Работаете с pytest? У библиотеки есть фикстура respx_mock.
🔗 Гайд и настройки RESPX
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#бустsales.csv есть столбцы city и amount:
import duckdb
rows = duckdb.sql("""
SELECT city, SUM(amount) AS total
FROM 'sales.csv'
GROUP BY city
ORDER BY total DESC
""").fetchall()
print(rows)
Запрос выполняется внутри процесса Python. По умолчанию используется база в памяти; создавать постоянную таблицу для этой задачи не требуется. fetchall() забирает результат в виде Python-объектов.
Нюанс для приложения
duckdb.sql() использует общую глобальную connection, которая не является потокобезопасной. Если запросы идут из разных потоков, каждому нужна собственная connection через duckdb.connect().
🔗 Примеры Python API
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст