Python SDK для Dev API и Bot API Hudle
Project description
hudle-sdk
Python SDK для Dev API и Bot API Hudle.
Установка
pip install hudle-sdk
Установка из локального исходника
pip install -e /path/to/lumina/hudle-sdk
Быстрый старт
from hudle_sdk import HudleSDK
sdk = HudleSDK(
base_url="https://app.hudle.ru/api",
dev_jwt="<dev-jwt>",
bot_token="<bot-token>",
timeout=20,
max_retries=4,
backoff_factor=0.35,
pool_connections=20,
pool_maxsize=100,
)
# Dev API
app = sdk.dev.create_app(name="CRM Уведомления", description="Интеграция с CRM")
bot = sdk.dev.create_bot(app_id=app["id"], name="Lumos Team Bot", username="lumos_team_bot")
sdk.dev.install_bot_to_server(server_id=12, bot_id=bot["bot"]["id"])
# Bot API
sdk.bot.send_message(chat_id="channel:503", text="привет от hudle-sdk")
Производительность транспорта
SDK использует requests.Session с:
- постоянными HTTP-соединениями (pooling)
- автоматическими повторными попытками (429/5xx и сетевые ошибки)
- настраиваемыми таймаутами, retry, backoff и размером пула
Режимы авторизации для Bot API
По умолчанию SDK вызывает:
POST /api/bot/<method>+Authorization: Bot <token>
Можно переключиться в режим токена в пути:
sdk = HudleSDK(
base_url="https://app.hudle.ru/api",
bot_token="<bot-token>",
use_path_token_for_bot_api=True,
)
Тогда вызовы идут в:
POST /api/bot/<token>/<method>
Основные компоненты
HudleSDK: фасад с клиентамиdevиbot.HudleDevApi: обёртки для/api/dev/*и/api/servers/*/bots.HudleBotApi: обёртки для/api/bot/*.HttpTransport: общий HTTP-слой с парсингом JSON и обработкой ошибок.
Обработка ошибок
SDK выбрасывает:
HudleSdkError(базовая)HttpRequestError(сетевая/HTTP-ошибка)DevApiError(логические ошибки Dev API)BotApiError(ошибки Bot API сok: false)
Поддерживаемые методы
Dev API
create_app/create_applicationlist_apps/list_applicationsupdate_app/update_applicationcreate_botget_botupdate_botrotate_bot_tokendisable_botinstall_bot_to_server/install_botremove_bot_from_server/remove_botraw_request(низкоуровневый вызов)
Bot API
call(универсальный вызов метода)get_melog_outcloseget_updatesiter_updatesset_webhookget_webhook_infodelete_webhookset_my_commandsget_my_commandsdelete_my_commandsset_event_subscriptionsget_event_subscriptionsdelete_event_subscriptionsget_chatget_chat_memberget_chat_administratorsget_chat_member_countset_chat_titleset_chat_descriptionset_chat_photodelete_chat_photoleave_chatexport_chat_invite_linkcreate_chat_invite_linkedit_chat_invite_linkrevoke_chat_invite_linksend_chat_actionsend_messageforward_messagecopy_messagesend_photosend_videosend_audiosend_documentsend_voicesend_animationsend_video_notesend_media_groupsend_locationedit_message_live_locationstop_message_live_locationsend_venuesend_contactedit_message_textedit_message_captionedit_message_mediaedit_message_reply_markupdelete_messageget_user_profile_photosget_fileban_chat_memberunban_chat_memberrestrict_chat_memberpromote_chat_memberpin_chat_messageunpin_chat_messageunpin_all_chat_messagesset_message_reaction
Идемпотентность
send_message поддерживает идемпотентность:
sdk.bot.send_message(
chat_id="channel:503",
text="событие без дублей",
idempotency_key="ticket:9d5c...:created",
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hudle_sdk-0.1.1.tar.gz
(11.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
hudle_sdk-0.1.1-py3-none-any.whl
(11.5 kB
view details)
File details
Details for the file hudle_sdk-0.1.1.tar.gz.
File metadata
- Download URL: hudle_sdk-0.1.1.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69fd88aa67ad2e2159b5bdf8d80911c58e2cc0b625cb157ab9f49346cb2c0176
|
|
| MD5 |
968f6113864da2a6c3835818570c6593
|
|
| BLAKE2b-256 |
edf342fd8fd641c7cc73de7eea1582989d8113fbc8c7cbc91cfdddef01f384fa
|
File details
Details for the file hudle_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hudle_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b00b83694e31be7f934b3b379748e5b721564aed5249799df3bbe6ef1983f8d6
|
|
| MD5 |
706c3108aaa3d17643c6f3b98681bbc8
|
|
| BLAKE2b-256 |
356a1a4f574289e05ddf118dbe7cd5afe0a00ba7df664d9afe41ace63548b086
|