SDK для разработки инструментов на базе Avito API
Project description
SDK для Avito
avito-py — Python SDK для работы с Avito API через единый объектный фасад AvitoClient.
Цели SDK:
- скрыть transport, OAuth и retry-логику от пользовательского кода;
- возвращать типизированные
dataclass-модели вместо сырого JSON; - дать единый вход в доменные сценарии вида
avito.ad(...).get()иavito.chat(...).send_message(...); - покрыть все swagger-документы из каталога docs.
Установка
poetry add avito-py
или
pip install avito-py
Быстрый старт
from avito import AvitoClient
with AvitoClient() as avito:
profile = avito.account().get_self()
ad = avito.ad(42).get()
print(profile.name)
print(ad.title)
По умолчанию настройки читаются из переменных окружения с префиксом AVITO_.
Базовые переменные:
AVITO_AUTH__CLIENT_IDAVITO_AUTH__CLIENT_SECRETAVITO_AUTH__REFRESH_TOKENAVITO_BASE_URL
Примеры по доменам
Аккаунт и объявления
from avito import AvitoClient
with AvitoClient() as avito:
account = avito.account(user_id=123)
balance = account.get_balance()
ad = avito.ad(item_id=42, user_id=123).get()
stats = avito.ad_stats(item_id=42, user_id=123).get()
Автозагрузка
from avito import AvitoClient
with AvitoClient() as avito:
profile = avito.autoload_profile(user_id=123).get()
report = avito.autoload_report(report_id=777).get()
Мессенджер
from avito import AvitoClient
with AvitoClient() as avito:
chats = avito.chat(user_id=123).list()
message = avito.chat(chat_id="chat-1", user_id=123).send_message(message="Здравствуйте")
subscriptions = avito.chat_webhook().list()
Продвижение
from avito import AvitoClient
with AvitoClient() as avito:
services = avito.promotion_order().list_orders()
forecast = avito.bbip_promotion(item_id=42).get_forecasts(items=[])
campaign = avito.autostrategy_campaign(campaign_id=15).get()
Заказы и доставка
from avito import AvitoClient
with AvitoClient() as avito:
order = avito.order(order_id=100500).get()
label = avito.order_label(task_id="task-1").download()
sandbox = avito.sandbox_delivery(task_id="task-1").get()
Работа
from avito import AvitoClient
with AvitoClient() as avito:
vacancies = avito.vacancy().list()
applications = avito.application().list()
webhooks = avito.job_webhook().list()
CPA и CallTracking
from avito import AvitoClient
with AvitoClient() as avito:
calls = avito.cpa_call().list()
records = avito.call_tracking_call(call_id=10).download()
Автотека
from avito import AvitoClient
with AvitoClient() as avito:
preview = avito.autoteka_vehicle().create_preview_by_vin(payload={"vin": "XTA00000000000000"})
report = avito.autoteka_report(report_id=preview.preview_id).get_report()
Недвижимость, отзывы и тарифы
from avito import AvitoClient
with AvitoClient() as avito:
bookings = avito.realty_booking().list()
reviews = avito.review().list_reviews_v1()
tariff = avito.tariff().get_tariff_info()
Отладка интеграции
SDK не раскрывает сырой transport в основном API, но даёт безопасный debug snapshot без секретов:
from avito import AvitoClient
client = AvitoClient()
info = client.debug_info()
print(info.base_url)
print(info.retry_max_attempts)
client.close()
debug_info() подходит для smoke-проверок окружения и диагностики конфигурации. Access token, client_secret и Authorization header в этот снимок не попадают.
Проверки качества
Минимальный релизный набор:
poetry run pytest
poetry run mypy avito
poetry run ruff check .
poetry build
Документация репозитория
- STYLEGUIDE.md — нормативные архитектурные правила.
- TODO.md — этапы реализации и релизный gate.
- docs/inventory.md — матрица соответствия swagger-операций и публичного API SDK.
- docs/release.md — политика changelog и checklist релиза.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file avito_py-1.0.1.tar.gz.
File metadata
- Download URL: avito_py-1.0.1.tar.gz
- Upload date:
- Size: 64.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.3 Darwin/24.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6506ba4abee9cafaca31b654fba11153c37cab4b848d8efb76d47a8d3259c49
|
|
| MD5 |
95e63788e3779c9c47bc732548aa8047
|
|
| BLAKE2b-256 |
7ed80cc0a668bbd7ed7ae053d0e12664dd941e316e3e4f6d7c496a0b7cf1ce2a
|
File details
Details for the file avito_py-1.0.1-py3-none-any.whl.
File metadata
- Download URL: avito_py-1.0.1-py3-none-any.whl
- Upload date:
- Size: 103.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.3 Darwin/24.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cdc60a7842f91480e1f9efc50973a095e44cb9ab41c9070ca768c955acd63f7
|
|
| MD5 |
a93aeecbb6a157b42878d28599bee763
|
|
| BLAKE2b-256 |
aa6b9d9debeadaef88b611b9f17610c79fed783391db91b2e894f626000c6c5d
|