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


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.0.tar.gz (15.7 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.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

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

Hashes for elluminate-0.2.0.tar.gz
Algorithm Hash digest
SHA256 633d2de884f6d6a33ef8711b3f431c15a34f537066b60c74a922274cd9a379d5
MD5 e5cb4f138524d1a60fea84ef9ebf8fd0
BLAKE2b-256 ba11b9e3e249a21cd76c49ce9d066400d9adb828cd711822f25d9fcd65b85d64

See more details on using hashes here.

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

Hashes for elluminate-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eccaeaf322c6166b300b1a585f9f9d98420cb63536df028020c92d209d9a9bd1
MD5 4c62300c4e2e6052bbe354a97f00355d
BLAKE2b-256 92278694c97cc311ffd88623e244dc778f7fd119fc1daa6aa383a0cebe7b1153

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