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
45 lines
918 B
Python
45 lines
918 B
Python
"""
|
|
Kwork.ru API Client
|
|
|
|
Unofficial Python client for Kwork.ru API.
|
|
|
|
Example:
|
|
from kwork_api import KworkClient
|
|
|
|
# Login with credentials
|
|
client = await KworkClient.login("username", "password")
|
|
|
|
# Or restore from token
|
|
client = KworkClient(token="your_web_auth_token")
|
|
|
|
# Get catalog
|
|
catalog = await client.catalog.get_list(page=1)
|
|
"""
|
|
|
|
from .client import KworkClient
|
|
from .errors import KworkError, KworkAuthError, KworkApiError
|
|
from .models import (
|
|
ValidationResponse,
|
|
ValidationIssue,
|
|
Kwork,
|
|
KworkDetails,
|
|
Project,
|
|
CatalogResponse,
|
|
ProjectsResponse,
|
|
)
|
|
|
|
__version__ = "0.1.0" # Updated by semantic-release
|
|
__all__ = [
|
|
"KworkClient",
|
|
"KworkError",
|
|
"KworkAuthError",
|
|
"KworkApiError",
|
|
"ValidationResponse",
|
|
"ValidationIssue",
|
|
"Kwork",
|
|
"KworkDetails",
|
|
"Project",
|
|
"CatalogResponse",
|
|
"ProjectsResponse",
|
|
]
|