DhivehiGPT SDK for Python
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dhivehigpt_sdk-1.0.0.tar.gz.
File metadata
- Download URL: dhivehigpt_sdk-1.0.0.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
745a45cc30e6e05c76a241e879be3b40e98589a04136cd07ba428f68ba5f223d
|
|
| MD5 |
3e06864f81d2329f8afcda9c81e6d18e
|
|
| BLAKE2b-256 |
7609d5fe0f3b13e1b3eef426ba61d90c6cf894d374e0d59bb6e01f812483dde8
|
File details
Details for the file dhivehigpt_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dhivehigpt_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a4199d220ca7f5cfe8b27c7ba6e5889e0defdb247262f0d3d9e2da59f4809e9
|
|
| MD5 |
80ff4ae2008f9d268fb5476dd8e6127e
|
|
| BLAKE2b-256 |
1071af731da67bad9c921f68a7a4ca0830632803d3659c9888e8f7096b492758
|