A client to the LimeSurvey Remote Control API 2, written in modern Python.
Project description
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"])
Documentation
Code samples and API documentation are available at citric.readthedocs.io.
Contributing
If you'd like to contribute to this project, please see the contributing guide.
Credits
- Markus Opolka for maintaining a very robust set of LimeSurvey Docker images.
- Claudio Jolowicz and his amazing blog post.
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
citric-0.10.0.post1.tar.gz
(25.2 kB
view hashes)
Built Distribution
Close
Hashes for citric-0.10.0.post1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51ef1b97051e5fa1d52432ecc1f80a8dd35acc998aaa62609489915e887a8816 |
|
MD5 | e786898f520171d4ede32d14d811cfa4 |
|
BLAKE2b-256 | 40640e9afc7090829cb35fd680662b482a186018970d8e5fe4733f64cb075b4b |