SDK Configuration
This guide covers configuration for both Python and TypeScript SDKs, including basic setup, advanced options, and debugging capabilities.
Getting Started
Python SDK
The recommended approach to configuring the Python SDK is to use the opik configure
command. This will prompt you to set up your API key and Opik instance URL (if applicable) to ensure proper routing and authentication. All details will be saved to a configuration file.
Opik Cloud
Self-hosting
If you are using the Cloud version of the platform, you can configure the SDK by running:
You can also configure the SDK by calling configure
from the Command line:
The configure
methods will prompt you for the necessary information and save it to a configuration file (~/.opik.config
). When using the command line version, you can use the -y
or --yes
flag to automatically approve any confirmation prompts:
TypeScript SDK
For the TypeScript SDK, configuration is done through environment variables, constructor options, or configuration files.
Installation:
Basic Configuration:
You can configure the Opik client using environment variables in a .env
file:
Or pass configuration directly to the constructor:
Configuration Methods
Both SDKs support multiple configuration approaches with different precedence orders.
Configuration Precedence
Python SDK: Constructor options → Environment variables → Configuration file → Defaults
TypeScript SDK: Constructor options → Environment variables → Configuration file (~/.opik.config
) → Defaults
Environment Variables
Both SDKs support environment variables for configuration. Here’s a comparison of available options:
Using .env Files
Both SDKs support .env
files for managing environment variables. This is a good practice to avoid hardcoding secrets and to make your configuration more portable.
For Python projects, install python-dotenv
:
For TypeScript projects, dotenv
is automatically loaded by the SDK.
Create a .env
file in your project’s root directory:
Python usage with .env file:
TypeScript usage with .env file:
The TypeScript SDK automatically loads .env
files, so no additional setup is required:
Using Configuration Files
Both SDKs support configuration files for persistent settings.
Python SDK Configuration File
The Python SDK uses the TOML format. The configure
method creates this file automatically, but you can also create it manually:
Opik Cloud
Self-hosting
TypeScript SDK Configuration File
The TypeScript SDK also supports the same ~/.opik.config
file format as the Python SDK. The configuration file uses INI format internally but shares the same structure:
Opik Cloud
Self-hosting
By default, both SDKs look for the configuration file in your home directory (~/.opik.config
). You can specify a different location by setting the OPIK_CONFIG_PATH
environment variable.
Debug Mode and Logging
Both SDKs provide debug capabilities for troubleshooting integration issues.
Python SDK Debug Mode
To enable debug mode for the Python SDK, set these environment variables before importing opik
:
Using with .env file:
Then in your Python script:
TypeScript SDK Debug Mode
The TypeScript SDK uses structured logging with configurable levels:
Available log levels: SILLY
, TRACE
, DEBUG
, INFO
(default), WARN
, ERROR
, FATAL
Enable debug logging:
Or in .env file:
Programmatic control:
Advanced Configuration
Python SDK Advanced Options
HTTP Client Configuration
The Opik Python SDK uses the httpx library to make HTTP requests. The default configuration applied to the HTTP client is suitable for most use cases, but you can customize it by registering a custom httpx client hook as in following example:
Make sure to add the hook before using the Opik SDK.
TypeScript SDK Advanced Options
Batching Configuration
The TypeScript SDK uses batching for optimal performance. You can configure batching behavior:
Global Flush Control
Configuration Reference
Python SDK Configuration Values
TypeScript SDK Configuration Values
Troubleshooting
Python SDK Troubleshooting
SSL Certificate Error
If you encounter the following error:
You can resolve it by either:
- Disable the TLS certificate check by setting the
OPIK_CHECK_TLS_CERTIFICATE
environment variable tofalse
- Add the Opik server’s certificate to your trusted certificates by setting the
REQUESTS_CA_BUNDLE
environment variable
Health Check Command
If you are experiencing problems with the Python SDK, such as receiving 400 or 500 errors from the backend, or being unable to connect at all, run the health check command:
This command will analyze your configuration and backend connectivity, providing useful insights into potential issues.

Reviewing the health check output can help pinpoint the source of the problem and suggest possible resolutions.
TypeScript SDK Troubleshooting
Configuration Validation Errors
The TypeScript SDK validates configuration at startup. Common errors:
- “OPIK_URL_OVERRIDE is not set”: Set the
OPIK_URL_OVERRIDE
environment variable - “OPIK_API_KEY is not set”: Required for Opik Cloud deployments
- “OPIK_WORKSPACE is not set”: Required for Opik Cloud deployments
Debug Logging
Enable debug logging to troubleshoot issues:
Or programmatically:
Batch Queue Issues
If data isn’t appearing in Opik:
- Check if data is batched: Call
await client.flush()
to force sending - Verify configuration: Ensure correct API URL and credentials
- Check network connectivity: Verify firewall and proxy settings
General Troubleshooting
Environment Variables Not Loading
- Python: Ensure
load_dotenv()
is called before importingopik
- TypeScript: The SDK automatically loads
.env
files - Verify file location:
.env
file should be in project root - Check file format: No spaces around
=
in.env
files
Configuration File Issues
- File location: Default is
~/.opik.config
- Custom location: Use
OPIK_CONFIG_PATH
environment variable - File format: Python uses TOML, TypeScript uses INI format
- Permissions: Ensure file is readable by your application