> ## Documentation Index
> Fetch the complete documentation index at: https://docs.learningcommons.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Constructor options and outputs for evaluators using the SDK.

export const EarlyAccessCallout = ({children}) => <div className="eyebrow-callout not-prose rounded-xl border border-gray-200/80 p-5 dark:border-white/10" style={{
  marginBottom: "1rem",
  borderRadius: "4px"
}}>
    <div className="mb-3">
      <Badge color="green" size="md" icon="flask">
        Early access
      </Badge>
    </div>
    <div className="callout-body text-[15px] leading-relaxed text-gray-700 dark:text-gray-300">{children}</div>
    <style>{`.callout-body a { text-decoration: underline; text-decoration-color: #178251; }`}</style>
  </div>;

<EarlyAccessCallout>
  This functionality is actively evolving. Changes may occur as we expand
  capabilities and improve accuracy and reliability. Email
  [support@learningcommons.org](mailto:support@learningcommons.org) ↗ with your
  feedback or issues.
</EarlyAccessCallout>

Our SDKs let you use evaluators in your own project. You can:

* Configure evaluators
* Understand their outputs
* Evaluate text in batches  <Badge>TypeScript only</Badge>
* Handle errors
* Customize logging
* Send telemetry data

## Installation

Install the SDK of your choice:

| Language   | Installation                                                                                          | Latest version                                                                                                                                                                |
| ---------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| TypeScript | [GitHub](https://github.com/learning-commons-org/evaluators/tree/main/sdks/typescript#installation) ↗ | [<img src="https://img.shields.io/npm/v/@learning-commons/evaluators" alt="npm version" style={{ margin: 0 }} />](https://www.npmjs.com/package/@learning-commons/evaluators) |
| Python     | [GitHub](https://github.com/learning-commons-org/evaluators/tree/main/sdks/python#installation) ↗     | [<img src="https://img.shields.io/pypi/v/learning-commons-evaluators" alt="PyPI version" style={{ margin: 0 }} />](https://pypi.org)                                          |

<Note>
  [Contact us](mailto:support@learningcommons.org) ↗ to request additional SDK
  language support. You can also [sign up on the Learning Commons
  Platform](http://platform.learningcommons.org/) ↗ for updates on availability.
</Note>

## Quickstart

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { GradeLevelAppropriatenessEvaluator } from "@learning-commons/evaluators";

  const evaluator = new GradeLevelAppropriatenessEvaluator({
    googleApiKey: process.env.GOOGLE_API_KEY,
  });

  const result = await evaluator.evaluate("The cat's out of the bag now.");
  console.log(result.score); // 4-5
  ```

  ```python Python theme={null}
  import logging
  from learning_commons_evaluators import (
      ConventionalityEvaluator,
      ConventionalityEvaluationInput,
      GoogleLLMProviderConfig,
      create_config_no_telemetry,
  )

  # Logger
  logging.basicConfig(level=logging.INFO)

  # Config with Google API key
  config = create_config_no_telemetry(
    google_llm_provider_config=GoogleLLMProviderConfig(api_key="your-google-key"),
  )

  # Instantiate ConventionalityEvaluator with created config
  evaluator = ConventionalityEvaluator(config)

  # Evaluate some text for 5th grade
  result = evaluator.evaluate_sync(
    ConventionalityEvaluationInput(text="The cat's out of the bag now.", grade=5)
  )

  print(result.answer.label) # e.g. "Moderately complex"
  print(result.explanation.summary) # Reasoning for the score

  ```
</CodeGroup>

## SDK release history

### TypeScript

[Read the full changelog here](https://github.com/learning-commons-org/evaluators/blob/main/sdks/typescript/CHANGELOG.md).

| Date           | Changed                                                                              | Version |
| -------------- | ------------------------------------------------------------------------------------ | ------- |
| May 22, 2026   | Added `bypassRowLimit` option for the batch evaluator                                | v0.6.0  |
| May 07, 2026   | Added support for Purpose evaluator. Added `modelOverride` option to all evaluators. | v0.5.0  |
| March 23, 2026 | Added Batch CSV Evaluator.                                                           | v0.4.0  |
| March 20, 2026 | Added support for Conventionality Evaluator.                                         | v0.3.0  |
| March 18, 2026 | Added support for Subject Matter Knowledge Evaluator.                                | v0.2.0  |
| March 13, 2026 | First release.                                                                       | v0.1.0  |

### Python

[Read the full changelog here](https://github.com/learning-commons-org/evaluators/blob/main/sdks/python/CHANGELOG.md).

| Date         | Changed        | Version |
| ------------ | -------------- | ------- |
| May 22, 2026 | First release. | v0.1.0  |
