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')
Metadata
Release files for ya-editor 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ya_editor-0.0.2.tar.gz | 14.4 kB | Without provenance | Details for ya_editor-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ya_editor-0.0.2-py3-none-any.whl | Python 3 | none | any | Details for ya_editor-0.0.2-py3-none-any.whl |
Total release size: 28.0 kB
Release files / ya_editor-0.0.2.tar.gz
| Download URL | ya_editor-0.0.2.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4a0ac3365303c95183d1bbd757b6ac42b1c54b7c27e664233ac95239dcfdec9
|
|
BLAKE2b-256 checksum How to use checksums |
945f1ead3c6d8a81ac49b3084978be518b5b087fe6477d41e7805dd0bd91bf50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / ya_editor-0.0.2-py3-none-any.whl
| Download URL | ya_editor-0.0.2-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
694fbb1367b9f9950cd9ba77fbfb0c5fed91f63ddfab5f303664b3e27fddde91
|
|
BLAKE2b-256 checksum How to use checksums |
12da3fbf14de4e4e9ff295e682fb7d0e97fcfb2c8bb2253104ca76ba3554a641
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for ya-editor 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.