Библиотека питониста | Python, Django, Flask
40.6K subscribers
2.76K photos
75 videos
51 files
4.34K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
🔎 Django Admin Global Search — поиск сразу по нескольким моделям

Это Django-приложение представляет инструмент GlobalSearchView, созданный для того, чтобы администраторы сайта могли проводить поиск сразу среди нескольких моделей по одному запросу.

Установка — pip install django-admin-global-search

Чтобы использовать django-admin-global-search в своём Django-проекте, нужно обновить модели и конфигурации URL.

💻 Репозиторий проекта на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
🎮👨‍💻 15 игр, которые научат программированию

А также помогут подготовиться к техническому собеседованию, развить алгоритмическое мышление и просто провести свободное время с пользой

👉 Читать статью
👍10🤔5
💬 Как нестандартно войти в АйТи

Многие IT-специалисты приходят в эту сферу нестандартным путём — кто-то начинал как самоучка, а кто-то стал программистом случайно. У вас тоже был необычный старт карьеры в IT?

👉 Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.
🎉4❤‍🔥1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍4
❤️ Скопируйте этот код и запустите в IDE

import turtle

turtle.bgcolor("black")

pen = turtle.Turtle()
pen.pencolor("red")

def curve():
for i in range(200):
pen.right(1)
pen.forward(1)

def heart():
pen.fillcolor('red')
pen.begin_fill()
pen.left(140)
pen.forward(113)
curve()
pen.left(120)
curve()
pen.forward(112)
pen.end_fill()

def txt():
pen.up()
pen.setpos(-68, 95)
pen.down()
pen.color('black')
pen.write("We love you", font=("Verdana", 12, "bold"))

heart()
txt()

pen.ht()

turtle.mainloop()
❤‍🔥3811👍7🔥4😁2🥱2🥰1
💸 Рост или падение? Изменение зарплат в IT за 2023 год

Чтобы разобраться в этом вопросе, «Библиотека программиста» решила провести опрос среди читателей издания. Мы хотим понять, выросли ли ваши зарплаты в 2023 году и если да, то на сколько процентов. Или может быть наоборот — ваши доходы снизились на фоне кризисных явлений в экономике?

Примите участие в нашем коротком опросе и поделитесь своим мнением! Вместе мы проанализируем текущую ситуацию на рынке труда в IT-сфере и поймем, что ждёт эту отрасль дальше. Ждём ваших ответов!

Опрос займёт у вас примерно 4 минуты.

👉 Ссылка на опрос
👍81
Хардкорный курс по математике для тех, кто правда любит математику!

Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/8f9d3a94

Что вас ждет:

– Вводный урок от CPO курса

– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск

– Практические задания для закрепления материала и ссылки на дополнительные материалы.

⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/8f9d3a94
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🕷️ Scrapy — гибкий фреймворк для написания парсеров

Scrapy изначально был создан для веб-парсинга, но его также можно использовать для извлечения данных через API или как веб-краулер. Помимо этого:

▪️имеет встроенную поддержку для извлечения данных из HTML/XML источников с помощью расширенных CSS-селекторов и выражений XPath,
▪️предоставляет интерактивную консоль для тестирования и отладки,
▪️поддерживает экспорт данных в разных форматах (JSON, CSV, XML),
▪️поддерживает множество кодировок.

Вчера вышел последний релиз Scrapy 2.11.1

🔗 Ссылка на страницу парсера на PyPI
8🔥2👏2👍1
🐍 Туториал Real Python по декораторам

В нём рассказывается, как создавать декораторы и использовать их. В частности, туториал охватывает темы:
▫️Что значит, когда функции являются объектами первого класса.
▫️Как определять функции, чтобы их можно было использовать в качестве декораторов.
▫️Какие практические задачи можно решать с помощью декораторов.
▫️Лучшие практики создания декораторов.

🔗 Ссылка на полный туториал
👍13🥰21
🤔 Остаться или уйти? Оптимальный срок работы на одном месте

