Metadata-Version: 2.4
Name: AssistagroAPI
Version: 0.2.4
Summary: Async HTTP client for AssistAgro API
Author-email: Dmitriy Kazakov <dmitriyfile@yandex.ru>
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pydantic-settings>=2.13.1
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: python-dotenv>=1.0.0

# AssistAgro API Client

Асинхронный HTTP-клиент для AssistAgro API.

## Установка

```bash
pip install assistagro-client
```

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

```python
import asyncio
from assistagro_client import AssistAgroClient

async def main():
    async with AssistAgroClient(base_url="https://dev-gateway-frontend.agroassist.ru") as client:
        tokens = await client.auth.sign_in(
            email="user@example.com",
            password="password123"
        )
        print(f"Access token: {tokens.access_token[:20]}...")

        fields = await client.fields.list_()
        print(f"Найдено полей: {len(fields)}")

        tasks = await client.tasks.list_(limit=10)
        print(f"Найдено задач: {len(tasks)}")

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

## API эндпоинты

- **auth** - Аутентификация (sign_in, refresh_tokens, logout)
- **accounts** - Профили пользователей и аккаунты
- **companies** - Управление компаниями
- **fields** - Поля и контуры
- **tasks** - Управление задачами
- **techmaps** - Технологические карты
- **reports** - Отчёты
- **dictionaries** - Справочники (культуры, пестициды и т.д.)
- **meteostations** - Метеостанции
- **structures** - Структуры

## Разработка

```bash
# Установить зависимости
uv sync

# Запустить тесты
uv run pytest

# Запустить линтер
uv run ruff check .
```

## Лицензия

MIT
