A lightweight, zero-dependency Python SDK for the DhivehiGPT API.
- Python 3.8 or higher
- No runtime dependencies — the SDK only uses the Python standard library.
pip install dhivehigpt-sdkAPI 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.
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",
)voices = client.voices.list(gender="female", is_premium=False)
voice = client.voices.get("hajja")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 = client.balance.get()
print(balance["billing_period"]["balance"])tasks = client.tasks.list(platform="tts")
task = client.tasks.get("audio_generation")
cost = client.tasks.calculate(task="audio_generation", units=1000)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 |
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.
pip install -e ".[test]"
pytestPlease see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email info@javaabu.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.