Skip to main content

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

skyengdict-1.0.7.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

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

SkyengDict-1.0.7-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file skyengdict-1.0.7.tar.gz.

File metadata

  • Download URL: skyengdict-1.0.7.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.6

File hashes

Hashes for skyengdict-1.0.7.tar.gz
Algorithm Hash digest
SHA256 da6a3f6e9aa5b3196f1e095e44451e8bae4fb02f49208961153e91d94c8c041e
MD5 fdf9f571ae09afb0b1901d1aa8ce3381
BLAKE2b-256 c7e73fff56ec173173bb154210cf539810d7416eaa036c53e2b4031864e9fad9

See more details on using hashes here.

File details

Details for the file SkyengDict-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: SkyengDict-1.0.7-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

Hashes for SkyengDict-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0ece27ff9ea7a1ed61250a10a33af5c9c2b3013162e8b429ad55cfef9e9668c3
MD5 3cf2873e4e5aa83e3ffb0a3837eef613
BLAKE2b-256 5a02f7879bd9e290684bfaa7382e4537292c2b42f3e8884300e461cbb73f9866

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