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.
Metadata
Release files for dhivehigpt-sdk 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dhivehigpt_sdk-1.1.0.tar.gz | 20.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dhivehigpt_sdk-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.3 kB
Release files / dhivehigpt_sdk-1.1.0.tar.gz
| Download URL | dhivehigpt_sdk-1.1.0.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8164ebc2db04df786ffbe25692b125b16e363e45976488fad60939eb152d302
|
|
BLAKE2b-256 checksum How to use checksums |
f563f84f87d170359c4f016c5c6910373498f984414a644215ff9a36beae6467
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Release files / dhivehigpt_sdk-1.1.0-py3-none-any.whl
| Download URL | dhivehigpt_sdk-1.1.0-py3-none-any.whl |
|---|---|
| Size | 12.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b25d3c1019306489e6e790ca686710749209b2ff70df0c303364c91ecd56e76
|
|
BLAKE2b-256 checksum How to use checksums |
983ebd2f0030608aecc0061cc22099963349827a85001cedaae1cc894b5441d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|