Skip to main content

DepsPy

Асинхронная библиотека для работы с Deps API на Python.

Установка

pip install depspy

Использование

import asyncio
from depspy import DepsClient

async def main():
    async with DepsClient("YOUR_API_KEY") as client:
        player = await client.get_player("Nicolas_Reed", 5)
        if player:
            print(player)
        online = await client.get_online_players(5)
        if online and online.data:
            print(f"Онлайн игроков: {len(online.data)}")
        fractions = await client.get_fractions(5)
        if fractions and fractions.data:
            print(f"Доступно {len(fractions.data)} фракций: {fractions.data}")
        if fractions and fractions.data:
            for fraction_id in fractions.data:
                try:
                    fraction_online = await client.get_fraction_online(5, fraction_id)
                    if fraction_online and fraction_online.data:
                        print(f"Онлайн во фракции '{fraction_id}': {len(fraction_online.data)}")
                except Exception as e:
                    print(f"Не удалось получить онлайн для фракции '{fraction_id}': {e}")

if __name__ == "__main__":
    asyncio.run(main())

Особенности

  • Полностью асинхронный API
  • Автоматическая обработка ошибок
  • Поддержка корпоративных ключей
  • Автоматические повторные попытки при ошибках
  • Типизация данных с помощью Pydantic
  • Поддержка контекстного менеджера
  • Встроенное кэширование запросов
  • Валидация входных данных
  • Подробное логирование
  • Поддержка прокси
  • Настраиваемые таймауты
  • SSL верификация

Методы API

Основные методы

  • get_player(nickname: str, server_id: int) - Получение информации об игроке
  • get_interviews(server_id: int) - Получение информации о собеседованиях
  • get_online_players(server_id: int) - Получение списка онлайн игроков
  • get_fractions(server_id: int) - Получение списка фракций
  • get_fraction_online(server_id: int, fraction_id: str) - Получение онлайн игроков фракции
  • get_admins(server_id: int) - Получение списка администраторов
  • get_status() - Получение статуса серверов

Дополнительные методы

  • get_player_by_id(player_id: int, server_id: int) - Получение информации об игроке по ID
  • get_server_info(server_id: int) - Получение информации о сервере
  • get_online_count(server_id: int) - Получение количества онлайн игроков
  • get_fraction_members_count(server_id: int, fraction_id: str) - Получение количества игроков во фракции
  • is_player_online(nickname: str, server_id: int) - Проверка онлайн статуса игрока
  • get_player_level(nickname: str, server_id: int) - Получение уровня игрока
  • get_player_money(nickname: str, server_id: int) - Получение информации о деньгах игрока
  • get_player_organization(nickname: str, server_id: int) - Получение информации об организации игрока
  • get_player_property(nickname: str, server_id: int) - Получение информации о собственности игрока
  • get_player_vip_info(nickname: str, server_id: int) - Получение VIP информации игрока

Обработка ошибок

Библиотека предоставляет следующие исключения:

Основные ошибки

  • UnauthorizedError - Ошибка авторизации
  • RateLimitError - Превышен лимит запросов
  • PlayerNotFoundError - Игрок не найден
  • ServerNotFoundError - Сервер не найден
  • APIError - Общая ошибка API

Дополнительные ошибки

  • InvalidAPIKeyError - Недействительный API ключ
  • ExpiredAPIKeyError - Истекший API ключ
  • InsufficientPermissionsError - Недостаточно прав
  • InvalidServerIDError - Недействительный ID сервера
  • InvalidNicknameError - Недействительный никнейм
  • InvalidFractionIDError - Недействительный ID фракции
  • ValidationError - Ошибка валидации данных
  • MaintenanceError - API на обслуживании
  • TimeoutError - Таймаут запроса
  • ConnectionError - Ошибка соединения
  • ProxyError - Ошибка прокси
  • SSLError - Ошибка SSL
  • DNSResolutionError - Ошибка разрешения DNS

Настройка клиента

client = DepsClient(
    api_key="YOUR_API_KEY",
    corporate_key=False,  # Использовать корпоративный ключ
    base_url="https://api.depscian.tech/v2",  # Базовый URL API
    timeout=30,  # Таймаут запросов в секундах
    max_retries=3,  # Максимальное количество попыток
    cache_ttl=300,  # Время жизни кэша в секундах
    proxy="http://proxy.example.com:8080",  # Прокси сервер
    verify_ssl=True,  # Проверка SSL сертификата
    log_level=logging.INFO  # Уровень логирования
)

Требования

  • Python 3.8+
  • aiohttp>=3.8.0
  • pydantic>=2.0.0

Metadata

Release files for depspy 1.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for depspy 1.3.2
File Size Uploaded
depspy-1.3.2.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for depspy 1.3.2
File Interpreter ABI Platform
depspy-1.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 22.1 kB

Release files / depspy-1.3.2.tar.gz

Download URL depspy-1.3.2.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f8738f6708ece1f94abe07310a132822057a04bf5e70296042f38692abf13df8
BLAKE2b-256 checksum
How to use checksums
198ef5c6dc95479de1b2daec9bcb0338cebe96566e00380656161b92a4f6357e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release files / depspy-1.3.2-py3-none-any.whl

Download URL depspy-1.3.2-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a0bd8268c9c896e7be48e5f422831842ae74c961400e024df1daeb2fcbd2958
BLAKE2b-256 checksum
How to use checksums
9a0c4d537feadfc840e53cf19f8a7672701f4b592861bd7482d145842adb3703
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page