Skip to main content

surveyengine

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.

Metadata

Release files for surveyengine 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for surveyengine 0.0.3
File Size Uploaded Provenance Actions
surveyengine-0.0.3.tar.gz 3.5 kB Without provenance Details for surveyengine-0.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for surveyengine 0.0.3
File Interpreter ABI Platform Actions
surveyengine-0.0.3-py2.py3-none-any.whl Python 2, Python 3 none any Details for surveyengine-0.0.3-py2.py3-none-any.whl

Total release size: 8.1 kB

Release files / surveyengine-0.0.3.tar.gz

Download URL surveyengine-0.0.3.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f1e60e3a5947cfe6ab2c28c3e29c476d9a7fef385b3fc564c5d86a6df7327d64
BLAKE2b-256 checksum
How to use checksums
9d644f49732d3ac325ec65c63876a281c4c517b1e9b93b3b4b94f924d743e00b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / surveyengine-0.0.3-py2.py3-none-any.whl

Download URL surveyengine-0.0.3-py2.py3-none-any.whl
Size 4.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
a67fb5d88f9cbfbc521bb7b9ed14f50421f20e5cd8f7d025e4b16386ca821f93
BLAKE2b-256 checksum
How to use checksums
2e250c604013f67d9e1f84ab03b6225d3b89522b271c3e2adb84cc2ad55da4b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for surveyengine 0.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page