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.4.tar.gz (31.4 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.4-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file hh_api-0.1.4.tar.gz.

File metadata

  • Download URL: hh_api-0.1.4.tar.gz
  • Upload date:
  • Size: 31.4 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.4.tar.gz
Algorithm Hash digest
SHA256 1470625d405c7e84749e702a447ec883f7d50c3ec77fdd86de708e5dc5bceace
MD5 68b909111ca4f0962d481d37e146f003
BLAKE2b-256 41256a2b7a422e17dffd8d241fbf6166382e8f8810d69dee43f474a9549a3bed

See more details on using hashes here.

File details

Details for the file hh_api-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: hh_api-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 19.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3bee7bfc05ca5ddd9207e75e0892adcb9b4403944a22cf2254e1cdd1594466c8
MD5 a1cf276948e3cd4da2f0e32604d37422
BLAKE2b-256 b50ec1a3d631c528fb0beb4d7961b36133b577e0001d92eac413df3af1416357

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