NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3571 most downloaded on PyPI
Python library for the DeepL API.
Last release 1 months ago
13 Aug 2026
Release timing varies
gaps range from 8 days to 5 months
Nearly every release is documented
notes for 44 of 47 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
48 releases · first in 2017
chore: bump version to 1.32.0 (minor bump)
chore: bump version to 1.32.0 (minor bump)
correct_text() method to the DeepLClient class for fixing
spelling and grammar errors in text(s) via the /v2/write/correct
endpoint.Added support for using multiple glossaries via the glossary_ids parameter (up to 5 glossaries) in translate_text() , translate_document() , translate
glossary_ids parametertranslate_text(), translate_document(),translate_document_upload(), and translate_document_from_filepath().style_ruletranslate_document(), translate_document_upload(), andtranslate_document_from_filepath().translation_memory and translation_memory_threshold parameters intranslate_document(), translate_document_upload(), andtranslate_document_from_filepath().--glossary-ids CLI argument for the text and document commands,--style-id, --translation-memory-id, and--translation-memory-threshold CLI arguments to the document command.get_translation_memory(), list_translation_memory_segments(),delete_translation_memory(), create_translation_memory_import(),upload_translation_memory_file(), create_translation_memory_export(),get_translation_memory_job(),wait_until_translation_memory_job_done(), anddownload_translation_memory_export(), along with theimport_translation_memory_from_filepath() andexport_translation_memory_to_filepath() convenience functions that createawaiting_input for a while after the upload; the wait loop polls throughtimeout_s to bound the wait.TranslationMemorySegments, TranslationMemorySegment,TranslationMemoryTargetSegment, TranslationMemoryImport,TranslationMemoryExport, TranslationMemoryJob, andTranslationMemoryJobResult types.creation_time and updated_time properties toTranslationMemoryInfo.translation-memory CLI command with the list, get,segments, import, export, job, and delete subcommands.One column per quarter.
Added support for translation memories in text translation via translation_memory and translation_memory_threshold parameters in translate_text() .
translation_memory and translation_memory_threshold parameters intranslate_text().list_translation_memories() method to the DeepLClient class for--translation-memory-id and --translation-memory-threshold CLI$HOME from the global image.Added new language constants from January 2026 API release of 81 new languages.
DeepLClient class:create_style_rule(), get_style_rule(), update_style_rule_name(),update_style_rule_configured_rules(), and delete_style_rule().DeepLClient class: create_style_rule_custom_instruction(),get_style_rule_custom_instruction(),update_style_rule_custom_instruction(), anddelete_style_rule_custom_instruction().Updated dependencies to fix CVE-2025-66418 and CVE-2025-66471
NotFoundException error message by removing the misleading "check server_url" suggestion.Added tag_handling_version parameter to translate_text() to specify which version of the tag handling algorithm to use. Options are v1 and v2 .
tag_handling_version parameter to translate_text() to specify which versionv1 and v2.Added custom_instructions parameter to translate_text() to customize translation behavior with up to 10 instructions (max 300 characters each). Only s
custom_instructions parameter to translate_text() to customize translation behavior with up to 10 instructions (max 300 characters each). Only supported for target languages: de, en, es, fr, it, ja, ko, zh and their variants. Note: using the custom_instructions parameter will use the quality_optimized model type as the default. Requests combining custom_instructions and the latency_optimized model type will be rejected.custom_instructions parameter to translate_text() to customize translation
behavior with up to 10 instructions (max 300 characters each). Only supported for
target languages: de, en, es, fr, it, ja, ko, zh and their variants.
Note: using the custom_instructions parameter will use the quality_optimized model
type as the default. Requests combining custom_instructions and the
latency_optimized model type will be rejected.Added support for the GET /v3/style_rules endpoint in the client library, the implementation can be found in the DeepLClient class. Please refer to th
GET /v3/style_rules endpoint in the client library, the implementation can be found in the DeepLClient class. Please refer to the README for usage instructionsstyle_id option to translate_text() which allows text translation with style rules.extra_body_parameters will now overwrite already set HTTP parameters
extra_body_parameters will now overwrite already set HTTP parametersUpdated requests minimum version to 2.32.4 to resolve security advisories CVE-2024-47081 and CVE-2024-35195 .
translate_textrequests minimum version to 2.32.4 to resolve security advisoriesAdded support for the /v3 Glossary APIs in the client library while providing backwards compatibility for the previous /v2 Glossary endpoints. Please
(beta) optional parameter to specify timeout for document translation calls
Added support for the Write API in the client library, the implementation can be found in the DeepLClient class. Please refer to the README for usage
DeepLClient class. Please refer to the README for usage
instructions.DeepLClient
class. Please change your code to use this over the Translator class whenever
convenient.Added model_type option to translate_text() to use models with higher translation quality (available for some language pairs), or better latency. Opti
model_type option to translate_text() to use models with higher
translation quality (available for some language pairs), or better latency.
Options are 'quality_optimized', 'latency_optimized', and 'prefer_quality_optimized'model_type_used field to translate_text() response, that
indicates the translation model used when the model_type option is
specified.Fixed typing issues, black-formatting and a test case failure.
New language available: Arabic ('ar'). Add language code constants and tests. Arabic is currently supported only for text translation; document transl
New language available: Arabic ('ar'). Add language code constants and tests.
Arabic is currently supported only for text translation; document translation
support for Arabic is coming soon.
Note: older library versions also support the new language, this update only adds new code constants.
Added a section in the readme on how to configure retry options in http_client.py
Added output_format parameter for document upload function, that indicates the file extension of the desired file format for the translated document.
output_format parameter for document upload function, that indicates
the file extension of the desired file format for the translated document.mypy's strict mode
Fixed typo in error message when no auth key is provided.
packaging by replacing version comparison.Add optional context parameter for text translation, that specifies additional context to influence translations, that is not translated itself.
context parameter for text translation, that specifies
additional context to influence translations, that is not translated itself.py.typed to the package so that our package is typed for our users.Removed CHANGELOG.md and SECURITY.md from the python package. The LICENSE file is no longer installed, but still included in package tarball and wheel
CHANGELOG.md and SECURITY.md from the python package. The LICENSE file is no longer installed, but still included in package tarball and wheel files.
Add example to translate JSON inputs.
verify_ssl option to Translator to control underlying requests session SSL certification verification.
Add example script to translate Mustache templates.
Add example script to translate Mustache templates.
Add support for storing your API Key in a keyring via the keyring module.
Added a CI check for copyright headers.
New languages available: Korean ('ko') and Norwegian (bokmål) ('nb'). Add language code constants and tests.
Note: older library versions also support the new languages, this update only adds new code constants.
certifi to resolve security advisory.
certifi is a development-only dependency; library users are unaffected.State explicitly that this library supports Python 3.11.
should_retry and http_status_code properties to all exceptions
thrown by the library.py dependency by upgrading pytest version to 7.2.0 for Python 3.7+.
For Python 3.6 tests pytest needs to be added manually.tox dependency.coverage dependency.Add formality options 'prefer_less' and 'prefer_more'.
'prefer_less' and 'prefer_more'.503 Service Unavailable errors are now retried.
Attempting to download a document before translation is completed will now
wait and retry (up to 5 times by default), rather than raising an exception.New language available: Ukrainian ('uk'). Add language code constant and tests.
New language available: Ukrainian ('uk'). Add language code constant and tests.
Note: older library versions also support new languages, this update only adds new code constant.
Add Translator.create_glossary_from_csv() allowing glossaries downloaded from website to be easily uploaded to API.
Translator.create_glossary_from_csv() allowing glossaries downloaded
from website to be easily uploaded to API.Optional filename parameter added to Translator.translate_document(), only required if uploading string or bytes containing file content.
Deprecate limit_exceeded and any_limit_exceeded properties of Usage object returned by get_usage(), use limit_reached and any_limit_reached instead.
New languages available: Indonesian ('id') and Turkish ('tr'). Add language code constants and tests.
Note: older library versions also support the new languages, this update only adds new code constants.
Add limit_reached and any_limit_reached properties to Usage object
returned by get_usage().
Add Translator.translate_document_wait_until_done() to poll translation
status until translation is complete or fails.
Add auth_key_is_free_account() utility function.
limit_exceeded and any_limit_exceeded properties of Usage
object returned by get_usage(), use limit_reached and any_limit_reached
instead.Add error_message property to DocumentStatus, describing the error in case of document translation failure.
error_message property to DocumentStatus, describing the error in case of document translation failure.translate_text_with_glossary is called without an instance of GlossaryInfo.translate_document and translate_document_from_filepath return final DocumentStatus, allowing the number of
billed characters to be queried.Fix bug in CLI languages command causing some target languages to be omitted.
DocumentTranslationException.document_request is deprecated, use document_handle instead.
translate_text().DocumentTranslationException.document_request is deprecated, use document_handle instead.Fix bug in DocumentTranslationException stringize function.
DocumentTranslationException stringize function.Add contribution guidelines -- currently we are unable to accept Pull Requests.
--glossary-id argument for CLI document command.DocumentNotReadyException when attempting to download a document before it has been translated. Previously the
base class DeepLException was thrown.translate_document_upload() to fix uploading file content as string or bytes.Limit document status update wait time to 60 seconds, and log wait times.
Add glossary support for document translation.
Note: the PyPI package for 1.3.0 included changes from 1.3.1, so it has been yanked.
Fix bug that caused User-Agent header to be omitted from HTTP requests.
Some optional arguments related to language caching are now deprecated, and will be removed in a future version:
Translator.get_glossary_languages() to query language pairs supported for glossaries.Language.GERMAN.Translator(): the skip_language_check argumentTranslator.get_source_languages() and Translator.get_target_languages(): the skip_cache argumentLoosen requirement for requests to 2.0 or higher.
Improve request exception messages and include exception stacktraces.
Fix typing.List issue on Python 3.6.
Add support for glossary API functions.
Add explicit copyright notice to all source files.
All API calls use Authorization header instead of auth_key parameter.
Minor updates to pyproject.toml and README.md.
Version increased to avoid conflicts with old packages on PyPI.
Version increased to avoid conflicts with old packages on PyPI.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →