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.post2.tar.gz
(181.9 kB
view hashes)
Built Distribution
Close
Hashes for citric-0.10.0.post2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0b11c108f3f989de2390badf7e83f35570ed6b1a404dd08f26af3d8d81c655d |
|
MD5 | 44bf2bfe4a8edb2983bebbf7b6b28516 |
|
BLAKE2b-256 | 9df0f74e41d9dbd623ce5e3acafb2ae1567474fb19c896cf2fab3159e3d7f616 |