> For the complete documentation index, see [llms.txt](https://docs.dbnl.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dbnl.com/v0.31.x/reference/python-sdk.md).

# Python SDK

The Python SDK can be used for programmatically creating projects and uploading data to them.

{% hint style="info" %}
We recommend using the UI to create projects as part of a normal workflow. This will provide the best experience and most options for project setup. For more information see [Projects](https://github.com/dbnlAI/docs/blob/main/reference/workflow/projects.md).
{% endhint %}

See [SDK Log Ingestion](https://github.com/dbnlAI/docs/blob/main/reference/configuration/data-connections/sdk-log-ingestion.md) for more information and examples on using the SDK to upload log data to your deployment.

## Installation

To install the latest SDK, run:

```shell
pip install --upgrade dbnl
```

## SDK Functions

* [`convert_otlp_traces_data()`](/v0.31.x/reference/python-sdk/sdk-functions.md#convert_otlp_traces_data)
* [`create_filter()`](/v0.31.x/reference/python-sdk/sdk-functions.md#create_filter)
* [`create_llm_model()`](/v0.31.x/reference/python-sdk/sdk-functions.md#create_llm_model)
* [`create_metric()`](/v0.31.x/reference/python-sdk/sdk-functions.md#create_metric)
* [`create_project()`](/v0.31.x/reference/python-sdk/sdk-functions.md#create_project)
* [`delete_filter()`](/v0.31.x/reference/python-sdk/sdk-functions.md#delete_filter)
* [`delete_llm_model()`](/v0.31.x/reference/python-sdk/sdk-functions.md#delete_llm_model)
* [`delete_metric()`](/v0.31.x/reference/python-sdk/sdk-functions.md#delete_metric)
* [`flatten_otlp_traces_data()`](/v0.31.x/reference/python-sdk/sdk-functions.md#flatten_otlp_traces_data)
* [`get_filter()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_filter)
* [`get_llm_model()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_llm_model)
* [`get_metric()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_metric)
* [`get_or_create_filter()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_or_create_filter)
* [`get_or_create_llm_model()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_or_create_llm_model)
* [`get_or_create_metric()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_or_create_metric)
* [`get_or_create_project()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_or_create_project)
* [`get_project()`](/v0.31.x/reference/python-sdk/sdk-functions.md#get_project)
* [`init_tracing()`](/v0.31.x/reference/python-sdk/sdk-functions.md#init_tracing)
* [`log()`](/v0.31.x/reference/python-sdk/sdk-functions.md#log)
* [`login()`](/v0.31.x/reference/python-sdk/sdk-functions.md#login)
* [`update_filter()`](/v0.31.x/reference/python-sdk/sdk-functions.md#update_filter)
* [`update_llm_model()`](/v0.31.x/reference/python-sdk/sdk-functions.md#update_llm_model)
* [`update_metric()`](/v0.31.x/reference/python-sdk/sdk-functions.md#update_metric)

## Classes

* [`LLMModel`](/v0.31.x/reference/python-sdk/classes.md#LLMModel)
* [`Metric`](/v0.31.x/reference/python-sdk/classes.md#Metric)
* [`Project`](/v0.31.x/reference/python-sdk/classes.md#Project)
