Metadata-Version: 2.1
Name: es-translator
Version: 1.12.3
Summary: A lazy yet bulletproof machine translation tool for Elasticsearch.
License: GNU AFFERO GENERAL PUBLIC LICENSE
Author: ICIJ
Author-email: engineering@icij.org
Requires-Python: >=3.9,<3.13
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: argostranslate (>=1.9.6,<2.0.0)
Requires-Dist: celery[redis] (>=5.3.1,<6.0.0)
Requires-Dist: click (>=8,<9)
Requires-Dist: coloredlogs
Requires-Dist: deb-pkg-tools (>=8.4,<9.0)
Requires-Dist: elasticsearch (>=7.10,<7.18)
Requires-Dist: elasticsearch-dsl (>=7,<8.0.0)
Requires-Dist: filelock (>=3.12.2,<4.0.0)
Requires-Dist: numpy (>=1.26.0)
Requires-Dist: plotext (>=5.3.2,<6.0.0)
Requires-Dist: pycountry (>=24,<25)
Requires-Dist: rich (>=13,<14)
Requires-Dist: sh (>=1.14,<2.0)
Requires-Dist: torch (>=2.3,<2.4)
Requires-Dist: urllib3 (>=1.26,<2.0)
Description-Content-Type: text/markdown

# ES Translator [![](https://img.shields.io/github/actions/workflow/status/icij/es-translator/main.yml)](https://github.com/ICIJ/es-translator/actions) [![](https://img.shields.io/pypi/pyversions/es-translator)](https://pypi.org/project/es-translator/)

A lazy yet bulletproof machine translation tool for Elasticsearch.

## Installation

### pip

```bash
pip install es-translator
```

### Docker

```bash
docker run -it icij/es-translator es-translator --help
```

## Quick Start

Translate documents from French to English:

```bash
es-translator \
  --url "http://localhost:9200" \
  --index my-index \
  --source-language fr \
  --target-language en
```

## Features

- **Two translation engines**: Argos (neural MT) and Apertium (rule-based MT)
- **Distributed processing**: Scale across multiple servers with Celery/Redis
- **Elasticsearch integration**: Direct read/write with scroll API support
- **Flexible filtering**: Translate specific documents using query strings
- **Incremental translation**: Skip already-translated documents

## Documentation

- [Usage Guide](https://icij.github.io/es-translator/usage/) - Complete usage instructions
- [Configuration](https://icij.github.io/es-translator/configuration/) - All options and environment variables
- [Datashare Integration](https://icij.github.io/es-translator/datashare/) - Using with ICIJ's Datashare
- [Architecture](https://icij.github.io/es-translator/architecture/) - How es-translator works
- [API Reference](https://icij.github.io/es-translator/api/) - Python API documentation

## Contributing

Contributions are welcome! See our [Contributing Guide](https://icij.github.io/es-translator/contributing/) for details.

## License

This project is licensed under the MIT License. See [LICENSE](LICENSE.md) for details.

