argostranslate
Open-source neural machine translation library based on OpenNMT's CTranslate2
Decision gist · record as of 2026-08-14
Yes, if you need offline neural translation and can manage model downloads. The library is actively maintained, permissively licensed, and has low install friction. Main considerations: you must download language models before translating (not included in the package), and the seven NLP dependencies add complexity. No known security vulnerabilities. Best suited for applications requiring privacy, offline operation, or avoiding API dependencies; less ideal if you need quick setup with minimal configuration.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires downloading and installing language model packages (.argosmodel files) before translation; GPU acceleration requires setting ARGOS_DEVICE_TYPE environment variable and CTranslate2 GPU support.
- Low install friction with a pure Python wheel distribution.
- Actively maintained with recent commits and stable production status.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute the package freely in commercial or private projects with minimal restrictions.
last release 2026-02-02 (193 days) · last repo commit 2026-08-08 · 6,372 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 300,419 downloads/mo, #7,842 on PyPI
Alternatives
Verify before relying
pip install argostranslate
import argostranslate.package
import argostranslate.translate
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
filter(
lambda x: x.from_code == "en" and x.to_code == "es",
available_packages
)
)
argostranslate.package.install_from_path(package_to_install.download())
translatedText = argostranslate.translate.translate("Hello World", "en", "es")
print(translatedText)- Whether language model downloads are cached locally or re-downloaded on each use
- Typical latency and throughput for translation operations on CPU vs GPU
- Memory footprint when multiple language models are installed simultaneously
- Quality degradation when pivoting through intermediate languages vs direct translation
What it is and what it does
Argos Translate is a Python library for offline neural machine translation built on OpenNMT's CTranslate2. It lets you translate text between language pairs by downloading pre-trained model packages and running them locally without external API calls. The library can automatically chain translations through intermediate languages when a direct model isn't available—for example, translating Spanish to French by routing through English if you have es→en and en→fr models installed.
You interact with it through Python code, a command-line interface, or by building on top of it (LibreTranslate is an example web service built on Argos Translate). The package handles model discovery, installation, and management. It supports GPU acceleration via CTranslate2 when configured with the ARGOS_DEVICE_TYPE environment variable, and depends on several NLP libraries (spacy, stanza, sacremoses, sentencepiece, minisbd) for preprocessing and tokenization.
Use it for
- Translate user-generated content in a web or desktop application without sending data to a third-party translation API
- Build a command-line tool that translates documents or text snippets locally on demand
- Integrate translation into a data processing pipeline where you need to preserve privacy or avoid API rate limits
- Experiment with neural machine translation models and language pivoting strategies for research or prototyping
- Deploy a translation service on edge devices or servers where external API access is unavailable or undesirable
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need offline neural translation and can manage model downloads.
The library is actively maintained, permissively licensed, and has low install friction. Main considerations: you must download language models before translating (not included in the package), and the seven NLP dependencies add complexity. No known security vulnerabilities. Best suited for applications requiring privacy, offline operation, or avoiding API dependencies; less ideal if you need quick setup with minimal configuration.
Install
argostranslate on PyPI
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained with recent commits and stable production status. Seven runtime dependencies (ctranslate2, spacy, stanza, sacremoses, sentencepiece, minisbd, packaging) are well-established NLP libraries, though the full translation pipeline adds moderate complexity.
Requires downloading and installing language model packages (.argosmodel files) before translation; GPU acceleration requires setting ARGOS_DEVICE_TYPE environment variable and CTranslate2 GPU support.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install argostranslate
import argostranslate.package
import argostranslate.translate
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
filter(
lambda x: x.from_code == "en" and x.to_code == "es",
available_packages
)
)
argostranslate.package.install_from_path(package_to_install.download())
translatedText = argostranslate.translate.translate("Hello World", "en", "es")
print(translatedText)
Verify before relying
- Whether language model downloads are cached locally or re-downloaded on each use
- Typical latency and throughput for translation operations on CPU vs GPU
- Memory footprint when multiple language models are installed simultaneously
- Quality degradation when pivoting through intermediate languages vs direct translation
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.5 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesctranslate2minisbdpackagingsacremosessentencepiecespacystanza |
| Maintenance | Actively maintained 193 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 300,419 / month, #7,842 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3 |
Evidence: argostranslate-1.11.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “offline neural machine translation”
- argostranslateArgos Translate is an open-source offline neural machine translation…
- unbabel-cometEvaluates machine translation quality using neural metrics, scoring…
- azure-ai-translation-textProvides a Python client for Azure's neural machine translation…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also translators · deep-translator · translate · ctranslate2 · azure-ai-translation-text · libretranslatepy · googletrans · googletrans-py · azure-ai-translation-document · google-cloud-translate