The Official Elluminate SDK
Project description
Elluminate SDK
SDK is still WIP and currently not fully working with the SDK, also Docs not yet updated!
Elluminate SDK is a Software Development Kit that provides a convenient way to interact with the Elluminate platform programmatically. It allows developers to integrate Elluminate functionality into their own applications or scripts, serving as a bridge between custom code and the Elluminate Service API.
Installation
You can install the Elluminate SDK from GitHub as follows:
pip install git+ssh://git@github.com/ellamind/elluminate-platform-django.git#subdirectory=elluminate_sdk
Quick Start
Staging
With the API key set in ELLUMINATE_API_KEY:
from elluminate import Client
client = Client()
Or with the API key passed directly:
from elluminate import Client
client = Client(api_key=<api-key-here>)
Locally
The API key handling is the same as in staging, the Client must simply be instantiated with a base_url
from elluminate import Client
client = Client(base_url="http://localhost:8000")
Development
To set up the development environment:
- Go to the
elluminate_sdkdirectory if not already. This is the directory that this README is in. All commands of this README should be run on this directory level.
cd elluminate_sdk
- Install the SDK with development dependencies:
uv sync --dev
This should create a .venv in the elluminate_sdk directory. This is a separate environment from the Platforms virtual environment.
Usage
The Elluminate SDK provides a simple interface for interacting with the Elluminate platform. Import the Client class, create a client instance, and use its methods to manage experiments, generate questions, and rate answers.
Example Usage
The examples directory includes a number of scripts showing how to use the SDK.
Note: The examples are configured to run against a service hosted by the default base_url defined in the Client class. You must set the ELLUMINATE_BASE_URL environment variable to override base_url.
Example for local:
export ELLUMINATE_BASE_URL=http://localhost:8000
Example for staging:
export ELLUMINATE_BASE_URL=https://dev.elluminate.de
Example for production:
export ELLUMINATE_BASE_URL=https://elluminate.de
Cookbooks
To run the cookbooks located in the examples/cookbooks directory, some extra dependencies are required:
- Install cookbook dependencies
uv sync --extra cookbooks
- Run your chosen cookbook
uv run python -m examples.cookbooks.<cookbook_name>
Advanced Usage
For basic usage, refer to the example_sdk_usage_with_collections.py file in the examples directory.
Development
To set up the development environment:
- Install the SDK with development dependencies:
uv sync --dev
- Activate the
uvvirtual environment:
source .venv/bin/activate
- To deactivate the virtual environment:
deactivate
Running Tests
To run tests for the Elluminate SDK:
- Install the SDK with development dependencies:
uv sync --dev
- Run the tests:
uv run pytest ./elluminate
To see test coverage:
uv run pytest --cov=elluminate --cov-report=term-missing
Publishing
The SDK can be published to PyPI using the following process:
-
Update the version in
__init__.pyfollowing semantic versioning (X.Y.Z) -
Push your changes to GitHub.
-
Manually run the "Publish SDK to PyPI" GitHub Action using the "Run workflow" button. Type in the version into the field exactly as in Step 1.
- This action checks that the version you input is indeed the version to be published as defined in the
__init__.pyfile. This acts as a santiy check. - Builds and publishes the SDK to PyPI
- This action checks that the version you input is indeed the version to be published as defined in the
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elluminate-0.2.0.tar.gz.
File metadata
- Download URL: elluminate-0.2.0.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
633d2de884f6d6a33ef8711b3f431c15a34f537066b60c74a922274cd9a379d5
|
|
| MD5 |
e5cb4f138524d1a60fea84ef9ebf8fd0
|
|
| BLAKE2b-256 |
ba11b9e3e249a21cd76c49ce9d066400d9adb828cd711822f25d9fcd65b85d64
|
File details
Details for the file elluminate-0.2.0-py3-none-any.whl.
File metadata
- Download URL: elluminate-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eccaeaf322c6166b300b1a585f9f9d98420cb63536df028020c92d209d9a9bd1
|
|
| MD5 |
4c62300c4e2e6052bbe354a97f00355d
|
|
| BLAKE2b-256 |
92278694c97cc311ffd88623e244dc778f7fd119fc1daa6aa383a0cebe7b1153
|