Skip to main content

Command line interface for Exosite platform.

Project description

Exoline: Command Line for Exosite
=================================

Exoline is a set of commands for accessing the Exosite [One Platform](http://exosite.com/products/onep) from the command line.

- **exo** - command for the [RPC API](http://developers.exosite.com/display/OP/Remote+Procedure+Call+API)

- **exodata** - command for the [HTTP Data Interface API](http://developers.exosite.com/display/OP/HTTP+Data+Interface+API)


Installation
------------

To install the latest released version of exoline:

```bash

$ pip install --upgrade exoline

```

Alternatively, install straight from github:

```bash

$ pip install -e git://github.com/dweaver/exoline#egg=exoline

```


Environment Variables
---------------------

For convenience, several command line options may be replaced by environment variables.

* EXO\_HOST: host, e.g. m2.exosite.com. This supplies --host to exo and --url for exodata.


Help
----

For help, run each command with -h from the command line. For example:

```bash

exo --help
Exosite RPC API Command Line Interface
Provides command line access to the Remote Procedure Call API:
http://developers.exosite.com/display/OP/Remote+Procedure+Call+API

Usage:
exo [options] read [--follow] [--limit=<limit>] [--selection=all|autowindow|givenwindow] <cik> <rid>
exo [options] write <cik> <rid> --value=<value>
exo [options] record <cik> <rid> ((--value=<timestamp,value> ...) | -)
exo [options] create <cik> (--type=client|clone|dataport|datarule|dispatch) -
exo [options] create-dataport <cik> (--format=binary|boolean|float|integer|string) [--name=<name>]
exo [options] create-client <cik> [--name=<name>]
exo [options] map <cik> <rid> <alias>
exo [options] unmap <cik> <alias>
exo [options] lookup <cik> <alias>
exo [options] drop <cik> <rid> ...
exo [options] listing [--plain] <cik> (--type=client|dataport|datarule|dispatch) ...
exo [options] info <cik> <rid> [--cikonly]
exo [options] flush <cik> <rid>
exo [options] tree <cik> [--verbose]
exo [options] lookup-rid <cik> <cik-to-find>
exo [options] drop-all-children <cik>
exo [options] record-backdate <cik> <rid> --interval=<seconds> ((--value=<value> ...) | -)
exo [options] upload <cik> <script-file> [--name=<name>]

Options:
--host=<host> OneP URL. Default is $EXO_HOST or m2.exosite.com.
--httptimeout=<sec> HTTP timeout setting.
--pretty Pretty print output
-h --help Show this screen.
-v --version Show version.

```

```bash

Exosite Data API Command Line Interface
Provides access to the HTTP Data Interface API:
http://developers.exosite.com/display/OP/HTTP+Data+Interface+API

Usage:
exodata read [options] <cik> <alias> ...
exodata write [options] <cik> <alias>=<value> ...
exodata ip [options]

Options:
-h --help Show this screen
-v --version Show version
--url=<url> One Platform URL [default: http://m2.exosite.com]

```

Test
----

To run the tests, install the packages in test/requirements.txt, and then type:

```bash

$ cd test
$ nosetests --verbose

```

Examples
--------

Here are some examples of common tasks with Exoline.

* Upload a Lua script

```bash

$ exo upload e469e336ff9c8ed9176bc05ed7fa40d????????? translate_gps.lua
Updated script RID: 6c130838e14903f7e12d39b5e76c8e3?????????

```

* Monitor output of a script

```bash

$ exo read e469e336ff9c8ed9176bc05ed7fa40d????????? translate_gps.lua --follow
2013-07-09 11:57:45,line 2: Running translate_gps.lua...
2013-07-09 12:00:17,"line 12: New 4458.755987,N,09317.538945,W
line 23: Writing 4458.755987_-09317.538945"
““2013-07-09 12:15:41,"line 12: New 4458.755987,N,09317.538945,W
line 23: Writing 4458.755987_-09317.538945"

```

* Write raw data

```bash

$ exo write e469e336ff9c8ed9176bc05ed7fa40d????????? gps-raw --value=4458.755987,N,09317.538945,W

```



TODO
----

- Add support for update command
- Add --watch flag to script upload
- Add command-level help (e.g. exo help tree)
- Support binary datasource format
- Add code coverage to tests


History
=======

0.0.17 (2013-7-09)
------------------

- Handle keyboard interrupt gracefully for read --follow
- Added example usage in README.md
- Fixed read --follow when dataport has no data

0.0.16 (2013-7-08)
------------------

- Support passing alias for <rid>
- Make read return latest value by default

0.0.15 (2013-7-08)
------------------

- script upload

0.0.14 (2013-7-07)
------------------

- tests for create, read, write

0.0.13 (2013-7-03)
------------------

- record, unmap, lookup commands, better/stronger/faster tree

0.0.12 (2013-6-27)
------------------

- Show OnePlatform library exceptions nicely

0.0.11 (2013-6-27)
------------------

- Changed defaults for tree

0.0.10 (2013-6-27)
------------------

- flush command

0.0.9 (2013-6-26)
-----------------

- Added format to tree output


0.0.8 (2013-6-26)
-----------------

- Added units to tree output, support writing negative numeric values

0.0.7 (2013-6-23)
-----------------

- Time series data write and read commands, with --follow option


0.0.6 (2013-6-23)
-----------------

- RID lookup and bulk drop commands


0.0.5 (2013-6-21)
-----------------

- Install two command line scripts: exo, exodata


0.0.4 (2013-6-18)
-----------------

- Complete Exosite Data API
- Subset of Exosite RPC API

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for exoline, version 0.0.17
Filename, size File type Python version Upload date Hashes
Filename, size exoline-0.0.17.tar.gz (12.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page