# API Reference

Welcome to the TruLens API Reference! Use the search and navigation to explore the various modules and classes available in the TruLens library.

## Required and 📦 Optional packages

These packages are installed when installing the main `trulens` package.

- `trulens-core` installs [core](/content/reference/trulens/core/#trulens.core).
- `trulens-feedback` installs [feedback](/content/reference/trulens/feedback/#trulens.feedback).
- `trulens-dashboard` installs [dashboard](/content/reference/trulens/dashboard/#trulens.dashboard).
- `trulens_eval` installs [trulens_eval](/content/reference/trulens_eval/index.html), a temporary package for backwards compatibility.

Three categories of optional packages contain integrations with 3rd party app types and providers:

- [Apps](/content/reference/apps/index.html) for instrumenting apps.
  - 📦 [TruChain](/content/reference/trulens/apps/langchain/#trulens.apps.langchain.TruChain) in package `trulens-apps-langchain` for instrumenting LangChain apps.
  - 📦 [TruLlama](/content/reference/trulens/apps/llamaindex/#trulens.apps.llamaindex.TruLlama) in package `trulens-app-trullama` for instrumenting LlamaIndex apps.
  - 📦 [TruRails](/content/reference/trulens/apps/nemo/#trulens.apps.nemo.TruRails) in package `trulens-app-nemo` for instrumenting NeMo Guardrails apps.
- [Providers](/content/reference/providers/index.html) for invoking various models or using them for feedback functions.
  - 📦 [Cortex](/content/reference/trulens/providers/cortex/provider/#trulens.providers.cortex.provider.Cortex) in the package `trulens-providers-cortex` for using Snowflake Cortex models.
  - 📦 [LangChain](/content/reference/trulens/providers/langchain/provider/#trulens.providers.langchain.provider.Langchain) in the package `trulens-providers-langchain` for using models via LangChain.
  - 📦 [Bedrock](/content/reference/trulens/providers/bedrock/provider/#trulens.providers.bedrock.provider.Bedrock) in the package `trulens-providers-bedrock` for using Amazon Bedrock models.
  - 📦 [HuggingFace](/content/reference/trulens/providers/huggingface/provider/#trulens.providers.huggingface.provider.Huggingface) and [HuggingfaceLocal](/content/reference/trulens/providers/huggingface/provider/#trulens.providers.huggingface.provider.HuggingfaceLocal) in the package `trulens-providers-huggingface` for using HuggingFace models.
  - 📦 [LiteLLM](/content/reference/trulens/providers/litellm/provider/#trulens.providers.litellm.provider.LiteLLM) in the package `trulens-providers-litellm` for using models via LiteLLM.
  - 📦 [OpenAI](/content/reference/trulens/providers/openai/provider/#trulens.providers.openai.provider.OpenAI) and [AzureOpenAI](/content/reference/trulens/providers/openai/provider/#trulens.providers.openai.provider.AzureOpenAI) in the package `trulens-providers-openai` for using OpenAI models.
- [Connectors](/content/reference/connectors/index.html) for storing TruLens data.
  - 📦 [SnowflakeConnector](/content/reference/trulens/connectors/snowflake/connector/#trulens.connectors.snowflake.connector.SnowflakeConnector) in package `trulens-connectors-snowflake` for connecting to Snowflake databases.

Other optional packages:

- 📦 [Benchmark](/content/reference/trulens/benchmark/#trulens.benchmark) in package `trulens-benchmark` for running benchmarks and meta evaluations.

## Private API

Module members which begin with an underscore `_` are private and should not be used by code outside of _TruLens_.

Module members which begin but not end with double underscore `__` are class/module private and should not be used outside of the defining module or class.

**Warning**

There is no deprecation period for the private API.
