Skip to main content

An asynchronous wrapper in python for the https://dictionaryapi.dev API

Project description

asyncdictionary

MIT License PyPI version

An asynchronous Python wrapper for https://dictionaryapi.dev/


NOTE: Currently I have only implemented fetching words from English, not other languages. This is because the actual API's implementation of languages other than english is different. Support for different languages coming soon though.


Requirements

  • Python 3.6+
  • aiohttp

Features

  • Asynchronous
  • Typed
  • Full API coverage
  • Organized Responses

Installation


Available through PyPi (pip)

$ pip install asyncdictionary

Or through git.

$ pip install git+https://github.com/Ay-355/asyncdictionary

Note: if these don't work then try using prefixing them with either py -m or python -m

Documentation


As this isn't that big of a lib, the docs are a simple markdown file located here.

Issues


Any issues directly with the API should be reported at the API's repository page.

If there is anything wrong with this package, feel free to open up an issue and explain what happened.

Examples


An example to print out some information about a word

import asyncdictionary
import asyncio

# create an instance of the client
dictionary = asyncdictionary.Client()

async def word_info(word):
    word = await dictionary.get_word(word) # get a Word object
    print(f"Word: {word.word}")
    print(f"Phonetic text: {word.phonetics[0].text}")
    print(f"Part of Speech: {word.meanings[0].part_of_speech}")
    print(f"Definition: {word.meanings[0].definitions[0].definition}")
    print(f"Synonyms: {', '.join(word.meanings[0].definitions[0].synonyms)}")
    print(f"Example: {word.meanings[0].definitions[0].example}")

asyncio.run(word_info("hello"))

Links


License


MIT

Todo


  • Add dunder methods (__str__ & __repr__) to all dataclasses.

  • Use less dataclasses to make it simpler for end user.

  • Add support for non english languages.

    • Might require rewrite of classes to support missing attributes.
  • Add some more examples, preferably one in a discord bot.

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

asyncdictionary-1.2.3.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

asyncdictionary-1.2.3-py3-none-any.whl (7.1 kB view hashes)

Uploaded Python 3

Supported by

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