Python Authentication
API key management in Python
Direct API Key
from vedika import VedikaClient
# Pass API key directly
client = VedikaClient(api_key="vk_live_abc123xyz789")
Never hardcode API keys in source code. Use environment variables instead.
Environment Variables (Recommended)
# .env file
VEDIKA_API_KEY=vk_live_abc123xyz789
# Using python-dotenv
from dotenv import load_dotenv
from vedika import VedikaClient
load_dotenv() # Load .env file
# Client auto-reads VEDIKA_API_KEY
client = VedikaClient()
Django Integration
# settings.py
import os
VEDIKA_API_KEY = os.environ.get("VEDIKA_API_KEY")
# views.py
from django.conf import settings
from vedika import VedikaClient
def get_vedika_client():
return VedikaClient(api_key=settings.VEDIKA_API_KEY)
Flask Integration
from flask import Flask, g
from vedika import VedikaClient
app = Flask(__name__)
app.config.from_prefixed_env() # Reads FLASK_VEDIKA_API_KEY
def get_client():
if 'vedika_client' not in g:
g.vedika_client = VedikaClient(
api_key=app.config.get('VEDIKA_API_KEY')
)
return g.vedika_client
@app.route('/chart')
def birth_chart():
client = get_client()
# Use client...
Test vs Live Keys
import os
from vedika import VedikaClient
# Use test key in development, live in production
api_key = os.environ.get("VEDIKA_API_KEY")
if api_key.startswith("vk_test_"):
print("Using TEST mode - mock data returned")
elif api_key.startswith("vk_live_"):
print("Using LIVE mode - real calculations")
client = VedikaClient(api_key=api_key)
Verify Connection
from vedika import VedikaClient
from vedika.exceptions import VedikaError
client = VedikaClient()
try:
health = client.health()
print(f"API Status: {health.status}")
usage = client.usage()
print(f"Credits: {usage.credits_remaining}")
except VedikaError as e:
if e.code == "INVALID_API_KEY":
print("Invalid API key!")
else:
print(f"Error: {e.message}")