Skip to main content

Yandex translate, correct, rewrite, and improve for Russian and English

Project description

ya_editor

Асинхронная Python-библиотека для работы с неофициальным API Яндекс.Редактора и Яндекс.Переводчика. Позволяет переводить, исправлять, улучшать и трансформировать тексты без необходимости получения API-ключей.

⚠️ Библиотека использует внутренние API Яндекса, которые не предназначены для публичного использования.

Возможности

Публичные функции

Функция Описание
translate() Перевод текста между русским и английским языками
transform() Преобразование русского/английского текста с различными режимами

Режимы трансформации (TransformActions)

Действие Описание
correct Исправление орфографических, пунктуационных и типографических ошибок
improve Общее улучшение читаемости, стиля и структуры
rephrase Перефразирование с сохранением смысла
simple Упрощение лексики и синтаксиса
complex Усложнение, обогащение лексики
formal Преобразование в официально-деловой стиль
casual Преобразование в разговорный стиль
translate Перевод Ru↔En через редактор

Установка

uv add 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.1.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.1-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file ya_editor-0.0.1.tar.gz.

File metadata

  • Download URL: ya_editor-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 004ced7b4190391de94977b90846cdd156f177a68183c1b8f338d5c0d422f582
MD5 9216d70b26d747a22a14080ded788e01
BLAKE2b-256 30b183f7e7c14f2448fd79f745dfd1547ed1b60e77e79eac9c65e38be367f889

See more details on using hashes here.

File details

Details for the file ya_editor-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: ya_editor-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d71ee4e9d56a4a83197981535389145a96cfb5a5be64235867b25afde79f4569
MD5 1c9d8a555c7a862aa6cabd4b9fda114d
BLAKE2b-256 e14af648b8cd106a895aeb0761faf773dba2f809b3cb68cb67d66db6f784f5ae

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