Async Python client for the HeadHunter (hh.ru) API with token refresh and typing.
Project description
hh-api
Современная асинхронная Python-библиотека для работы с API HeadHunter (hh.ru) с автоматическим управлением OAuth2-токенами и поддержкой multi-tenant архитектуры.
🎯 Ключевые особенности
- 🚀 Полностью асинхронная на базе
httpxиasyncio - 🔐 Умное управление OAuth2-токенами с автоматическим обновлением
- 🏢 Multi-tenant поддержка для работы с несколькими пользователями
- 💾 Гибкие хранилища токенов: память, JSON-файлы, Redis, база данных, переменные окружения
- 🔄 Автоматические повторные попытки при сетевых ошибках
- 🎭 Полная типизация для лучшей поддержки IDE
- 🛡️ Безопасность: защита от race conditions при обновлении токенов
📦 Установка
pip install hh-api
📚 API Reference
HHClient
| Метод | Описание |
|---|---|
search_vacancies(**params) |
Поиск вакансий |
get_vacancy(vacancy_id) |
Получить детали вакансии |
get_resume(resume_id) |
Получить информацию о резюме |
search_similar_vacancies(resume_id, **params) |
Найти похожие вакансии |
apply_to_vacancy(resume_id, vacancy_id, message) |
Откликнуться на вакансию |
get_dictionaries() |
Получить справочники HH |
TokenManager
| Метод | Описание |
|---|---|
authorization_url(subject, state?) |
Сгенерировать URL для авторизации |
exchange_code(subject, code) |
Обменять код на токены |
ensure_access(subject) |
Получить действующий access token |
refresh(subject, refresh_token?) |
Обновить токены |
🤝 Вклад в проект
Приветствуются pull requests! Для больших изменений сначала откройте issue для обсуждения.
- Fork репозитория
- Создайте ветку для фичи (
git checkout -b feature/AmazingFeature) - Commit изменения (
git commit -m 'Add some AmazingFeature') - Push в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
📄 Лицензия
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
🙏 Благодарности
- HeadHunter API за отличную документацию
- httpx за прекрасный асинхронный HTTP-клиент
- Всем контрибьюторам проекта
📧 Контакты
iNetsmol - @inetsmol - inetsmol@gmail.com
Ссылка на проект: https://github.com/inetsmol/hh-api
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hh_api-0.1.3.tar.gz.
File metadata
- Download URL: hh_api-0.1.3.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2f90557bfed17a3a3da67b8b44fc03bf8acd6686232bc2614d8dfed39016066
|
|
| MD5 |
80e629de00fb4a42a7c03f856fbad596
|
|
| BLAKE2b-256 |
7c1a8f9034554501a0c52c884e3d6b39957909a86881a4929bbda6c7a70faaa7
|
File details
Details for the file hh_api-0.1.3-py3-none-any.whl.
File metadata
- Download URL: hh_api-0.1.3-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4bff72d66c68549cd5fb439ca09b91ccc4aaeb10d3d18b12e3aa1e184ebcfbb
|
|
| MD5 |
7a2901631dd6f5e6adfaf1fd2cb60d38
|
|
| BLAKE2b-256 |
ea883d513052f333c56fc6fd9581a294f5a2f0ba7e8c38efff37a15af2ab843a
|