Commit Graph

20 Commits

Author SHA1 Message Date
root
6ad63ee3e0 refactor: вернул OtherAPI как отдельный класс
OtherAPI остаётся отдельным классом с property accessor:
- client.other.get_wants()
- client.other.get_kworks_status()
- client.other.go_offline()
- и т.д.
2026-03-23 04:36:47 +00:00
root
127e5927bc docs: переход на MkDocs + mkdocstrings для HTML документации
Рефакторинг:
- OtherAPI упразднён — все методы перемещены в KworkClient
- Методы client.get_wants(), get_kworks_status() и др. теперь напрямую в клиенте
- Удалён property client.other

Документация:
- MkDocs + mkdocstrings + Material theme для HTML сайта
- Навигация, поиск, форматирование кода
- docs/index.md — quick start guide
- docs/api/*.md — API reference с автогенерацией из docstrings
- Pre-commit hook для автогенерации HTML

Зависимости:
- Добавлены: mkdocs, mkdocs-material, mkdocstrings, mkdocstrings-python
- Убран pydoc-markdown (не нужен)

Команды:
- mkdocs build — сборка HTML
- mkdocs serve — локальный просмотр
2026-03-23 04:35:58 +00:00
root
bdd44dd990 docs: 100% покрытие docstrings — все классы и методы задокументированы
Полная документация всей кодовой базы:

client.py:
- KworkClient — основной класс, аутентификация, примеры
- CatalogAPI — каталог кворков (get_list, get_details, get_details_extra)
- ProjectsAPI — биржа проектов (get_list, get_payer_orders, get_worker_orders)
- UserAPI — пользователь (get_info, get_reviews, get_favorite_kworks)
- ReferenceAPI — справочники (cities, countries, timezones, features, badges)
- NotificationsAPI — уведомления (get_list, fetch, get_dialogs, get_blocked_dialogs)
- OtherAPI — прочее (wants, settings, offline, и т.д.)
- Все property accessor'ы

models.py:
- KworkUser, KworkCategory, Kwork, KworkDetails
- PaginationInfo, CatalogResponse
- Project, ProjectsResponse
- Review, ReviewsResponse
- Notification, NotificationsResponse, Dialog
- AuthResponse, ErrorDetail, APIErrorResponse
- City, Country, TimeZone, Feature, Badge
- DataResponse

errors.py:
- KworkError (базовое)
- KworkAuthError, KworkApiError
- KworkNotFoundError, KworkRateLimitError
- KworkValidationError, KworkNetworkError

Все docstrings на русском языке с примерами использования.
2026-03-23 04:30:10 +00:00
root
a6cb7c1f35 docs: обновлён WIP.md с итогами документирования 2026-03-23 04:28:58 +00:00
root
857d5a95c5 docs: полная документация моделей и исключений
models.py:
- KworkUser, KworkCategory, Kwork, KworkDetails
- PaginationInfo, CatalogResponse
- Project, ProjectsResponse
- Review, ReviewsResponse
- Notification, NotificationsResponse
- Dialog, AuthResponse
- ErrorDetail, APIErrorResponse
- City, Country, TimeZone
- Feature, Badge
- DataResponse

errors.py:
- KworkError (базовое)
- KworkAuthError
- KworkApiError
- KworkNotFoundError
- KworkRateLimitError
- KworkValidationError
- KworkNetworkError

Все классы задокументированы с описанием атрибутов и примерами.
2026-03-23 04:28:44 +00:00
root
bc951cc763 docs: полная документация всех API классов
Добавлены подробные docstrings для:

UserAPI:
- get_info(), get_reviews(), get_favorite_kworks()

ReferenceAPI:
- get_cities(), get_countries(), get_timezones()
- get_features(), get_public_features(), get_badges_info()

NotificationsAPI:
- get_list(), fetch(), get_dialogs(), get_blocked_dialogs()

OtherAPI:
- get_wants(), get_wants_status(), get_kworks_status()
- get_offers(), get_exchange_info(), get_channel()
- get_in_app_notification(), get_security_user_data()
- is_dialog_allow(), get_viewed_kworks()
- get_favorite_categories(), update_settings()
- go_offline(), get_actor()

API property accessor'ы:
- catalog, projects, user, reference, notifications, other

Все методы задокументированы на русском с примерами.
2026-03-23 04:27:27 +00:00
root
25372e5182 docs: обновлён WIP.md 2026-03-23 04:24:01 +00:00
root
a771a75c49 docs: добавлены подробные docstrings для KworkClient
- KworkClient: полное описание класса, аутентификации, примеров
- __init__: детальное описание параметров
- login(): пошаговое описание процесса аутентификации
- CatalogAPI: документация класса и методов get_list, get_details, get_details_extra
- ProjectsAPI: документация класса и метода get_list
- get_payer_orders/get_worker_orders: описание методов

Все docstrings на русском языке с примерами использования.
2026-03-23 04:23:49 +00:00
root
305d934081 docs: обновлён WIP.md 2026-03-23 04:21:18 +00:00
root
706dfde40e docs: убран скрипт gen_docs.py, только pre-commit hook
- Удалена директория scripts/
- Убран gen-docs из pyproject.toml
- Документация генерируется только через pre-commit hook
2026-03-23 04:21:12 +00:00
root
e838399910 docs: обновлена документация в WIP.md 2026-03-23 04:19:22 +00:00
root
a5a1ec5970 docs: полная миграция на pydoc-markdown (убран MkDocs)
- Удалён mkdocs.yml и вся сгенерированная site/ директория
- pydoc-markdown.yml теперь использует markdown renderer напрямую
- Скрипт gen_docs.py генерирует docs/api_reference.md без MkDocs
- Обновлён pre-commit hook для использования pydoc-markdown
- Убраны зависимости MkDocs из конфигурации

Теперь документация генерируется только через pydoc-markdown.
2026-03-23 04:19:09 +00:00
root
8d0e504aea docs: переключение на pydoc-markdown для генерации API документации
- Добавлен pydoc-markdown.yml для конфигурации генерации
- Обновлён mkdocs.yml (убран mkdocstrings, упрощена конфигурация)
- Добавлен скрипт scripts/gen_docs.py для автоматической генерации
- Обновлены зависимости в pyproject.toml (dependency-groups вместо dev-dependencies)
- Сгенерирована новая документация в docs/api_reference.md
2026-03-23 04:17:50 +00:00
root
86149e0196 Setup mkdocstrings inline documentation
- Remove custom generate_docs.py script
- Use mkdocstrings inline ::: syntax in markdown files
- docs/api-reference.md: Main API reference with inline docs
- docs/api/*.md: Category pages with inline injections
- Pre-commit: Build mkdocs on commit

Documentation now uses standard mkdocstrings approach.
2026-03-23 03:54:54 +00:00
root
f7ab02d3cf Generate markdown API docs with griffe
- scripts/generate_docs.py: Generate .md files from docstrings
- docs/api/*.md: Auto-generated API documentation
- Pre-commit hook: Auto-generate markdown on commit
- Uses griffe AST parser (no code execution)

Generated files:
- docs/api/index.md
- docs/api/kworkclient.md
- docs/api/client/*.md
- docs/api/models/*.md
- docs/api/errors/*.md
2026-03-23 03:52:07 +00:00
root
080e5ddc72 Update WIP.md with documentation status 2026-03-23 03:46:30 +00:00
root
104aedbcf4 Update WIP.md with endpoint analysis 2026-03-23 03:26:21 +00:00
root
70fbc7a035 Update WIP.md with endpoint analysis 2026-03-23 03:17:30 +00:00
fae04b0896 Add WIP.md with project status 2026-03-23 03:01:02 +00:00
root
ccc670b79c Initial commit: kwork-api v0.1.0
Features:
- Full API coverage (45 endpoints from HAR analysis)
- Async/await support with httpx
- Pydantic models for all responses
- Clear error handling (KworkAuthError, KworkApiError, etc.)
- Session management (cookies + web_auth_token)
- Unit tests with respx mocks
- Integration tests template
- JSON logging support via structlog

Endpoints implemented:
- Authentication: signIn, getWebAuthToken
- Catalog: catalogMainv2, getKworkDetails, getKworkDetailsExtra
- Projects: projects, payerOrders, workerOrders
- User: user, userReviews, favoriteKworks
- Reference: cities, countries, timezones, features, badges
- Notifications: notifications, notificationsFetch, dialogs
- Other: 30+ additional endpoints

Tests: 13 passed, 79% coverage
2026-03-23 02:48:44 +00:00