limesurvpy
A Python package to support evaluating LimeSurvey questionnaires. The package provides support for various types of questions (e.g., lists, multiple choice questions, rankings, matrix questions, text questions, etc.). For supported question types, the tool compiles dataframes of responses, and generates a number of pre-defined plots to support interpretation. For multi-lingual surveys, the tool supports presenting information in a specific locale.
Features
- Import LimeSurvey structure files (.lss format)
- Import response data from CSV files
- Describe responses using appropriate visualizations
- Multi-language support to show responses in any locale included in the questionnaire
- Export of processed data to Excel and CSV formats
- Automatic translation of text to user-defined language
Installation
pip install limesurvpy
Quick Start
1. Import and Create Survey Object
from limesurvpy import Survey
# Create survey from LimeSurvey structure file
my_survey = Survey.from_lss(structure_filename='path/to/survey.lss')
# Get basic information about the survey
my_survey.summary()
my_survey.list_questions()
2. Import responses
# Import responses from CSV file
# Note: Export responses from Limesurvey with question codes and response codes (not labels)
my_survey.import_responses('path/to/responses.csv', sep=',')
3. Analyze Questions
# Get question details
my_survey.print_details(question_code='Q001', include_attributes=True)
# Compile responses and automatically plot results for convenience
responses = my_survey.describe(question_code='Q001')
4. Export Results
# Export single question responses
Survey.export(responses, target='xlsx', excel_filename='results.xlsx')
# batch-export: If questions is None, export all
my_survey.export_questions(questions=None, target='xlsx', path=export_path, index=False)
Multi-language Support
Compiled dataframes and plots will include labels for responses for the specified language. Text items are translated into the specified language using deep-translator.
# Specify language for labels and responses
responses = my_survey.describe(question_code='Q001', lang='vi')
Metadata
Release files for limesurvpy 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| limesurvpy-0.0.4.tar.gz | 17.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| limesurvpy-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.8 kB
Release files / limesurvpy-0.0.4.tar.gz
| Download URL | limesurvpy-0.0.4.tar.gz |
|---|---|
| Size | 17.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0555a09f65f1682995032b000d02379ec9445f4ae6d8926839fa5e12f1262563
|
|
BLAKE2b-256 checksum How to use checksums |
a5cdfb5f0bb68505f5d97d462c222f9d2e09ad7f95230a672fa3f082f590d244
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / limesurvpy-0.0.4-py3-none-any.whl
| Download URL | limesurvpy-0.0.4-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4b8d8a051a9fd1f7a7945ad3bc30c1ef061c7f3818fdb0c23f88446ff4c858b
|
|
BLAKE2b-256 checksum How to use checksums |
8ce860e0e5b9b3849345f24e7f279aed952fc4ac4876034ca4bee203408bf140
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|