Metadata-Version: 2.3
Name: hhru
Version: 0.1.3
Summary: HH.ru wrapper library (jobs searching)
License: MIT
Keywords: hhru,hh.ru,hh api,headhunter,jobs,wrapper,api
Author: Kirill Zhosul
Author-email: kirillzhosul@yandex.com
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: pydantic (>=2.8.2,<3.0.0)
Requires-Dist: requests (>=2.28.1,<3.0.0)
Project-URL: Documentation, https://kirillzhosul.github.io/hhru
Project-URL: Source, https://github.com/kirillzhosul/hhru
Description-Content-Type: text/markdown

# hhru

[HH.ru](https://hh.ru/) wrapper library for Python.

There is providers for API and Web (Currently, not implemented) \
For authentication, there is `Anonymous` mode, along with other authentications (currently, also not implemented)

### Features

- Anonymous vacancies searches via API

(There is currently boilerplates / not finished features for using authentication / web provider)

### How to install

```
pip install hhru
```

### Example usage

```python
import hhru

# Default client, with `Anonymous` auth and `API` provider
client = hhru.Client()
```

```python

# List first page of Python remote vacancies, sorted by new. 
# You can use strings as params or look into `consts` module
vacancies = client.search_vacancies_over_pages(
  text="Python",
  search_field="name",
  order_by="publication_time",
  schedule="remote",
)
```


### Using web provider or custom authentication

```python

# Client with web provider and given authentication data
# TODO: Currently, that will behave like API provider (no implementations for web)
client = hhru.Client(
  backend=hhru.BackendWebProvider(
    auth=DirectAuthProvider(
      login="login", 
      password="password"
    )
  )
)
```


### References

- API repo: https://github.com/hhru/api
- API docs: https://api.hh.ru/openapi/redoc

