Search
80 results for “aiohttp”
-
Tired of missing GitHub PR reviews? I built github-monitor -- a lightweight Linux daemon that watches for PRs assigned to you and sends desktop notifications the moment they land.
Features:
- Desktop notifications with author avatars via notify-send
- System tray indicator with live PR count and clickable PR list
- Runs quietly as a systemd user service -- set it and forget it
- Config reload on SIGHUP, graceful shutdown on SIGTERMUnder the hood:
- Pure async Python (asyncio) -- no threads, no blocking I/O
- aiohttp for GitHub API, dbus-next for session bus IPC
- Daemon exposes live state over D-Bus, indicator connects as a separate process
- Frozen dataclasses, strict mypy, full test coverageBuilt with Python 3.13+, packaged with hatchling, managed with uv.
It's open source and I'd love feedback -- whether it's bug reports, feature ideas, or contributions!
https://github.com/dvoraj75/github-monitor
#Python #Linux #OpenSource #GitHub #AsyncPython #DBus #Systemd
-
Оптимизация асинхронного сервиса на Python
Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса. Небольшое предисловие: мы в Иви постоянно работаем над тем, чтобы наши сервисы отвечали быстро и их максимальная предельная нагрузка повышалась. В процессе очередного анализа сервисов, мы выяснили, что один из них, о котором пойдет речь в статье, отвечает довольно медленно, учитывая его особенности. И мы решили его ускорять.
https://habr.com/ru/companies/ivi/articles/920850/
#python #asyncio #aiohttp #асинхронное_программирование #телеметрия #оптимизация #время_ответа #профилирование #orjson
-
Оптимизация асинхронного сервиса на Python
Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса. Небольшое предисловие: мы в Иви постоянно работаем над тем, чтобы наши сервисы отвечали быстро и их максимальная предельная нагрузка повышалась. В процессе очередного анализа сервисов, мы выяснили, что один из них, о котором пойдет речь в статье, отвечает довольно медленно, учитывая его особенности. И мы решили его ускорять.
https://habr.com/ru/companies/ivi/articles/920850/
#python #asyncio #aiohttp #асинхронное_программирование #телеметрия #оптимизация #время_ответа #профилирование #orjson
-
Оптимизация асинхронного сервиса на Python
Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса. Небольшое предисловие: мы в Иви постоянно работаем над тем, чтобы наши сервисы отвечали быстро и их максимальная предельная нагрузка повышалась. В процессе очередного анализа сервисов, мы выяснили, что один из них, о котором пойдет речь в статье, отвечает довольно медленно, учитывая его особенности. И мы решили его ускорять.
https://habr.com/ru/companies/ivi/articles/920850/
#python #asyncio #aiohttp #асинхронное_программирование #телеметрия #оптимизация #время_ответа #профилирование #orjson
-
Оптимизация асинхронного сервиса на Python
Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса. Небольшое предисловие: мы в Иви постоянно работаем над тем, чтобы наши сервисы отвечали быстро и их максимальная предельная нагрузка повышалась. В процессе очередного анализа сервисов, мы выяснили, что один из них, о котором пойдет речь в статье, отвечает довольно медленно, учитывая его особенности. И мы решили его ускорять.
https://habr.com/ru/companies/ivi/articles/920850/
#python #asyncio #aiohttp #асинхронное_программирование #телеметрия #оптимизация #время_ответа #профилирование #orjson
-
Опыт разработки picows: самые быстрые вебсокеты для asyncio
Всем привет! Меня зовут Тарас, я автор библиотеки picows — ультрабыстрых вебсокетов для asyncio . В этой статье я расскажу, почему вообще появилась ещё одна библиотека для вебсокетов, покажу результаты бенчмарков и заодно порассуждаю о производительности в asyncio. Предистория В далёком-предалёком 2021 году мне довелось поучаствовать в разработке алготрейдинг-платформы для криптовалютных бирж. Выбор языка пал на Python из-за разнообразия ML-библиотек, возможность быстро собирать прототипы и проверять идеи, отсутствия этапа компиляции и в целом наличия богатой экосистемы. Если какая-то идея взлетит, критичный участок всегда можно оптимизировать, хотя бы частично переписав его на C/C++/Cython.
https://habr.com/ru/articles/1025286/
#websockets #python #asyncio #optimization #client #server #picows #aiohttp #benchmark #low_latency
-
Анализируем MLP сообщество на Пикабу или как я спарсил 65 тысяч постов с Pikabu и построил интерактивный дашборд
Дело было вечером, делать было нечего... Я, как и многие в IT, периодически просматриваю вакансии, чтобы держать руку на пульсе рынка. И знаете, что бросается в глаза? Огромное количество позиций "Аналитик данных". Хоть это и не моя основная специализация (я больше по ML), теоретическая база у меня есть. И вот я подумал: а как бы мне сделать интересный пет-проект в этой области, чтобы и навыки прокачать, и самому не заскучать?
https://habr.com/ru/articles/968106/
#python #парсинг #data_analysis #streamlit #дэшборд #пикабу #aiohttp #визуализация_данных #петпроект #plotly
-
Опыт разработки picows: самые быстрые вебсокеты для asyncio
Всем привет! Меня зовут Тарас, я автор библиотеки picows — ультрабыстрых вебсокетов для asyncio . В этой статье я расскажу, почему вообще появилась ещё одна библиотека для вебсокетов, покажу результаты бенчмарков и заодно порассуждаю о производительности в asyncio. Предистория В далёком-предалёком 2021 году мне довелось поучаствовать в разработке алготрейдинг-платформы для криптовалютных бирж. Выбор языка пал на Python из-за разнообразия ML-библиотек, возможность быстро собирать прототипы и проверять идеи, отсутствия этапа компиляции и в целом наличия богатой экосистемы. Если какая-то идея взлетит, критичный участок всегда можно оптимизировать, хотя бы частично переписав его на C/C++/Cython.
https://habr.com/ru/articles/1025286/
#websockets #python #asyncio #optimization #client #server #picows #aiohttp #benchmark #low_latency
-
Опыт разработки picows: самые быстрые вебсокеты для asyncio
Всем привет! Меня зовут Тарас, я автор библиотеки picows — ультрабыстрых вебсокетов для asyncio . В этой статье я расскажу, почему вообще появилась ещё одна библиотека для вебсокетов, покажу результаты бенчмарков и заодно порассуждаю о производительности в asyncio. Предистория В далёком-предалёком 2021 году мне довелось поучаствовать в разработке алготрейдинг-платформы для криптовалютных бирж. Выбор языка пал на Python из-за разнообразия ML-библиотек, возможность быстро собирать прототипы и проверять идеи, отсутствия этапа компиляции и в целом наличия богатой экосистемы. Если какая-то идея взлетит, критичный участок всегда можно оптимизировать, хотя бы частично переписав его на C/C++/Cython.
https://habr.com/ru/articles/1025286/
#websockets #python #asyncio #optimization #client #server #picows #aiohttp #benchmark #low_latency
-
Опыт разработки picows: самые быстрые вебсокеты для asyncio
Всем привет! Меня зовут Тарас, я автор библиотеки picows — ультрабыстрых вебсокетов для asyncio . В этой статье я расскажу, почему вообще появилась ещё одна библиотека для вебсокетов, покажу результаты бенчмарков и заодно порассуждаю о производительности в asyncio. Предистория В далёком-предалёком 2021 году мне довелось поучаствовать в разработке алготрейдинг-платформы для криптовалютных бирж. Выбор языка пал на Python из-за разнообразия ML-библиотек, возможность быстро собирать прототипы и проверять идеи, отсутствия этапа компиляции и в целом наличия богатой экосистемы. Если какая-то идея взлетит, критичный участок всегда можно оптимизировать, хотя бы частично переписав его на C/C++/Cython.
https://habr.com/ru/articles/1025286/
#websockets #python #asyncio #optimization #client #server #picows #aiohttp #benchmark #low_latency
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
State of client side HTTP in #python
- stdlib http.client - HTTP/1.1 only, docs recommend to use requests instead.
- requests - poorly maintained, in 2020 stopped working when servers deprecated older TLS versions. HTTP/1.1 only, sync only
- #httpx - comparatively slow and API design is driven by compatibility with browsers. Some users plug-in aiohttp for better performance. Supports HTTP/2 but it's discouraged as not optimized.
- #aiohttp - good API, both client and server but seems more focused on the server side; HTTP/1.1 only.
- #niquests - async fork of requests with HTTP/2, but uses forked urllib3 with the same package name as the original, which messes up deployment.
- #aioquic - client & server, HTTP/3 only🤦
-
Как я устал дебажить MAX API, отреверсил их вебхуки и отучил Cursor галлюцинировать
Как я устал дебажить MAX API, отреверсил их вебхуки и отучил Cursor галлюцинировать Когда я писал своего первого более-менее серьезного бота под Max, случилась классика. Я и мой ИИ-ассистент (Cursor) пишем код, строго опираясь на официальную документацию Max API. Запускаю — падает. Сижу по 5-6 итераций, пытаюсь отдебажить базовый функционал, который под ту же Телегу пишется с закрытыми глазами. В какой-то момент меня это достало. Я понял, что проблема не во мне и не в галлюцинациях нейронки. Я просто включил логирование всех входящих POST-запросов и стал дампить реальные вебхуки, которые прилетают от серверов Max. Открыв логи, я понял, почему мы так долго буксовали: то, что написано в документации, и то, что прилетает по факту — это две большие разницы. А слепая привычка писать архитектуру под Telegram Bot API делает только хуже. Различия с официальной документацией Max API (Docs vs Реальность) Вскрываем реальные вебхуки Max API
https://habr.com/ru/articles/1005282/
#python #template #boilerplate #chatbot #aiohttp #asyncio #maxapi #maxmessenger #telegram #telegram_bots
-
I might be looking for one or more coding buddies for a modest after work #python #game project.
Especially someone who can support keeping me organized and motivated. Both are hard with ADHD.
No need to be a professional it is meant for fun and learning. Ideally, we can learn from each other while having fun #codingtogether.
Moderate Python skills needed. German or English speaker. No Vibe coding.
Here is my pitch:
I miss the old browser games of 10-20 years ago without all sorts of fancy frontend nonsense.
Animations, graphics, overbearing JS, Flash or similar. I'd like to do a very toned-down CLI style UX.
Maybe some #asciiart.
And I'd like to use and improve my #async programming skills as well as try out/showcase the #textual library.
I have also wanted to build something on top of the Space Traders API for a while.
I have been a developer on the #OGame Team for a while and have worked on porting old browser games to newer PHP versions before.
I have been an OGame player for about a decade.
I have 20 years of experience in web development in PHP.
Here is my proposed Stack:
* Python 3.10 or above
* Textual Frontend
* AioHTTP via OpenApi Generator
* SQLite / SqlAlchemy for local storage
* Space Traders API
* Bonus points for hosting the app on a server with textual-serve or textual-web. -
I might be looking for one or more coding buddies for a modest after work #python #game project.
Especially someone who can support keeping me organized and motivated. Both are hard with ADHD.
No need to be a professional it is meant for fun and learning. Ideally, we can learn from each other while having fun #codingtogether.
Moderate Python skills needed. German or English speaker. No Vibe coding.
Here is my pitch:
I miss the old browser games of 10-20 years ago without all sorts of fancy frontend nonsense.
Animations, graphics, overbearing JS, Flash or similar. I'd like to do a very toned-down CLI style UX.
Maybe some #asciiart.
And I'd like to use and improve my #async programming skills as well as try out/showcase the #textual library.
I have also wanted to build something on top of the Space Traders API for a while.
I have been a developer on the #OGame Team for a while and have worked on porting old browser games to newer PHP versions before.
I have been an OGame player for about a decade.
I have 20 years of experience in web development in PHP.
Here is my proposed Stack:
* Python 3.10 or above
* Textual Frontend
* AioHTTP via OpenApi Generator
* SQLite / SqlAlchemy for local storage
* Space Traders API
* Bonus points for hosting the app on a server with textual-serve or textual-web. -
I might be looking for one or more coding buddies for a modest after work #python #game project.
Especially someone who can support keeping me organized and motivated. Both are hard with ADHD.
No need to be a professional it is meant for fun and learning. Ideally, we can learn from each other while having fun #codingtogether.
Moderate Python skills needed. German or English speaker. No Vibe coding.
Here is my pitch:
I miss the old browser games of 10-20 years ago without all sorts of fancy frontend nonsense.
Animations, graphics, overbearing JS, Flash or similar. I'd like to do a very toned-down CLI style UX.
Maybe some #asciiart.
And I'd like to use and improve my #async programming skills as well as try out/showcase the #textual library.
I have also wanted to build something on top of the Space Traders API for a while.
I have been a developer on the #OGame Team for a while and have worked on porting old browser games to newer PHP versions before.
I have been an OGame player for about a decade.
I have 20 years of experience in web development in PHP.
Here is my proposed Stack:
* Python 3.10 or above
* Textual Frontend
* AioHTTP via OpenApi Generator
* SQLite / SqlAlchemy for local storage
* Space Traders API
* Bonus points for hosting the app on a server with textual-serve or textual-web. -
I might be looking for one or more coding buddies for a modest after work #python #game project.
Especially someone who can support keeping me organized and motivated. Both are hard with ADHD.
No need to be a professional it is meant for fun and learning. Ideally, we can learn from each other while having fun #codingtogether.
Moderate Python skills needed. German or English speaker. No Vibe coding.
Here is my pitch:
I miss the old browser games of 10-20 years ago without all sorts of fancy frontend nonsense.
Animations, graphics, overbearing JS, Flash or similar. I'd like to do a very toned-down CLI style UX.
Maybe some #asciiart.
And I'd like to use and improve my #async programming skills as well as try out/showcase the #textual library.
I have also wanted to build something on top of the Space Traders API for a while.
I have been a developer on the #OGame Team for a while and have worked on porting old browser games to newer PHP versions before.
I have been an OGame player for about a decade.
I have 20 years of experience in web development in PHP.
Here is my proposed Stack:
* Python 3.10 or above
* Textual Frontend
* AioHTTP via OpenApi Generator
* SQLite / SqlAlchemy for local storage
* Space Traders API
* Bonus points for hosting the app on a server with textual-serve or textual-web. -
Let's see if I can get a list of the projects who are planning on sprinting at #PyConUS this week:
* @beeware (Room 317)
* @pyladiescon Web Portal
* Pallets Projects (#Flask, #Jinja, etc.)
* #GNU #Mailman (Room 310)
* Project Mesa
* Read The Docs
* SOSW
* @blackpythondevs Website
* Core #CPython (2 rooms)
* Python Community and Conference Organizers Kit (Room 310)
* Python Packaging
* @aio_libs / @aiohttp
* Free Threaded Python Community Support(continued in replies)
-
If you work with #NVD, note that CPEs in NVD are subject to change. I've just discovered that a lot of CPE bindings in #Repology are outdated due to changes in CPE vendors and products (aiohttp_project:aiohttp -> aiohttp:aiohttp, stlport:stlport → stlport_project:stlport, soundexchange:sound_exchange → sox_project:sox etc). If you maintain CPE bindings for any purpose, you should revisit and update them.
-
The #python library #aiohttp uses #yarl for URLs internally, and yarl normalizes URLs by default. It silently decodes some %-encoded characters in the query string that do not strictly need to be encoded.
Sounds harmless, but it isn't. Changing the URL breaks any protocol that signs important aspects of a HTTP request for security.
Took me a while to find this bug. I usually expect an HTTP client library to not silently manipulate the URLs before sending a request. Smarter is not always better
-
Почему простой парсер не всегда решает задачу: мой опыт интеграции спортивных API
В рамках собственной системы спортивной аналитики я хотел получить real-time доступ к данным о движении коэффициентов — в частности, с платформы pickingodds.com. У сервиса интересная фича — визуализация графика изменения линии по каждому событию. Это потенциально полезный источник вторичных сигналов (например, для обнаружения аномалий, связанных с резкой коррекцией маркет-мейкеров). Изначальный план был прост: интегрироваться по REST API, выкачивать данные раз в несколько минут, писать в TSDB, использовать далее для анализа и фичей в ML-пайплайнах. На практике же всё быстро ушло в зону нетривиальной оптимизации.
https://habr.com/ru/articles/930360/
#pickingodds #коэффициенты_ставок #асинхронный_парсинг #rate_limiting #aiohttp #Redis #Kafka #TimescaleDB #LightGBM #ML_фильтрация_событий
-
Асинхронный Telegram бот на PyTelegramBotAPI
В сети куча туториалов по синхронным ботам и почти ничего по асинхронным. Статья нацелена на новичков в асинхронном программировании в целом и в асинхронных ботах в частности. В этой статье не будет глубокого анализа асинхронности и технических деталей реализации со сложными терминами, только суть и практические примеры.
https://habr.com/ru/articles/929990/
#туториал #асинхронность #python #telebot #telegram #aiohttp
-
Я устал от ограничений Strava и написал свой «швейцарский нож» для анализа тренировок на Python и FastAPI
Всем привет! Я — разработчик и велосипедист, которому надоели ограничения Strava. Знакомы боли: GPS‑треки с «телепортами», платный анализ по зонам и неудобная загрузка сегментов на Garmin? Я решил исправить это и написал свой «швейцарский нож» для анализа тренировок. Под катом — история создания pet‑проекта Peakline на Python, FastAPI и Vanilla JS. Расскажу, как устроен продвинутый FIT‑генератор для гонок с «призраком», как визуализировать исправление «сломанных» GPX‑треков и как заставить график и карту работать в связке. Поделюсь фрагментами кода, архитектурными решениями и подводными камнями при работе с API Strava. Узнать, как это сделано
https://habr.com/ru/articles/920402/
#strava #fastapi #python #garmin #fit #gps #gpx #api #aiohttp
-
🚀 aiohttp 3.12.4 is out! 🐛 Bug fix: connector now properly waits for connections to close before returning from close(). Thanks to github.com/atemate! #aiohttp #python github.com/aio-libs/aio...
Release 3.12.4 · aio-libs/aioh... -
aiohttp 3.12.2 is out! Fixes Content-Length header regression for non-GET requests with None body. Now correctly sets to 0. #python #aiohttp github.com/aio-libs/aio...
Release 3.12.2 · aio-libs/aioh...