surveyengine is a customizable survey web user interface.
Project description
A customizable survey web user interface.
You can install surveyengine via
pip install --user surveyengine
and run it via:
python -m surveyengine spec.json output/
Where output is the output folder for the results and spec.json is a survey specification:
{
"title": "Survey Title Here", // the survey title
"pages": [ // a sequence of pages
{
"lines": [
"first line", // plain text that will be displayed
"second line {foo}" // displays: second line bar
],
"vars": { // defines local variables
"foo": "bar"
},
"pid": "start" // the id for the page (used as prefix in the result file)
"continue": "next", // creates a single button at the bottom -- default ("next") can be omitted
"type": "plain" // the type of page -- default ("plain") can be omitted
}, {
"type": "each", // repeats a sequence of pages
"name": "ix", // the iteration variable name -- it can be used via {ix} in fields
"name_next": "ix_next", // "name_next" and "name_prev" are optional variables containing the next / previous iteration
"vars": { // defines local variables
"img_len": 25 // we define the range as variable so we can use it in the text
},
"to": "{img_len}", // iterate until this number
"pages": [
// ... pages to repeat ...
{
"lines": [
"image {ix_next} / {img_len}", // displays: image 1 / 25
[ "img", "path/to/image{ix}.png", "" ] // the image to display
],
"pid": "question:{ix}" // the id for the page
"continue": "choice", // creates a collection of buttons at the bottom
"values": [ // the values to choose from
"yes",
"no"
]
}
]
// this page type does not have a "continue" field
}, {
"lines": [
// other special lines
// [ question_type, display_text, question_id ]
[ "text", "just text", "" ], // simple text -- equivalent to "just text"
[ "likert", "fun", "fun" ], // likert scale
[ "likert", "confidence", "conf" ]
],
"pid": "specials"
}, {
"lines": [
"Thanks! {_token}" // _token is a special variable containing the user id
],
"continue": "end", // indicates the end of the survey -- this page must exist
"pid": "end"
}
]
}
Each user creates a result file with its unique token in the output folder. The result file is a JSON file containing all answers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
surveyengine-0.0.3.tar.gz
(3.5 kB
view details)
Built Distribution
File details
Details for the file surveyengine-0.0.3.tar.gz
.
File metadata
- Download URL: surveyengine-0.0.3.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1e60e3a5947cfe6ab2c28c3e29c476d9a7fef385b3fc564c5d86a6df7327d64 |
|
MD5 | bcf9049f7cbe1a0875b049f062248197 |
|
BLAKE2b-256 | 9d644f49732d3ac325ec65c63876a281c4c517b1e9b93b3b4b94f924d743e00b |
File details
Details for the file surveyengine-0.0.3-py2.py3-none-any.whl
.
File metadata
- Download URL: surveyengine-0.0.3-py2.py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a67fb5d88f9cbfbc521bb7b9ed14f50421f20e5cd8f7d025e4b16386ca821f93 |
|
MD5 | 5839d6389ceef84ec5167c117d319ea6 |
|
BLAKE2b-256 | 2e250c604013f67d9e1f84ab03b6225d3b89522b271c3e2adb84cc2ad55da4b5 |