Skip to main content

Official Python SDK for the Langbly translation API

Project description

langbly-python

PyPI Python License: MIT

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

Installation

pip install langbly

Quick Start

from langbly import Langbly

client = Langbly(api_key="your-api-key")

# Translate text
result = client.translate("Hello world", target="nl")
print(result.text)  # "Hallo wereld"

# Batch translate
results = client.translate(["Hello", "Goodbye"], target="nl")
for r in results:
    print(r.text)

# Detect language
detection = client.detect("Bonjour le monde")
print(detection.language)  # "fr"

# List supported languages
languages = client.languages(target="en")

Migrate from Google Translate

Already using google-cloud-translate? Switching takes 2 minutes:

# Before (Google Translate)
from google.cloud import translate_v2 as translate
client = translate.Client()
result = client.translate("Hello", target_language="nl")

# After (Langbly) — same concepts, better translations, 5x cheaper
from langbly import Langbly
client = Langbly(api_key="your-key")
result = client.translate("Hello", target="nl")

→ Full migration guide: langbly.com/docs/migrate-google

Features

  • Google Translate v2 API compatible — same endpoint format
  • Auto-retry — exponential backoff on 429/5xx with Retry-After support
  • Typed errorsRateLimitError, 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 with for automatic cleanup

Error Handling

from langbly import Langbly, RateLimitError, AuthenticationError

client = Langbly(api_key="your-key")

try:
    result = client.translate("Hello", target="nl")
except AuthenticationError:
    print("Invalid API key")
except RateLimitError as e:
    print(f"Rate limited — retry after {e.retry_after}s")

API Reference

Langbly(api_key, base_url=None, timeout=30.0, max_retries=2)

Create a client instance.

  • api_key (str): Your Langbly API key — get one free
  • base_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)

client.translate(text, target, source=None, format=None)

  • text (str | list[str]): Text(s) to translate
  • target (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"

client.detect(text)

  • text (str): Text to analyze

client.languages(target=None)

  • target (str, optional): Language code to return names in

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langbly-0.2.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langbly-0.2.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file langbly-0.2.0.tar.gz.

File metadata

  • Download URL: langbly-0.2.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for langbly-0.2.0.tar.gz
Algorithm Hash digest
SHA256 935c1776d4728b98e23581e8613d13030b9ea613a3970bf295c52733e3dd0862
MD5 8affd1ba192d9cf7b2103f056e222fd8
BLAKE2b-256 043d2623026f0c69f5e9e8463b8c847418bf5809b9b6e49c4647de1ad1b50d77

See more details on using hashes here.

File details

Details for the file langbly-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: langbly-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for langbly-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8acacbe80b9c0e21f4354c424726b6a982442c243731b5ca840adeee4e5b9017
MD5 601b94814f34ffea3fc1c45c43db7ddc
BLAKE2b-256 28d674e43755be48c6287d7b509e7bb9a38d86e14b78159a91d3d54010f4a78d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page