Pacage for translation of Russian-English words
Project description
SkyengDict: Асинхронная библиотека для работы с Dictionary API Skyeng
Описание
SkyengDict — это асинхронная библиотека на Python, предоставляющая доступ к API словаря Skyeng. Она позволяет искать слова, получать их значения и обрабатывать лингвистические данные, такие как части речи, переводы и произношения.
Установка
pip install skyengdict
Пример использования
import asyncio
from skyengdict import Dictionary
from skyengdict.types import Meaning, BriefMeaning
async def main():
tasks = []
async with Dictionary() as dictionary:
result_1 = await dictionary.words('любовь', pagesize=1)
for word in result_1:
print(f"{word.text} - {word.meanings[0].translation}")
result_2 = await dictionary.meaning(45)
for mean in result_2:
print(f"{mean.text} - {mean.translation}\n")
await asyncio.gather(*tasks)
if __name__ == '__main__':
asyncio.run(main())
Класс Dictionary
Параметры:
- logging: Логировать процесс получения данных. По умолчанию False
- rising: Возбуждать исключения, если не найдены слова (значения), либо возвращать пустой список. По умолчанию True
Основной класс для взаимодействия с API Skyeng Dictionary. Он предоставляет методы для поиска слов и получения их значений.
Методы:
-
words(word: str, page: int = 1, pagesize: int = 0) -> list[Word]
Выполняет поиск слов по заданному запросу.Параметры:
word: Слово для поиска (либо на английском, либо на русском).page: Номер страницы для пагинации.pagesize: Количество результатов на странице (если значение 0, то выводит результат всех найденых объектовWordв списке).
Возвращает:
- Список объектов
Word, представляющих найденные слова с краткими значениями.
-
meaning(ids: int | list[int], data: str = None) -> list[Meaning]
Получает подробную информацию о значениях слов по их идентификаторам.Параметры:
ids: Один идентификатор значения или список идентификаторов.data: Дата в формате строки.
Возвращает:
- Список объектов
Meaning, представляющих полную информацию о значениях.
Типы данных
Word
Представляет слово и связанные с ним краткие значения.
- Атрибуты:
id: Уникальный идентификатор слова.text: Слово в текстовом виде.meanings: Список объектовBriefMeaning, представляющих краткие значения слова.
BriefMeaning
Краткое описание значения слова.
- Атрибуты:
id: Уникальный идентификатор значения.part_of_speech_code: Часть речи, представляемая перечислениемPartOfSpeechCode.translation: Перевод текста.translation_note: Примечания к переводу.image_url: URL изображения.transcription: Фонетическая транскрипция в формате IPA.sound_url: ОбъектPronunciation, содержащий ссылку на произношение слова.text: Слово на английском.
Meaning
Подробное описание значения слова на английском.
- Атрибуты:
id: Уникальный идентификатор значения.word_id: Идентификатор слова, к которому относится значение.difficulty_level: Уровень сложности (от 1 до 6).part_of_speech_code: Часть речи для данного значения.prefix: Приставка или артикли (например, "to" или "the").text: Слово на английском.sound_url: ОбъектPronunciation, представляющий ссылку URL на произношение.transcription: Фонетическая транскрипция.properties: ОбъектProperties, содержащий грамматическую информацию.updated_at: Дата последнего обновления значения.mnemonics: Мнемоническая подсказка для значения.translation: Перевод текста значения.translation_note: Примечания к переводу (если есть).images_url: Список URL изображений.images_id: Список идентификаторов изображений.definition: Описание значения.definition_sound_url: Ссылка на произношение описания.examples: Список объектовExample, содержащих примеры использования.meanings_with_similar_translation: Список объектовMeaningWithSimilarTranslation, представляющих значения с похожими переводами.alternative_translations: Список объектовAlternativeTranslation, представляющих альтернативные переводы.
PartOfSpeechCode (Enum)
Перечисление, представляющее часть речи слова. Доступны следующие значения:
n: существительноеv: глаголj: прилагательноеr: наречиеprp: предлогprn: местоимениеcrd: количественное числительноеcjc: союзexc: междометиеdet: артикльabb: сокращениеx: частицаord: порядковое числительноеmd: модальный глаголph: фразаphi: идиома
Pronunciation
Возвращает URL-адрес на аудио-запись с определенным произношением.
- Методы:
male_1: Возвращает URL-адрес для мужского голоса.male_2: Возвращает URL-адрес для альтернативного мужского голоса.female_1: Возвращает URL-адрес для женского голоса.female_2: Возвращает URL-адрес для альтернативного женского голоса.
пример использования:
from skyengdict.type import Pronunciation
url = "https://vimbox-tts.skyeng.ru/api/v1/tts?text=Hello&lang=en&voice=male_2"
pronunciation = Pronunciation(url)
print(pronunciation.male_1)
Properties
Грамматические свойства слова.
- Атрибуты:
collocation: Указывает, является ли слово коллокацией.irregular: Указывает, является ли слово неправильным.past_tense: Прошедшая форма глагола (если применимо).past_participle: Причастие прошедшего времени (если применимо).transitivity: Переходность глагола (если применимо).phrasal_verb: Указывает, является ли слово фразовым глаголом.sound_url: ОбъектPronunciationдля звукового сопровождения.false_friends: Список ложных друзей (если есть).
Translation
Представляет перевод слова или фразы.
- Атрибуты:
text: Текст перевода.note: Примечания к переводу.
Example
Представляет пример использования слова.
- Атрибуты:
text: Пример предложения.sound_url: ОбъектPronunciationдля произношения примера.
Исключения (Exceptions)
Библиотека предоставляет следующие пользовательские исключения:
SkyConnectorError
Исключение, возникающее при отсутствии соединения с сервером.
from skyengdict.exceptions import SkyConnectorError
try:
async with Dictionary() as dictionary:
await dictionary.words("example")
except SkyConnectorError:
print("Ошибка соединения с сервером SkyEng.")
WordsNotFound
Исключение, возникающее, если слово не найдено.
from skyengdict.exceptions import WordsNotFound
try:
async with Dictionary() as dictionary:
word = await dictionary.words("nonexistentword0101010")
except WordsNotFound:
print("Слово не найдено.")
MeaningsNotFound
Исключение, возникающее, если значения слова не найдены.
from skyengdict.exceptions import MeaningsNotFound
try:
async with Dictionary() as dictionary:
meaning = await dictionary.meaning(1000)
except MeaningsNotFound:
print("Значения для слова не найдены.")
Предложения
Присоединяйтесь к обсуждению и развитию проекта. Буду рад вашим предложениям и пулреквестам. Мои другие текущие проекты читайте в моем Telegram-канале.
Лицензия
Эта библиотека лицензирована под лицензией MIT.
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
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 skyengdict-1.0.8.tar.gz.
File metadata
- Download URL: skyengdict-1.0.8.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c37658ab25df5bbc9b0aebf528d2e717ae48087b00eab2dbf63e742195f099c
|
|
| MD5 |
abbeda0780182db96bd5eed09321bed0
|
|
| BLAKE2b-256 |
c434ed0d415e688a1bb34f775b4b09ad3b1ae1349cf867d2441392a9baf45891
|
File details
Details for the file SkyengDict-1.0.8-py3-none-any.whl.
File metadata
- Download URL: SkyengDict-1.0.8-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac1e9d659a930c5331652b94a39e34bfa603d24f7e3608fb89f42a0672c743a6
|
|
| MD5 |
702fca2d394c832d3a93b8b85fe6e861
|
|
| BLAKE2b-256 |
687240e6c4b08033c4b4d2befc1147855df853d5595b2e42619dadc61505a358
|