Citric#
A client to the LimeSurvey Remote Control API 2, written in modern Python.
Release v0.10.0.post1. (What’s new?)
Features#
Supports the full RPC API via the
Session
class.Best effort to implement all the RPC methods in the
Client
class. See the API coverage page for details.Easily export survey data to CSV files, Pandas DataFrames and DuckDB databases.
Easily download survey files (e.g. images, audio, etc.) to a local directory.
Tested against LimeSurvey 6.0.0+ and 5.0.0+ versions.
Experimental support for the new REST API.
Integration tests#
Integration tests are run against a LimeSurvey instance, and both PostgreSQL and MySQL backends, using Docker Compose. The following versions of LimeSurvey were tested for this release:
Installation#
$ pip install citric
Usage#
from citric import Client
# Connect to your LimeSurvey instance
client = Client(
"https://mylimesite.limequery.com/admin/remotecontrol",
"myusername",
"mypassword",
)
# Print the LimeSurvey version
print(client.get_server_version())
# Print every survey's title
for survey in client.list_surveys():
print(survey["surveyls_title"])