Yandex translate, correct, rewrite, and improve for Russian and English
Project description
ya_editor
Асинхронная Python-библиотека (3.11+) для работы с неофициальным API Яндекс.Редактора и Яндекс.Переводчика. Позволяет переводить, исправлять, улучшать и трансформировать тексты без необходимости получения API-ключей.
⚠️ Библиотека использует внутренние API Яндекса, которые не предназначены для публичного использования.
Возможности
Публичные функции
| Функция | Описание |
|---|---|
translate() |
Перевод текста между русским и английским языками |
transform() |
Преобразование русского/английского текста с различными режимами |
Режимы трансформации (TransformActions)
| Действие | Описание |
|---|---|
correct |
Исправление орфографических, пунктуационных и типографических ошибок |
improve |
Общее улучшение читаемости, стиля и структуры |
rephrase |
Перефразирование с сохранением смысла |
simple |
Упрощение лексики и синтаксиса |
complex |
Усложнение, обогащение лексики |
formal |
Преобразование в официально-деловой стиль |
casual |
Преобразование в разговорный стиль |
translate |
Перевод Ru↔En через редактор |
Установка
uv add ya-editor --prerelease=allow
pip install --upgrade --pre ya-editor
Быстрый старт
import asyncio
from ya_editor import translate, transform
async def main():
# Перевод текста
translated = await translate("Hello, world!")
print(translated) # "Привет, мир!"
# Исправление ошибок
corrected = await transform("Превет как дила?", action='correct')
print(corrected) # "Привет, как дела?"
# Улучшение текста
improved = await transform("Текст написан плохо. Надо лучше.", action='improve')
print(improved)
asyncio.run(main())
API Reference
translate(input_text, logger=None) -> str
Асинхронно переводит текст между русским и английским языками.
Параметры:
input_text(str): Исходный текст для переводаlogger(Logger, optional): Экземпляр стандартного логгера Python
Возвращает: Переведённый текст
Пример:
# Русский → Английский
result = await translate("Доброе утро!")
# "Good morning!"
# Английский → Русский
result = await translate("Good morning!")
# "Доброе утро!"
transform(input_text, action='correct', logger=None) -> str
Выполняет преобразование текста согласно указанному действию.
Параметры:
input_text(str): Исходный текстaction(TransformActions): Тип преобразования (по умолчанию'correct')logger(Logger, optional): Экземпляр логгера
Возвращает: Преобразованный текст
Примеры использования
Исправление ошибок
text = """
Привет всем! Сиводня я хачу расказать вам о важном.
Не забудте подписатся на канал, поставить лайк.
"""
result = await transform(text, action='correct')
# "Привет всем! Сегодня я хочу рассказать вам о важном.
# Не забудьте подписаться на канал, поставить лайк."
Упрощение текста
complex_text = """
Имплементация данного алгоритма предполагает использование
рекурсивных структур данных с амортизированной сложностью O(log n).
"""
result = await transform(complex_text, action='simple')
# Более простое объяснение того же самого
Формализация текста
casual_text = "Привет! Слушай, нам бы созвониться, обсудить проект."
result = await transform(casual_text, action='formal')
# "Здравствуйте! Предлагаю организовать телефонный разговор
# для обсуждения проекта."
Работа с логированием
import logging
# Настройка логгера
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('ya_editor')
# Использование с логгером — полезно для отладки и мониторинга
result = await translate(long_text, logger=logger)
# В логах будут сообщения о повторных попытках:
# WARNING - чанк [2/5]: попытка 1/3 — YandexRequestError. повтор через 2.0с...
Обработка больших текстов
# Библиотека автоматически разбивает большие тексты на чанки
large_text = "..." * 50000 # Большой текст
# Автоматическое разбиение на части до 10000 символов
# с сохранением Markdown-разметки
result = await transform(large_text, action='improve')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ya_editor-0.0.2.tar.gz.
File metadata
- Download URL: ya_editor-0.0.2.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4a0ac3365303c95183d1bbd757b6ac42b1c54b7c27e664233ac95239dcfdec9
|
|
| MD5 |
b1dac9882e93439ffc646e4c06d10dc2
|
|
| BLAKE2b-256 |
945f1ead3c6d8a81ac49b3084978be518b5b087fe6477d41e7805dd0bd91bf50
|
File details
Details for the file ya_editor-0.0.2-py3-none-any.whl.
File metadata
- Download URL: ya_editor-0.0.2-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
694fbb1367b9f9950cd9ba77fbfb0c5fed91f63ddfab5f303664b3e27fddde91
|
|
| MD5 |
0e1b18dee2074361cd59c0493e790bd2
|
|
| BLAKE2b-256 |
12da3fbf14de4e4e9ff295e682fb7d0e97fcfb2c8bb2253104ca76ba3554a641
|