Skip to main content

Async Python client for the HeadHunter (hh.ru) API with token refresh and typing.

Project description

hh-api

Python PyPI License: MIT Code style: black

Современная асинхронная 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 для обсуждения.

  1. Fork репозитория
  2. Создайте ветку для фичи (git checkout -b feature/AmazingFeature)
  3. Commit изменения (git commit -m 'Add some AmazingFeature')
  4. Push в ветку (git push origin feature/AmazingFeature)
  5. Откройте 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

hh_api-0.1.3.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hh_api-0.1.3-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

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

Hashes for hh_api-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a2f90557bfed17a3a3da67b8b44fc03bf8acd6686232bc2614d8dfed39016066
MD5 80e629de00fb4a42a7c03f856fbad596
BLAKE2b-256 7c1a8f9034554501a0c52c884e3d6b39957909a86881a4929bbda6c7a70faaa7

See more details on using hashes here.

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

Hashes for hh_api-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e4bff72d66c68549cd5fb439ca09b91ccc4aaeb10d3d18b12e3aa1e184ebcfbb
MD5 7a2901631dd6f5e6adfaf1fd2cb60d38
BLAKE2b-256 ea883d513052f333c56fc6fd9581a294f5a2f0ba7e8c38efff37a15af2ab843a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page