Вы любите свою работу, интересные проекты вам гарантированы, зарплата повышается каждый год. Но вот уже 5 лет вы трудитесь в одной и той же компании. Не пора ли что-то изменить, пока мотивация окончательно не улетучилась?

Многие опытные айтишники сталкиваются с такой дилеммой. С одной стороны, текущее место работы устраивает. С другой — хочется разнообразия, новых задач и знаний.

Должен ли современный IT-специалист менять работу чаще, чем раз в 5 лет? Или лучше наращивать экспертизу в рамках одной компании? А может дело совсем не в сроках, а в качестве задач и развитии карьеры?

👉 Расскажите о своём опыте в нашем новом опросе 👈
👍7🎉2
📦 uv — новый инструмент для работы с зависимостями в Python, написанный на Rust

Создатели позиционируют его как замену pip, pip-tools и virtualenv. Это, кстати, те же разработчики, которые сделали линтер Ruff.

На картинке показано сравнение uv с другими инструментами в разрешении зависимостей (слева) и установке (справа) зависимостей Trio с использованием прогретого кеша.

🔗 Более подробный пост о проекте
🔗 Репозиторий на GitHub
🔥20👍3
🐍 Итоги недели в мире Python и обзоры новых инструментов

У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали один из свежих выпусков на 📰.

Ниже — небольшая подборка, а целиком читайте здесь 👈

🔎 Поисковик на 80 строках кода

Публикация рассказывает, как сделать базовую поисковую систему буквально на 80 строках Python-кода. Автор реализовал все основные компоненты поисковика: краулер, инвертированный индекс, ранжировщик и интерфейс.

⭐️ Полезные библиотеки

▪️Web2PDF – CLI-инструмент для конвертации веб-страниц (по URL) в PDF-файлы.
▪️Rexi – инструмент для работы с регулярными выражениями в терминале.
▪️Django HTMX Components – набор готовых компонентов, которые можно скопировать и вставить в Django-приложение.

🕹 Управление зависимостями

Туториал, который рассказывает, как начать пользоваться Poetry.

🔥 Интересные проекты

▪️«Гарри Поттер и движок Elasticsearch» — это семантическая поисковая система на основе векторной базы данных с информацией о вселенной Гарри Поттера.
▪️Чат-бот, имитирующий стиль Эминема.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
🔨 Реализация парсеров с Pylasu

В новой статье рассказывается, как:
▪️создать грамматику ANTLR для простого «игрушечного» языка программирования Slang и сгенерировать парсер из этой грамматики,
▪️определить абстрактное синтаксическое дерево (AST) с помощью Pylasu,
▪️интегрировать парсер в приложение командной строки, позволяя пользователям анализировать код на Slang как из строк, так и из файлов, и визуализировать соответствующее AST в формате JSON.

🔗 Читать статью полностью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🎉2
👀 Итоги недели в мире ИИ и обзоры новых сервисов

У нас вышла интересная статья на 📰 по мотивам еженедельной рассылки про последние новости и тенденции в мире ИИ.

Ниже — небольшая подборка, а целиком читайте здесь 👈

💬Новости

▫️ Исследователи Стэнфордского университета обнаружили, что чат-боты склонны делать выбор в пользу насилия и ядерных ударов в военных играх.
▫️Разработчики приложения для знакомств Bumble протестировали новую AI-функцию Deception Detector, которая автоматически заблокировала 95% мошеннических аккаунтов.
▫️Google создала MobileDiffusion — мини-модель для супербыстрой генерации изображений на смартфонах.

🛠 Инструменты

▫️UserSketch — создаёт чат-бота на основе единой базы знаний с данными, собранными из любых документов, почты, мессенджеров, приложений для управления проектами и организации бизнес-процессов.
▫️Ytube AI — превращает YouTube-видео в SEO-оптимизированные статьи.
▫️ThreadScribe.ai — превращает сообщения из Slack в структурированную базу знаний, которой можно задавать любые вопросы и получать инсайты.
▫️Fooocus — бесплатная опенсорсная альтернатива Midjourney. Устанавливается локально.

