Official Python SDK for the Langbly translation API — a drop-in replacement for Google Translate v2, powered by LLMs.
5-10x cheaper than Google Translate · Better quality · Switch in one PR
pip install langblyfromlangblyimportLangblyclient=Langbly(api_key="your-api-key")
# Translate textresult=client.translate("Hello world", target="nl")
print(result.text) # "Hallo wereld"# Batch translateresults=client.translate(["Hello", "Goodbye"], target="nl")
forrinresults:
print(r.text)
# Detect languagedetection=client.detect("Bonjour le monde")
print(detection.language) # "fr"# List supported languageslanguages=client.languages(target="en")Already using google-cloud-translate? Switching takes 2 minutes:
# Before (Google Translate)fromgoogle.cloudimporttranslate_v2astranslateclient=translate.Client()
result=client.translate("Hello", target_language="nl")
# After (Langbly) — same concepts, better translations, 5x cheaperfromlangblyimportLangblyclient=Langbly(api_key="your-key")
result=client.translate("Hello", target="nl")→ Full migration guide: langbly.com/docs/migrate-google
- Google Translate v2 API compatible — same endpoint format
- Auto-retry — exponential backoff on 429/5xx with Retry-After support
- Typed errors —
RateLimitError,AuthenticationError,LangblyError - Batch translation — translate multiple texts in one request
- Language detection — automatic source language identification
- HTML support — translate HTML while preserving tags
- Context manager — use
withfor automatic cleanup
fromlangblyimportLangbly, RateLimitError, AuthenticationErrorclient=Langbly(api_key="your-key")
try:
result=client.translate("Hello", target="nl")
exceptAuthenticationError:
print("Invalid API key")
exceptRateLimitErrorase:
print(f"Rate limited — retry after {e.retry_after}s")Create a client instance.
api_key(str): Your Langbly API key — get one freebase_url(str, optional): Override the API URL (default:https://api.langbly.com)timeout(float, optional): Request timeout in seconds (default: 30)max_retries(int, optional): Retries for transient errors (default: 2)
text(str | list[str]): Text(s) to translatetarget(str): Target language code (e.g., "nl", "de", "fr")source(str, optional): Source language code (auto-detected if omitted)format(str, optional): "text" or "html"
text(str): Text to analyze
target(str, optional): Language code to return names in
MIT