Yanked
This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 2.10.2 instead.
Reason given by maintainers: no features released (use 2.10.1)
itd-sdk
SDK для работы с https://xn--d1ah4a.com на python.
Документация: https://itdsdk.qzz.io/docs (wip)
Установка
uv add itd-sdk
или через pip:
pip install itd-sdk
Вход
Сейчас есть 3 способа авторизации в SDK:
- Без авторизации. Доступен поиск и хэштэги.
- Авторизация через
access_token. Доступны все запросы кроме тех, которые связаны с авторизацией. Токен действует 15 минут. - Авторизация через
refresh_token. Доступны все запросы. Токен действует 7 дней.
Получение refresh_token
- Откройте итд.com в браузере
- Откройте DevTools (F12)
- Перейдите на вкладку "Network" \ "Сеть"
- Обновите страницу
- Найдите запрос к
/v1/auth/refresh - Скопируйте значение refresh_token из Cookies \ Куки
Получение access_token
- Откройте итд.com в браузере
- Откройте DevTools (F12)
- Перейдите на вкладку "Network" \ "Сеть"
- Откройте любой запрос (если запросов нету, подождите 1-3сек - итд постоянно посылает запросы на обновление статистики постов)
- Скопируйте значение authozation из Request headers \ Заголовки запроса
API
from itd import ITDClient, init_client, Me, User, Post, Posts, File, Hashtag, Notifications
init_client() # попросит ввести refresh token в консоли
ITDClient(access='access token') # через access token
ITDClient('refresh token') # одноразовая инициализация (не рекомендуется)
me = Me() # получить себя
me.privacy.update(is_private=True)
user = User('itd_sdk') # получить пользователя
user.follow()
post = Post('725681ba-2aaa-42d8-87fb-490c0f44e162') # получить пост
post.like()
post.add_comment('тест комент 6 7')
Post('02bcbba4-f365-4b98-9291-d0bc1fb36fe4').poll.vote('тест') # голосования в опросах
posts = Posts() # получить посты из ленты
for i, post in enumerate(Posts()):
post.like() # встроенные защиты, из-за которых рейт-лимит будет получить сложнее + авто ожидание окончания рейт лимита
if i > 10:
break
post = user.posts[5] # индексация, авто-получение до нужного значения
post.repost()
file = File.from_path('1.jpg') # загрузка файлов
Post.new('всем привет!', attachments=file) # attachments может быть списком, файлом, или UUID
hashtag = Hashtag('тестапи') # получить данные хэштэга
print(hashtag.posts_count)
hashtag.posts[0].like()
notifications = Notifications() # получить уведы
notifications[30].read()
notifications.read_all()
for notification in notifications.stream(): # SSE уведомлений
print(notification.type.value)
break
def on_like(notification):
print('лайк от', notification.actor.username)
notifications.stop_stream()
notifications.on_like = on_like
stream = notifications.stream_bg() # background SSE
Весь API - https://itdsdk.qzz.io/docs/
Прочее
Star History
Metadata
Release files for itd-sdk 2.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| itd_sdk-2.10.0.tar.gz | 64.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| itd_sdk-2.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 152.2 kB
Release files / itd_sdk-2.10.0.tar.gz
| Download URL | itd_sdk-2.10.0.tar.gz |
|---|---|
| Size | 64.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a8e5f258f7a42864309000da0e620419551f8304776376fca7eb8e9980fa82e
|
|
BLAKE2b-256 checksum How to use checksums |
b8ed4c7aa014ef17982649061ec8806e277078841beb99c01333494049744cb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / itd_sdk-2.10.0-py3-none-any.whl
| Download URL | itd_sdk-2.10.0-py3-none-any.whl |
|---|---|
| Size | 87.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9693387ccf796214b0a8e3346bee0fc94c486002901d4035de4d705d440fc8f2
|
|
BLAKE2b-256 checksum How to use checksums |
7922347818aef6881d26e9d7cdbc97b28d31f42a5da3277f066b275f4e30c623
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|