Metadata-Version: 2.0
Name: egtaonlineapi
Version: 0.5.1
Summary: Various APIs for egtaonline
Home-page: https://github.com/egtaonline/egtaonline-api.git
Author: Strategic Reasoning Group
Author-email: strategic.reasoning.group@umich.edu
License: Apache 2.0
Description-Content-Type: UNKNOWN
Platform: UNKNOWN
Requires-Dist: inflection (~=0.3)
Requires-Dist: lxml (~=3.8)
Requires-Dist: requests-mock (~=1.4.0)
Requires-Dist: requests (~=2.18)
Requires-Dist: tabulate (~=0.8)
Provides-Extra: dev
Requires-Dist: autopep8 (~=1.2); extra == 'dev'
Requires-Dist: flake8 (~=3.0); extra == 'dev'
Requires-Dist: ipython (~=5.1); extra == 'dev'
Requires-Dist: mock (~=2.0); extra == 'dev'
Requires-Dist: pytest-asyncio (~=0.8); extra == 'dev'
Requires-Dist: pytest-cov (~=2.5); extra == 'dev'
Requires-Dist: pytest-xdist (~=1.18); extra == 'dev'
Requires-Dist: pytest (~=3.2); extra == 'dev'
Requires-Dist: sphinx (~=1.7); extra == 'dev'
Requires-Dist: twine (~=1.9); extra == 'dev'
Requires-Dist: wheel (~=0.30); extra == 'dev'

EGTAOnline Api
==============

[![Build](https://img.shields.io/travis/egtaonline/egtaonline-api.svg?style=flat-square)](https://travis-ci.org/egtaonline/egtaonline-api)
[![Coverage](https://img.shields.io/coveralls/egtaonline/egtaonline-api.svg?style=flat-square)](https://coveralls.io/github/egtaonline/egtaonline-api)

Command line and python access to egtaonline.


Install
-------

```
pip install egtaonlineapi
```


Usage
-----

- The command line entry point is `eo`.
  `eo --help` will list all the options available.
- The python entry point is `egtaonline.api`.
  This has slightly more functionality than the command line api.
- There is also a mock server at `egtaonline.mockserver` that handles all requests without actually modifying egta.


Cookbook
--------

These are useful scripts that illustrate what can be done with the api.

- Monitor a scheduler and report when it's done:

  ```
  while ! eo sched <sched-id> -r | jq -e '.scheduling_requirements | map(.current_count >= .requirement) | all' > /dev/null; do sleep <sleep-interval>; done; <notify-script>
  ```

  This will poll `<sched-id>` every `<sleep-interval>` seconds and run `<notify-script>` when the scheduler is done.


