Skip to main content

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:

  1. Go to the elluminate_sdk directory 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
  1. 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:

  1. Install cookbook dependencies
uv sync --extra cookbooks
  1. 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:

  1. Install the SDK with development dependencies:
uv sync --dev
  1. Activate the uv virtual environment:
source .venv/bin/activate
  1. To deactivate the virtual environment:
deactivate

Running Tests

To run tests for the Elluminate SDK:

  1. Install the SDK with development dependencies:
uv sync --dev
  1. 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:

  1. Update the version in __init__.py following semantic versioning (X.Y.Z)

  2. Push your changes to GitHub.

  3. 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__.py file. This acts as a santiy check.
    • Builds and publishes the SDK to PyPI

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

elluminate-0.2.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elluminate-0.2.1-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file elluminate-0.2.1.tar.gz.

File metadata

  • Download URL: elluminate-0.2.1.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.18

File hashes

Hashes for elluminate-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d4dde1d547c4b139ea5225ed1166e4730ad6d3190721e2108e1e212e85417279
MD5 3b22420a506242634240878498fc0157
BLAKE2b-256 ab4ba0bf26b702de762f72bb6cdd01c64830ccc2954934427046c72e07276252

See more details on using hashes here.

File details

Details for the file elluminate-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: elluminate-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.18

File hashes

Hashes for elluminate-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 062b46bb4de5d01255814a43df70dd07a00101723f1f09e55c7a35a063bd9d47
MD5 349504962c519b78bc6e4317158c88b0
BLAKE2b-256 4147a2e6075df3e23b072546879596c83f96f0c293188e16c41804525a971dc7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page