directory-cms-client

Python API client for Directory CMS.


License
MIT
Install
pip install directory-cms-client==12.3.4

Documentation

directory-cms-client

code-climate-image circle-ci-image codecov-image pypi-image semver-image

Directory CMS client.

Client for the Directory Content Management read-only API.

Installation

$ pip install directory-cms-client

The api client expects the following settings:

Setting Notes
DIRECTORY_CMS_API_CLIENT_BASE_URL
DIRECTORY_CMS_API_CLIENT_API_KEY Unique to client. Retrieved during the on-boarding process.
DIRECTORY_CMS_API_CLIENT_SENDER_ID Unique to client. Retrieved during the on-boarding process.
DIRECTORY_CMS_API_CLIENT_DEFAULT_TIMEOUT
DIRECTORY_CMS_API_CLIENT_SERVICE_NAME Unique to client, can be hardcoded.

The following directory client core settings also apply to directory cms client:

Setting Notes
DIRECTORY_CLIENT_CORE_CACHE_EXPIRE_SECONDS Duration to store the retrieved content in the cache.
DIRECTORY_CLIENT_CORE_CACHE_LOG_THROTTLING_SECONDS Duration to throttle log events for a given url for.

And also specify a cache with name cms_fallback:

CACHES = {
    'cms_fallback': ...
}

Once that is done the API client can be used:

from directory_api_client.client import cms_api_client

Development

$ git clone https://github.com/uktrade/directory-cms-client
$ cd directory-cms-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:

$ make publish