Citric#
A client to the LimeSurvey Remote Control API 2, written in modern Python.
Release v1.0.0. (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.
Installation#
# PyPI
pip install citric
# or conda
conda install -c conda-forge 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"])
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:
But also, the latest 5.x and 6.x are tested continuously and are expected to work.