kwork-api/src/kwork_api/__init__.py
root d21f2c7be0 feat: complete Kwork API client with 45+ endpoints
Initial release with comprehensive API coverage:

## Features
- Complete async API client for Kwork.ru (45+ endpoints)
- Pydantic models for all API responses
- Two-step authentication (session cookies + web_auth_token)
- Comprehensive error handling (7 custom exception types)

## API Groups
- CatalogAPI, ProjectsAPI, UserAPI
- ReferenceAPI, NotificationsAPI, OtherAPI

## Quality
- 92% test coverage (46 unit tests)
- 100% docstring coverage
- MkDocs documentation with mkdocstrings
- UV package manager support

## CI/CD
- Gitea Actions workflows (PR checks + release)
- Semantic release for automatic versioning
- Coverage threshold 90%
- Test artifacts and reports
2026-03-29 00:36:28 +00:00

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",
]