Skip to main content

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


Download files

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

Source Distribution

ya_editor-0.0.2.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

ya_editor-0.0.2-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

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

Hashes for ya_editor-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a4a0ac3365303c95183d1bbd757b6ac42b1c54b7c27e664233ac95239dcfdec9
MD5 b1dac9882e93439ffc646e4c06d10dc2
BLAKE2b-256 945f1ead3c6d8a81ac49b3084978be518b5b087fe6477d41e7805dd0bd91bf50

See more details on using hashes here.

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

Hashes for ya_editor-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 694fbb1367b9f9950cd9ba77fbfb0c5fed91f63ddfab5f303664b3e27fddde91
MD5 0e1b18dee2074361cd59c0493e790bd2
BLAKE2b-256 12da3fbf14de4e4e9ff295e682fb7d0e97fcfb2c8bb2253104ca76ba3554a641

See more details on using hashes here.

Supported by

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