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.2.tar.gz (20.6 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.2-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hh_api-0.1.2.tar.gz
  • Upload date:
  • Size: 20.6 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.2.tar.gz
Algorithm Hash digest
SHA256 b0a035dee9efc6a6ae68e09c9feb05c31bd291e3adba9a16bfd20060b98723f6
MD5 c2999ba1b28f3aefd52a844a71d1157b
BLAKE2b-256 5a92ab0e5c0072aa3b735021ebacd6d3a4722a7f6251ed1ac837bb31da6b3d35

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hh_api-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0b950f6c5ad5b1c36205441587b41ec36fc2649ae99ea87b1363dda07b31bbfa
MD5 2b0a2eb7d628cf34f7062fbcb4db97db
BLAKE2b-256 ccf2a20e5c3c5cd4986b4e8b0c0900684c48627001c83a8eb796ec786ff0abc7

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