Features: - Full async API client for Kwork.ru - Pydantic models for type-safe responses - Comprehensive error handling - 93% test coverage CI/CD: - Parallel workflow jobs (lint, test, security) - Ruff for linting and formatting - MyPy for static type checking - pip-audit for security scanning - Pre-commit hooks for code quality
48 lines
1.0 KiB
Markdown
48 lines
1.0 KiB
Markdown
# Kwork API
|
|
|
|
Unofficial Python client for Kwork.ru API.
|
|
|
|
## Features
|
|
|
|
- Complete async API client (45+ endpoints)
|
|
- Pydantic models for all responses
|
|
- Two-step authentication (cookies + web_auth_token)
|
|
- Comprehensive error handling
|
|
- HTTP/2 support
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
uv add kwork-api
|
|
# or
|
|
pip install kwork-api
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```python
|
|
from kwork_api import KworkClient
|
|
|
|
# Login with credentials
|
|
async with await KworkClient.login("username", "password") as client:
|
|
# Get catalog
|
|
catalog = await client.catalog.get_list(page=1)
|
|
|
|
# Get projects
|
|
projects = await client.projects.get_list()
|
|
|
|
# Get user info
|
|
user = await client.user.get_info()
|
|
```
|
|
|
|
## Documentation
|
|
|
|
- [Usage Guide](usage.md) — Examples and best practices
|
|
- [API Reference](api-reference.md) — Complete API documentation
|
|
|
|
## Links
|
|
|
|
- [Source Code](https://git.much-data.ru/much-data/kwork-api)
|
|
- [Issues](https://git.much-data.ru/much-data/kwork-api/issues)
|
|
- [Gitea Packages](https://git.much-data.ru/much-data/kwork-api/packages)
|