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 unimplemented.

TODO: Implement what's left.


## 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.1.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for SurveyGizmo-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3b64b2dec2962befeafbce5b006abd385fccea25de95b04f59ae37d8fbff4454
MD5 5ea4d935a21ec318e0f3a630abf917e6
BLAKE2b-256 03b105d877d88d20a870b83debc3a4302bbc221895a9e22e6b99112a49f2b18f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for SurveyGizmo-0.1.1.linux-i686.exe
Algorithm Hash digest
SHA256 b4a98696c79a5cfac7b287e5b167eb1165d5de44e26a113756f42a263475e61c
MD5 110eb643395327fd04055a64e795f75b
BLAKE2b-256 e61462471501a60bf3c0105771188fdf31ab68ce92ce19f3f2628a9ffdb81fb1

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