Metadata-Version: 2.1
Name: directory-api-client
Version: 11.0.0
Summary: Python client for Directory API.
Home-page: https://github.com/uktrade/directory-api-client
Author: Department for International Trade
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Requires-Dist: django (<2.0a1,>=1.9)
Requires-Dist: requests (<3.0.0,>=2.18.4)
Requires-Dist: directory-client-core (<5.0.0,>=4.3.0)
Provides-Extra: test
Requires-Dist: pytest (==3.0.2); extra == 'test'
Requires-Dist: pytest-cov (==2.3.1); extra == 'test'
Requires-Dist: flake8 (==3.0.4); extra == 'test'
Requires-Dist: requests-mock (==1.1.0); extra == 'test'
Requires-Dist: codecov (==2.0.9); extra == 'test'
Requires-Dist: twine (<2.0.0,>=1.11.0); extra == 'test'
Requires-Dist: wheel (<1.0.0,>=0.31.0); extra == 'test'
Requires-Dist: setuptools (<39.0.0,>=38.6.0); extra == 'test'

# directory-api-client

[![code-climate-image]][code-climate]
[![circle-ci-image]][circle-ci]
[![codecov-image]][codecov]
[![pypi-image]][pypi]

**Export Directory internal API client.**

---


## Installation

```sh
    $ pip install directory-api-client
```

The api client expects the following settings:

| Setting                                    | Notes                                                       |
| ------------------------------------------ | ----------------------------------------------------------- |
| DIRECTORY_API_CLIENT_BASE_URL              |                                                             |
| DIRECTORY_API_CLIENT_API_KEY               | Unique to client. Retrieved during the on-boarding process. |
| DIRECTORY_API_CLIENT_SENDER_ID             | Unique to client. Retrieved during the on-boarding process. |
| DIRECTORY_API_CLIENT_DEFAULT_TIMEOUT       |                                                             |
| DIRECTORY_CLIENT_CORE_CACHE_EXPIRE_SECONDS | [see directory-client-core](https://github.com/uktrade/directory-client-core#caching)

And the caching expects the following key in CACHES setting: `api_fallback`

Once that is done the API client can be used:

```py
from directory_api_client.client import api_client
```

## Development

```shell
$ git clone https://github.com/uktrade/directory-api-client
$ cd directory-api-client
$ [create virtual environment and activate]
$ make test_requirements
```

## Publish to PyPI

The package should be published to PyPI on merge to master. If you need to do it locally then get the credentials from rattic and add the environment variables to your host machine:

| Setting                     |
| --------------------------- |
| DIRECTORY_PYPI_USERNAME     |
| DIRECTORY_PYPI_PASSWORD     |

Then run the following command:
```sh
    make publish
```

[code-climate-image]: https://codeclimate.com/github/uktrade/directory-api-client/badges/issue_count.svg
[code-climate]: https://codeclimate.com/github/uktrade/directory-api-client

[circle-ci-image]: https://circleci.com/gh/uktrade/directory-api-client/tree/master.svg?style=svg
[circle-ci]: https://circleci.com/gh/uktrade/directory-api-client/tree/master

[codecov-image]: https://codecov.io/gh/uktrade/directory-api-client/branch/master/graph/badge.svg
[codecov]: https://codecov.io/gh/uktrade/directory-api-client

[pypi-image]: https://badge.fury.io/py/directory-api-client.svg
[pypi]: https://badge.fury.io/py/directory-api-client


