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.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

SurveyGizmo-0.1.0.linux-i686.exe (79.4 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: SurveyGizmo-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for SurveyGizmo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ed4b590c4f0406846351b2e571a44c0f576f5d5b683309a187c7c988d6e829a9
MD5 3c4dbd260b2009472ff26d7c5a0e9867
BLAKE2b-256 5ad160837c69f6b7c2c7215cb9a9adb5301a56a3038146fe936385e3f818d23e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for SurveyGizmo-0.1.0.linux-i686.exe
Algorithm Hash digest
SHA256 525fb52a02f9c0afda545dc5cff98020f7fe3cf0e58c0d3f5dfd118cf7037631
MD5 03de51264cab27d392d53afe6653a875
BLAKE2b-256 5224d7f4128d75bdffb17870192f799baecb85e67321f16c7f7ccca5c4f3da19

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