Обновить
1024K+

Python *

Высокоуровневый язык программирования

666,47
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Использование речевых технологий Яндекса на примере аудиосообщений Telegram или чат-бот для распознавания аудиосообщений

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.2K

В данной статье мы рассмотрим применение речевых технологий, предоставленных компанией Яндекс в контексте распознавания аудиосообщений в Telegram – популярном мессенджере, объединяющем миллионы пользователей по всему миру.

Давайте создадим чат-бот для Телеграм, который будет присылать нам текстовую расшифровку аудиосообщения!

Читать далее

Мы провели PyCon Russia 2023

Время на прочтение2 мин
Охват и читатели3.2K

В конце июля питонисты со всей страны съехались в Москву, чтобы побывать на самой масштабной, но душевной конференции для python-разработчиков: PyCon Russia. Держите отчет о том, как это было. 

В дождливую московскую пятницу утром в Старт Хаб яблоку некуда было упасть — в этом году в конференции участвовали больше шестисот человек. Такого еще не помнит новейшая пиконовская история.

Как это было

Анализ временных рядов, или как предсказать погоду на завтра

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели20K

Прочитав статью, вы узнаете, как можно прогнозировать погоду с точностью до двух градусов на 3 месяца вперед, причем здесь преобразование Фурье и машинное обучение

Читать далее

Создаём основу для диалогового Телеграм бота в облаке

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели16K

У меня есть хобби — я учу финский язык. Просто так зубрить новые слова сложно, поэтому я решила написать бота для геймификации процесса. Бот поддерживает разные режимы тренировок, скоринг слов и объединение слов по темам, в общем — имеет довольно сложную ветвистую логику. В процессе создания бота мне удалось создать структуру кода и ресурсов, которая позволяет легко написать диалогового бота любой сложности, не рискуя запутаться и не беспокоясь о создании инфраструктуры. Ею и хочу с вами поделиться.

Это первая статья цикла, в ней я расскажу, как создать базу — шаблонного serverless бота на Python с использованием Yandex Cloud Functions и базы данных YDB с нуля.

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

/start

Лучший стек для питониста-джуна 2023

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели22K

Давно устоявшийся и прекрасно показывающий себя фреймворк. Постоянная поддержка, множество пакетов «из под капота», отличный ORM, хорошее распределение компонентов и простота в изучении — вот, что предлагает Django.

Да, все мы знаем, что выходят новые фреймворки, например, FastAPI, который все увереннее закрепляется на рынке, но сможет ли он похвастаться тем, что имеет Django? Например, для нормальной ORM, если вы не хотите писать напрямую SQL‑запросы конечно же, нужно будет воспользоваться sqlalchemy и alembic. В Django же все проще, создай проект и твори! Есть и плюсы FastAPI, но об этом в другой статье, не будем отходить от темы.

Так вот, есть и не такие «молодые» технологии, например, тот же Flask, тоже хорошо закрепился на рынке и стеке разработчиков, но ситуация очень похожа с FastAPI, не хватает простоты и множества удобств. Та же панель администратора — это что‑то с чем‑то, максимально полезный инструмент, который используются все при создании проектов на Django. Так же, стоит отметить приложения в Django, отличный способ разделять основные модули проекта и не ловить путаницу, опять‑таки, не все могут этим похвастаться. Не стоит и забывать об огромном комьюнити пользователей этого фреймворка, я не раз сталкивался с ошибками и практически все находил на том же Stack Overflow. Еще одна, но значительная плюшка — это неплохой перевод на русский язык.

Читать далее

Сколько стоит Chat GPT?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели95K

А вы знаете, сколько стоит один запрос API Chat GPT?

Что скрывается за этим непонятным словом Tokens(токены)?

И как сделать запрос дешевле?

Узнать подробнее

Как работают select_related и prefetch_related в Django

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели75K

Часто определение разницы между select_related и prefetch_related звучит как “первый для ForeignKey полей, второй для ManyToMany”, однако это описание не раскрывает суть работы этих методов. Ниже я попробовал на примерах показать разницу между этими методами и какое влияние они оказывают на сгенерированный SQL для получения данных.

TLDR: Статья будет в первую очередь полезна тем кто начинает свое знакомство с Django, а также тем, кто использует select_related/prefetch_related в ежедневной работе, но не углублялся в глубь Django.

Читать далее

Быстрый сбор метрик тестов и отображение в Grafana

Время на прочтение3 мин
Охват и читатели8.3K

Да, опять статья про Grafana и визуализацию метрик тестов.

Ваши автотесты интегрированы в CI и рядом лежит TMS (Test Management System), такие как Allure, qase, и так далее, где вы/ваша команда храните тест-кейсы, чек листы и результаты прогонов. По результатам тестирования строятся графики, рисуются цифры и так далее. Но как часто вы смотрите на эти результаты ? Показываете разработчикам, менеджерам? Достаточно ли этих цифр или хочется больше? 

Читать далее

Широка, необъятна, интерактивна: оффлайн карта России с Plotly

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели33K

Привет, Хабр!

На связи участник профессионального сообщества NTA Максим Алёшин.

Сегодня создание интерактивной карты на python не составляет большого труда: стоит подключить библиотеку (например, Folium или Bokeh), указать картографический сервер, и после выполнения нескольких «магических» строк кода ваши данные как на ладони!