⚙️ Сделай сам

Google выпустила инструмент localllm для запуска LLM локально или в облаке, на CPU вместо GPU. Подробный туториал по установке и настройке localllm — в блоге разработчиков.

🎓 Исследования

Исследователи из Технологического института Джорджии представили PokéLLMon. Возможности этого ИИ-агента сопоставимы с человеческими — он уже выиграл 56% боев против людей. Авторы также нашли способ избавиться от галлюцинаций и решили проблему панического переключения, когда при столкновении с сильным противником агент начинал хаотично переключаться между покемонами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
This media is not supported in your browser
VIEW IN TELEGRAM
🪄 Самый простой способ добавить вход по магической ссылке с помощью Django

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

▪️Пользователь вводит его email и кликает на кнопку.
▪️Затем он переходит по ссылке, которая пришла на его почту.
▪️Вуаля — он залогинен.

Как реализовать это через Django — читайте в новой статье 👈
👍222🥱2
Функция enumerate

Эта встроенная функция снабжает циклы счётчиком. Возвращает генераторный объект, который имеет метод, вызываемый встроенной функцией next: на каждом проходе цикла возвращает кортеж {индекс, значение}. Цикл for проходит по этим кортежам автоматически, что позволяет распаковывать их значения с помощью присваивания кортежей почти так, как в zip.
S = "stroka"

example = enumerate(S)
next(example) # -> (0, 's')


✔️ Вот пример использования:

shopping_list = ['яблоки', 'бананы', 'апельсины', 'хлеб']

for index, item in enumerate(shopping_list, start=1):
print(f"Пункт {index}: {item}")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍15
🙂 Рубрика: вредные советы питонистам

В Python можно выпрямить вложенные списки с помощью... функции sum(). Вот код (выполнять, пока никто не видит):
l=[['a', 'b', 'c'], ['1', '2'], ['#']]
sum(l, [])


Дело в том, что sum() принимает первым аргументом итерируемый объект, а вторым — значение, с которого начинается операция. По умолчанию это 0, но если указать пустой список [], то sum() начнёт с него. Затем sum() последовательно применяет операцию сложения к элементам первого аргумента, начиная со значения второго аргумента. В случае списков это означает конкатенацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍46😁12🤩2🥱21
🐍 Цепи Маркова: генерирование читабельной бессмыслицы за 20 строк на Python

В новой статье научимся генерировать осмысленные, но в то же время абсурдные фразы и предложения с помощью цепи Маркова.

🔗 Читать статью
🔗 Зеркало
👍18
🐍 Почему не стоит использовать неподдерживаемые библиотеки

Автор новой статьи объясняет, почему перед установкой понравившейся библиотеки стоит проверить, поддерживает ли её разработчик. Он приводит в пример Flask-Mail, у которой последний коммит был 9 лет назад. При этом, если гуглить статьи об отправке email в Flask, то 20 лучших результатов будут упоминать именно эту библиотеку.

Однако проблемы безопасности библиотеки не исправляются. Кроме того, может в любой момент отвалиться совместимость с новой версией Python.

🔗 Прочесть статью целиком можно по этой ссылке
👍152🔥1😁1
🎂Сегодня – день рождения Python🎂

33
года назад Гвидо ван Россум релизнул Python. На сегодняшний день он является самым популярным языком программирования в мире 💗

Выпьем за Python любимый напиток и продолжим кодить 🍾
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🎉4321🥰5😁32👏1🌚1👾1
🎂 Опрос в честь дня рождения: сколько лет вы уже пишете на Python?

🎉 — более 5 лет
❤️ — 3-5 лет
👍 — 1-2 года
🥰 — я в теме меньше года

#интерактив
🥰213👍178146🎉112👾4🌚2👏1🤔1🤩1