Package: evalkit-api-client
Evalkit API Client Library==========================[Overview](#overview)[Testing](#testing)[Documentation](#documentation)[Installation](#installation)[Usage](#usage)[Contributing](#contributing)[References](#references)Overview--------This is a library for making requests to an EvaluationKit API.Testing-------This project is tested with [tox](https://tox.readthedocs.io/en/latest/).Run the tox command to run checks and unit tests:```$ tox```By default, this project's tox runs:* [flake8](http://flake8.pycqa.org/en/latest/)* [mypy](https://github.com/python/mypy)* [pytest](https://docs.pytest.org/en/latest/)To create test coverage reports:```$ tox -e cov```Deployment----------Deployment to pypi is done with tox:```$ tox -e deploy```Make sure to bump the version in setup.py before deploying.Documentation-------------This project has Sphinx documentation at the following url:https://lcary.github.io/canvas-lms-tools/The EvaluationKit API documentation is also very useful:Installation------------To install, use pip:pip install evalkit_api_clientOr clone the repo:git clone https://github.com/lcary/canvas-lms-tools.gitcd canvas-lms-tools/evalkit_api_clientpython setup.py installUsage-----Adding the client as a dependency in your project's `requirements.txt`file is the intended way to use the client.#### REPL Example```$ python>>> from evalkit_api_client.v1_client import EvalKitAPIv1>>> url = 'https://sub-account.evaluationkit.com/api/v1'>>> token = 'xxxxxxxxxxxxxxxxxxxTHISxISxNOTxAxREALxTOKENxxxxxxxxxxxxxxxxxxxxx'>>> api = EvalKitAPIv1(url, token)>>> projects = api.get_projects().json()>>> len(projects.json())  # number of projects in sub-account>>> for p in projects.['resultList']:...     print(p['id'], p['title'])...49400 Test Evaluation A57600 Test Eval B```#### Script ExampleThis very simple example requires a few environment variables. TheAPI URL and token should be something like:```EVALKIT_API_URL=https://sub-account.evaluationkit.com/api/v1EVALKIT_API_TOKEN=xxxxxxxxxxxxxxxxxxxTHISxISxNOTxAxREALxTOKENxxxxxxxxxxxxxxxxxxxxx```The recommended approach is to use a config file with limited readpermissions instead of environment variables, but bear with me here.Once installed in your project via pip, use as follows:```pythonfrom os import environfrom pprint import pprintfrom evalkit_api_client.v1_client import EvalKitAPIv1url = environ.get('EVALKIT_API_URL')token = environ.get('EVALKIT_API_TOKEN')api = EvalKitAPIv1(url, token)projects = api.get_projects()print(projects.json())```#### EvalKitAPIv1This library is meant to be imported into your code. The `EvalKitAPIv1` clientobject requires a `api_url` argument and a `api_token` argument. The `api_url`should likely be defined in a configuration file, and should be the full APIURL without the endpoint, e.g. `https://sub.evaluationkit.com/api/v1/`. The `api_token`should similarly be defined in a config file, and is the token generated fora given subaccount in EvaluationKit.Refer to the client interface [documentation](#documentation) for more information.Contributing------------#### Building WheelsBuilding the wheel:python setup.py bdist_wheel#### Installing WheelsHow to install the client for testing:pip uninstall evalkit_api_client || echo "Already uninstalled."pip install --no-index --find-links=dist evalkit_api_clientAlternatively, install by specifying the full or relative path to the `.whl` file:pip install --no-index /path/to/canvas-lms-tools/evalkit_api_client/dist/evalkit_api_client-<version>-py2.py3-none-any.whl(You may need to `pip install wheel` first if you are installing from anotherproject. Consult [stack overflow](https://stackoverflow.com/questions/28002897/wheel-file-installation)for more help.)#### Sphinx DocsCreating the docs:cd docspip install -r requirements.txtpip install evalkit_api_clientmake htmlopen build/html/index.htmlDeploying the docs to GitHub pages:git checkout mastergit pullgit branch -D gh-pagesgit checkout -b gh-pagesrm -rf ./*touch .nojekyllgit checkout master evalkit_api_client/docs/< build the docs as above >mv evalkit_api_client/docs/build/html/* ./rm -rf evalkit_api_clientgit add -Agit commitgit push -f origin gh-pagesFor more info see the [GitHub Pages documentation](https://pages.github.com/),the [Sphinx docs](http://www.sphinx-doc.org/en/master/contents.html),or the following [script docs](http://www.willmcginnis.com/2016/02/29/automating-documentation-workflow-with-sphinx-and-github-pages/).References----------This project was originally created with the following "cookiecutter" tool:https://github.com/wdm0006/cookiecutter-pipproject