Skip to content

Configuration

The MicroDC client can be configured via environment variables, a configuration file, or programmatically.

Environment Variables

MICRODC_API_KEY=mDC_499FC19C-686A-47C5-AA93-E619C55EBE98
MICRODC_BASE_URL=https://api.microdc.ai
MICRODC_TIMEOUT=30
MICRODC_POLL_INTERVAL=2.0
MICRODC_VERIFY_SSL=true
Variable Default Description
MICRODC_API_KEY (required) API key for authentication
MICRODC_BASE_URL https://api.microdc.ai Base URL for the API
MICRODC_TIMEOUT 30 Request timeout in seconds
MICRODC_POLL_INTERVAL 2.0 Polling interval in seconds
MICRODC_VERIFY_SSL true Enable SSL verification

Configuration File

Create a .microdc.json file in your project root:

{
    "api_key": "mDC_499FC19C-686A-47C5-AA93-E619C55EBE98",
    "base_url": "https://api.microdc.ai",
    "timeout": 30,
    "poll_interval": 2.0,
    "default_model": "llama3.3",
    "default_priority": "standard"
}

Warning

Do not commit .microdc.json to version control if it contains your API key. Add it to .gitignore.

Programmatic Configuration

from microdc import Client, Config

config = Config(
    api_key="mDC_...",
    base_url="https://api.microdc.ai",
    timeout=60,
    max_retries=5,
    poll_interval=1.0
)

client = Client.from_config(config)

Client Constructor Options

client = Client(
    api_key="mDC_...",           # Required: API key
    base_url="https://api.microdc.ai",  # API endpoint
    timeout=30,                   # Request timeout (seconds)
    verify_ssl=True,              # SSL certificate verification
    auto_start_polling=True       # Auto-start background polling
)
Parameter Type Default Description
api_key str (required) API key starting with mDC_
base_url str https://api.microdc.ai API base URL
timeout int 30 Request timeout in seconds
verify_ssl bool True Verify SSL certificates
auto_start_polling bool True Start polling on init

Configuration Precedence

Configuration is resolved in this order (highest to lowest priority):

  1. Constructor arguments -- Values passed directly to Client()
  2. Environment variables -- MICRODC_* variables
  3. Configuration file -- .microdc.json
  4. Defaults -- Built-in default values

Polling Configuration

The client uses background polling to check job status:

# Default: polls every 2 seconds
client = Client(api_key="mDC_...")

# Custom poll interval
client = Client(api_key="mDC_...", auto_start_polling=True)

# Disable auto-polling (manual control)
client = Client(api_key="mDC_...", auto_start_polling=False)

Retry Configuration

The client automatically retries failed requests:

  • Retry attempts: 3
  • Base delay: 1 second
  • Backoff multiplier: 2.0 (exponential)
  • Retryable status codes: 408, 429, 500, 502, 503, 504