Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

deepl-fastapi-pw

tests pythonCode style: blackLicense: MITPyPI version

Your own deepl server via fastapi and playwright, cross-platform (Windows/Linux/MacOs) with API for OmegaT

Installation

  • Create a virual environment: optional but recommended e.g.,
    # Linux and friends
    python3.8 -m venv .venv
    source .venv/bin/activate
    
    # Windows
    # py -3.8 -m venv .venv
    # .venv\Scripts\activate
    
pip install deepl-fastapi-pw

or (if your use poetry)

poetry add deepl-fastapi-pw

or

 pip install git+https://github.com/ffreemt/deepl-fastapi-playwright.git

or

Usage

  • Start the server
python  -m deepl_fastapi_pw

Or use uvicorn directly (note the deepl_server module, not run_uvicorn)

uvicorn deepl_fastapi_pw.deepl_server_async:app

or

python -m deepl_fastapi_pw.deepl_server_async

or run the server on the external net, for example at port 9888

uvicorn deepl_fastapi_pw.deepl_server:app --reload --host 0.0.0.0 --port 9888

Explore and consume

Point your browser to http://127.0.0.1:8001/text/?q=test&to_lang=zh

Or in command line:

python -c "import httpx; print(httpx.get('http://127.0.0.1:8001/text/?to_lang=zh&q=test 1\ntest 2').json())"
# output: {'q': 'test 1\ntest 2', 'from_lang': None, 'to_lang': 'zh', 'trtext': '测试 1\n测试 2', 'translation': '测试 1\n测试 2'}

Or in python code (pip install requests first)

import requests

# get
url = "http://127.0.0.1:8001/text/?q=test me&to_lang=zh"
print(requests.get(url).json())
# {'q': 'test me', 'from_lang': None, 'to_lang':
# 'zh', 'trtext': '考我', 'translation': '考我'}

'translation' is there for OmegaT plugin. Refer to the OmegaT Fake MT plugin setup part in https://github.com/ffreemt/deepl-fastapi

# post
text = "test me \n and him"
data = {"text": text, "to_lang": "zh"}
resp = requests.post("http://127.0.0.1:8001/text", json=data)
print(resp.json())
# {'q': {'text': 'test me \n and him', 'from_lang': None,
# 'to_lang': 'zh', 'description': None}, 'result': '考验我 \n  我和他'}

NB

  • Text longer than 1500 characters will be trimmed to 1500. This is what the deepl.com webpage can handle (used to be 5000 characters).
  • The package deepl-fastapi-pw is in essence a browser from your local IP (although a proxy can be used, refer to get-pwbroser's doc for setting up). Hence if you send too many requests too frequently, your IP may be blocked by deepl.com temporarily, which of course will also disable deepl-fastapi-pw.

Interactive Docs (Swagger UI)

http://127.0.0.1:8001/docs

Download files

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

Source Distribution

deepl_fastapi_pw-0.1.0a6.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

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

deepl_fastapi_pw-0.1.0a6-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file deepl_fastapi_pw-0.1.0a6.tar.gz.

File metadata

  • Download URL: deepl_fastapi_pw-0.1.0a6.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.8.10 Windows/10

File hashes

Hashes for deepl_fastapi_pw-0.1.0a6.tar.gz
Algorithm Hash digest
SHA256 c59314708c3fe0ca520306510eb4859e063fb15a4b539d338ec4100a165e09d5
MD5 f3a3499856f67c5885f663714d1b3797
BLAKE2b-256 1ad9858e3ccc0d0d61e10d643e62bfea4bcc31565fd9ada9fc47d2708ce07ef5

See more details on using hashes here.

File details

Details for the file deepl_fastapi_pw-0.1.0a6-py3-none-any.whl.

File metadata

File hashes

Hashes for deepl_fastapi_pw-0.1.0a6-py3-none-any.whl
Algorithm Hash digest
SHA256 c24b0b83cd61631bc3241480208cec41553f690aeae6d1b90fbe7b70507a6332
MD5 40c2b261c4679bd9b9432b45b79bea93
BLAKE2b-256 c699089537cc41eb82033fa20c66d33fa07fe622145dff7cd2ca1620b9864401

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0a6 This release

2 files

Supported by

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