Skip to main content

A Python Wrapper for SurveyGizmo's restful API service.

Project description

# SurveyGizmo

A Python Wrapper for [SurveyGizmo](http://developer.surveygizmo.com/rest-api-documentation/)'s restful API service. Sort of - it's not really finished at the moment.


## Installation

$ pip install SurveyGizmo

## Usage

Start by instantiating the SurveyGizmo object and providing some configuration parameters. Options can also be set through the `config` property.

```python
from surveygizmo import SurveyGizmo

sg = SurveyGizmo(api_version='v3', response_type='json')
sg.config.auth_method = "user:pass"
sg.config.username = "username"
sg.config.password = "password"
```

Calls to the api are by object type then by function. For example,

```python
sg.api.survey.list()
sg.api.survey.get('39501')
sg.api.survey.copy('39501', '39501 Copy')
sg.api.surveyresponse.list('39501')
```

## Authentication

Currently, `user:pass` and `user:md5` are the only supported authentication methods. There is the `oauth_helper` module that is built on top of [rauth](https://github.com/litl/rauth), but it remains untested. You can try. *do it...*

#### user:pass
```python
sg.config.auth_method = 'user:pass'
sg.config.username = 'username'
sg.config.password = 'password'
```

#### user:md5
```python
sg.config.auth_method = 'user:md5'
sg.config.username = 'username'
sg.config.md5_hash = '5f4dcc3b5aa765d61d8327deb882cf99'
```
or you can provide a password to `config.password` and it will be automatically hashed.

#### oauth
```python
sg.config.auth_method = 'oauth'
sg.config.consumer_key = 'f5e5f0fc0300519c7gef3f4cddec396cf3d28cf192f'
sg.config.consumer_secret = 'dfa3fb80a5be5a08c5b427dbs9c4vb1ad3'
sg.config.access_token = '12345'
sg.config.access_token_secret = '54321'
```

## Config paramaters

* **api_version** - 'v3', 'head'. Defaults to 'head'
* **auth_method** - 'user:pass', 'user:md5', 'oauth'
* **username**
* **password**
* **md5_hash**
* **consumer_key**
* **consumer_secret**
* **access_token**
* **access_token_secret**
* **response_type** - None, 'json', 'pson', 'xml', 'debug'. If None, the response is returned as a python dictionary.

## Filters

Filters are currently untested.

TODO: Test filters

To filter, add filters to the query before making the api call. eg,

```python
sg.api.add_filter('datesubmitted', '<=', '2013-07-01')
sg.api.surveyresponse.list('39501')
```

By default, filters are cleared out after calls to the api. If you want to keep filters for the next call, set the `keep` parameter.

```python
sg.api.surveyresponse.list('39501', keep=True)
sg.api.surveyresponse.list('39502')
```

## API functions

Only a small subset of the API is currently implemented. This includes survey and surveyresponse objects.

TODO: Implement everything else.


## Copyright & License
Copyright &copy; 2013 Ryan P Kilby. See LICENSE for details.

Project details


Download files

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

Source Distribution

SurveyGizmo-0.0.3.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

SurveyGizmo-0.0.3.linux-i686.exe (76.3 kB view details)

Uploaded Source

File details

Details for the file SurveyGizmo-0.0.3.tar.gz.

File metadata

File hashes

Hashes for SurveyGizmo-0.0.3.tar.gz
Algorithm Hash digest
SHA256 44d9b64a688e1bc968d20d9f1b8489ccb63b8816ce1aa29d0f671f638d333cb4
MD5 50fd52e5b99ad6702ba4b3f1a116bd69
BLAKE2b-256 f1b06cac364582b4e2b54cc9fe12287f17bf651f0ccf10af3f17dc577ceebe31

See more details on using hashes here.

File details

Details for the file SurveyGizmo-0.0.3.linux-i686.exe.

File metadata

File hashes

Hashes for SurveyGizmo-0.0.3.linux-i686.exe
Algorithm Hash digest
SHA256 05e9ff6b4f3944ac43f7f853fe2fc8eef9acdeab4a9397f09217b1e813905a4f
MD5 00fc61eb3506c88c61c55bd7907e34af
BLAKE2b-256 f95d646b8df098de2c8ee72ffcf3a211f94c014091849ca4df3a28e0d488c73a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page