Но что делать, если данные есть, визуализировать их хочется, а в сети, в которой вы работаете, нет доступа к картографическим серверам? В этом случае помогут Plotly и GeoPandas. Но придётся провести ряд подготовительных работ. В этом посте шаг за шагом я покажу, как построить интерактивную карту России по регионам с помощью Plotly, которая будет работать без интернета, регистрации и смс.

Оффлайн карта России с Plotly

Как получить доступ к данным Ethereum смарт-контракта в real-time из Python

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.4K

Всем привет! Представим, что вам нужен доступ к данным каких-либо смарт-контрактов на Ethereum (или Polygon, BSC и т.д.), например, Uniswap, SushiSwap, AAVE (или даже PEPE-coin) в реальном времени, чтобы анализировать их с помощью стандартных инструментов дата-аналитиков: Python, Pandas, Matplotlib и т.д. В этом туториале я покажу инструменты для доступа к данным на блокчейне, которые больше похожи на хирургический скальпель (сабграфы The Graph), чем на швейцарский нож (доступ к RPC ноде) или, скажем, молоток (готовые API от компаний-разработчиков). Надеюсь, мои неумелые метафоры вас не пугают. Кому интересно научиться, добро пожаловать под кат.

Под кат

Книга «Data Science в действии»

Время на прочтение8 мин
Охват и читатели7.1K
image Привет, Хаброжители!

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

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

Асинхронные микросервисы на Python

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели21K

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

Почему асинхронность так важна для наших микросервисов? Представьте себе множество людей, ожидающих в лифте – каждый из них хочет двигаться своим темпом, и никто не хочет ждать, когда лифт подойдет к нужному этажу. Так и в мире микросервисов – каждый сервис может заниматься своей задачей, не блокируя другие. Асинхронность позволяет нам этим заниматься: вместо того чтобы ждать ответа от одного сервиса, мы можем отправить запрос другому и эффективно использовать время, пока ждем ответа.

Читать далее

Как Python упрощает жизнь тестировщикам КОМПАС-3D

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.8K

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

Читать далее

Ближайшие события

Быстрые дашборды на Python с помощью DashExpress

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Привет! Эта статья для тех, кто ищет простой и быстрый способ делать полноценные дашборды на python и ad-hoc дашборды прямо в jupiter notebook. А так же для всех, кто интерсуется Plotly Dash.

Поехали

Работа со скрипичной диаграммой (Violin Plot) в Seaborn

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели16K

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

Читать далее

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели50K

Telegram-боты — хорошая возможность вписать какую-то важную функциональность в понятную и простую платформу мессенджера. Не нужно думать об отдельном сайте и интерфейсе. Также боты — хорошая возможность для новичков в разработке реализовать свой мини-проект. Идея может быть как совершенно фановая — например, создавать стикеры из мемных сообщений друзей, так и быть частью функциональности сервиса — например, платежной системы.

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

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →

Использование PostgreSQL Enum в SQLAlchemy. И проблемы с ним

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели20K

В ходе использования postgresql совместно с sqlalchemy я столкнулся с рядом особенностей, которые слабо документированы, о которых мне и хотелось бы поведать

Тут описаны как простые примеры использования, так и решения разнообазных проблем. Так что если вы являетесь пользователем postgresql и sqlalchemy данная статья может значительно упростить вашу жизнь

Читать далее

Прием платежей в крипто валютах в Telegram боте через WalletPay и Python/Flask

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели55K

Приветствую сообщество.

Бот Telegram @wallet недавно предоставил API для приема платежей в сторонних Telegram ботах. Из крипто валют поддерживаются BTC, TON, USDT.

Необходимо зарегистрироваться на сайте, предоставить сведения о подключаемом к API боте, пройти процедуру идентификации (биометрия для физических лиц), дождаться одобрения заявки и назначения размера комиссии для ваших платежей. У меня процедура заняла чуть более суток.

После одобрения заявки получаете доступ в личный кабинет, где нужно сгенерировать ключ для доступа к API WalletPay.

После этого можно приступать к продажам. Покупателю нужно предоставить ссылку для оплаты через WalletPay товаров/услуг вашего бота. Код для получения этой ссылки может быть таким.

Читать далее

Python кодогенерация — ускоряем strftime / strptime

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели3.3K

Привет! В первой и второй частях я поделился историей создания python библиотеки convtools (кратко: позволяет декларативно описывать преобразования данных, из которых генерируются python функции, реализующие заданные преобразования), сейчас расскажу об ускорении частных случаев datetime.strptime и datetime.strftime, а также о том интересном, что встретилось в datetime модуле по дороге.

Читать далее

Как биткоин кошелек с мультиподписью Copay подвергла своих пользователей угрозе

Время на прочтение10 мин
Охват и читатели2.5K

Угроза для пользователей возникла из-за использование типа подписи Биткоина SIGHASH_SINGLE( 0x03)

SIGHASH_SINGLE( 0x03) – это тип подписи подписывает все входы и ровно один соответствующий выход транзакции монет Биткоина. Соответствующий вывод имеет тот же индекс, что и ваша подпись (т. е. если ваш ввод находится на vin 0, то вывод, который вы хотите подписать, должен иметь vout 0). По сути, это говорит: «Я согласен участвовать в этой передаче со всеми этими входами, пока это количество идет на этот один адрес».

Читать далее