Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DhivehiGPT SDK for Python

Latest Version on PyPI Test Status Code Coverage Badge Total Downloads

A lightweight, zero-dependency Python SDK for the DhivehiGPT API.

Requirements

  • Python 3.8 or higher
  • No runtime dependencies — the SDK only uses the Python standard library.

Installation

pip install dhivehigpt-sdk

Getting an API key

API keys are generated from your DhivehiGPT team's API Keys page. You'll need:

  • A DhivehiGPT team account with an active subscription.
  • To be a team owner or team admin — only owners and admins can generate API keys.

Quick start

The client reads the API key from the DHIVEHIGPT_API_KEY environment variable by default:

export DHIVEHIGPT_API_KEY="your-api-key"
from dhivehigpt_sdk import DhivehiGPT

client = DhivehiGPT()

# or pass the API key explicitly
client = DhivehiGPT(api_key="your-api-key")

base_url and api_version are optional and default to https://api.dhivehigpt.com and v1:

client = DhivehiGPT(
    api_key="your-api-key",
    base_url="https://api.dhivehigpt.com",
    api_version="v1",
)

Usage

Voices

voices = client.voices.list(gender="female", is_premium=False)
voice = client.voices.get("hajja")

Text-to-Speech (TTS)

audio = client.tts.generate(text="ދިވެހިޖީޕީޓީއަށް މަރުޙަބާ", voice="hajja")

audios = client.tts.list(voice="hajja", per_page=20)
one = client.tts.get(audio["data"]["uuid"])
client.tts.update(audio["data"]["uuid"], title="Welcome message")
client.tts.delete(audio["data"]["uuid"])

Balance

balance = client.balance.get()
print(balance["billing_period"]["balance"])

Tasks

tasks = client.tasks.list(platform="tts")
task = client.tasks.get("audio_generation")
cost = client.tasks.calculate(task="audio_generation", units=1000)

Error handling

All errors raised by the SDK inherit from dhivehigpt_sdk.DhivehiGPTError:

from dhivehigpt_sdk import DhivehiGPT, DhivehiGPTError, NotFoundError

client = DhivehiGPT()

try:
    client.voices.get("does-not-exist")
except NotFoundError as e:
    print(e.status_code, e.message)
except DhivehiGPTError as e:
    print("Something else went wrong:", e)
Exception Cause
AuthenticationError Missing, invalid, or revoked API key (401)
PermissionDeniedError Not enough credits, etc. (403)
NotFoundError Resource does not exist (404)
ValidationError Invalid request data (422); see error.errors
RateLimitError Exceeded 60 requests/minute per API key (429)
ServerError Upstream error (5xx)
APIConnectionError Could not reach the API

Documentation

Full documentation is available at https://docs.javaabu.com/docs/dhivehigpt-sdk-python.

The full DhivehiGPT API reference is available at https://dhivehigpt.com/docs.

Find yourself stuck using the package? Found a bug? Do you have general questions or suggestions? Feel free to create an issue on GitHub, we'll try to address it as soon as possible.

If you've found a bug regarding security please mail info@javaabu.com instead of using the issue tracker.

Testing

pip install -e ".[test]"
pytest

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email info@javaabu.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

DhivehiGPT SDK to interact with the DhivehiGPT API using Python applications

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages